Image nesnesi içerisine dikdörtgen

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Image nesnesi içerisine dikdörtgen

Mesaj gönderen barisatalay »

Merhabalar,

Yapmaya çalıştığım şeyi bu formda ve başka yerlerde (Windows) üzerinde bir çok kez yapılmış fakat bunu android üzerinde pek beceremedim.

Bir resim düşünün resimin en üstüne bir dikdörtgen çizicem ve içerisine yazı yazıcam işlem bitince bunu cihazın localine kayıt etmeye calısacam.

İlk önce bu işlemi standart componentler ile yapıp ekranın sadece istediğim yerin resmini çektim fakat yazının oldugu yerlede çok kötü bozulmalar olmaya başladı.

"Canvas" ile çizdirmeye çalışıyorum fakat bir türlü ekrana dikdörtgeni çizdiremedim.

Kod: Tümünü seç

var
  MyBitmap: TBitmap;
  MyRect: TRectF;
begin
  MyBitmap := TBitmap.Create(0, 0);
  try
    MyRect.Create(50, 50, 50, 50);
    MyBitmap.Assign(Image1.Bitmap);
    with MyBitmap.Canvas do
    begin
      BeginScene;
      Stroke.Kind := TBrushKind.bkSolid;
      Fill.Color := TColorRec.Red;
      Stroke.Color := TColorRec.Lime;
      StrokeThickness := 1;
      DrawRect(MyRect, 0, 0, AllCorners, 1.0);
      EndScene
    end;
    Image1.Bitmap := MyBitmap;
  finally
    MyBitmap.Free;
  end;
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: Image nesnesi içerisine dikdörtgen

Mesaj gönderen barisatalay »

Aşağıdaki kodu kullanarak Firemonkey'de resim üzerine yazdırma işlemini gerçekleştirdim.

Kod: Tümünü seç

var
  MyRect: TRectF;
begin
  MyRect := TRectF.Create(0,Image1.Bitmap.Height - 200, Image1.Bitmap.Width, Image1.Bitmap.Height);
  Image1.Bitmap.Canvas.BeginScene;
  Image1.Bitmap.Canvas.Fill.Color := TAlphaColorRec.Red;
  Image1.Bitmap.Canvas.FillRect(MyRect, 0, 0, [], 1);
  Image1.Bitmap.Canvas.EndScene;
Cevapla