Assign(GetFormImage()) yap?s? kullan?larak çekilen görüntü panoya yap??t?r?l?r. Peki bu ne demektir? Bu sayede çekti?iniz görüntüyü windows içindeki herhangi bir resim i?leme program?nda, direk program?n içindeki menüden (örnek düzen yap??t?r) yap??t?rabilir ve üzerinde çal??abilirsiniz." />

Programlama | Programlama Dilleri | C Programlama Dili |C++

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character


Çizim ??lemleri Kontrolleri Deaktif Yapma Form Görüntüsünü Alma

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu projemizde form üzerinde çizimler yapabilmemizi sa?layan Canvas fonksiyonlar? aç?klanm??t?r.

Canvas->Rectangle  fonksiyonu dört parametre almaktad?r. ?lk iki parametre çizimin ba?layaca?? pixel noktas?n?n x ve y koordinatlar?na denk gelmektedir. (Dikdörtgenin sol üst kö?esi) 

Üçüncü ve dördüncü parametre ise dikdörtgenin sa? alt kö?esinin koordinatlar?d?r. Bu sayede belirlenen noktalar ait dikdörtgen veya kare çizilir.

Canvas->MoveTo fonksiyonu cursorun konumland?rmak istedi?inizde kullan?l?r iki parametre almaktad?r. Bu iki parametre x ve y koordinatlar?na denk gelir.

Canvas->LineTo fonksiyonu cursorun bulundu?u noktadan sizin verece?iniz iki parametrenin( x ve y koordinatlar?na) bulundu?u pixele  bir do?ru çizer.

Canvas->Ellipse fonksiyonu dört parametre almaktadir. Bu k?s?mda belirlenen dört parametre ile olu?turulacak sanal dikdörtgenin içine te?et olacak bir elips veya daire çizer.

Buton1 yard?m?yla çizim i?lemleri gerçekle?tirilir. 

Buton2 ile form üzerinde bulunan bütün nesneler deaktif edilir. Form üzerinden kaç tane de?i?ken oldu?un ControlsCount ad?ndaki sistemde tan?ml? olan bir de?i?kende tutulur. Bu de?i?ken bir dizi mant??? gibi nesneleri tutar. Enabled özelli?ini kullanarak nesneleri deaktif edebiliriz.

Buton3 yard?m?yla ekran görüntüsü GetFormImage API'si kullan?larak C partition'unu içine "ekran.bmp" olarak kaydedilir.  Ayr?ca Clipboard()->Assign(GetFormImage()) yap?s? kullan?larak çekilen görüntü panoya yap??t?r?l?r. Peki bu ne demektir? Bu sayede çekti?iniz görüntüyü windows içindeki herhangi bir resim i?leme program?nda, direk program?n içindeki menüden (örnek düzen yap??t?r) yap??t?rabilir ve üzerinde çal??abilirsiniz.

Program?n Tamam?n? A?a??daki Linkten ?ndirebilirsiniz

Linki Görebilmeniz ?çin Üye Olman?z Gerekmektedir...

Üye Kay?t

Program Kodu:

Unit1.cpp

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. #include <vcl\Clipbrd.hpp>
  8. //---------------------------------------------------------------------------
  9. #pragma package(smart_init)
  10. #pragma resource "*.dfm"
  11. TForm1 *Form1;
  12. //---------------------------------------------------------------------------
  13. __fastcall TForm1::TForm1(TComponent* Owner)
  14.         : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18.  
  19. void __fastcall TForm1::Button1Click(TObject *Sender)
  20. {
  21. Canvas->Rectangle(20,30,50,60);
  22. Canvas->MoveTo(70,60);
  23. Canvas->LineTo(190,230);
  24. Canvas->Ellipse(200,50,300,100);
  25. Canvas->Pie(120,80,200,50,300,130,90,200);
  26. }
  27. //---------------------------------------------------------------------------
  28.  
  29. void __fastcall TForm1::Button2Click(TObject *Sender)
  30. {
  31. for(int i=0;i<ControlCount;i++)
  32. Controls[i]->Enabled=false;
  33. }
  34. //---------------------------------------------------------------------------
  35. void __fastcall TForm1::Button3Click(TObject *Sender)
  36. {
  37. GetFormImage()->SaveToFile("C:\\ekran.bmp");
  38. Clipboard()->Assign(GetFormImage());
  39. }
  40. //---------------------------------------------------------------------------
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazartesi, 03 Eylül 2012 15:53 )  
404 Not Found

404

Not Found

The resource requested could not be found on this server!


Proudly powered by LiteSpeed Web Server

Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.