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++ - Çizim İşlemleri Kontrolleri Deaktif Yapma Form Görüntüsünü Alma

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

Anasayfa Programlama C++ Builder Çizim İşlemleri Kontrolleri Deaktif Yapma Form Görüntüsünü Alma


Ç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 )