copyrect ile bir resmi iki parçaya ayırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

copyrect ile bir resmi iki parçaya ayırmak

Mesaj gönderen forumsad »

elimde 640x480 bir bmp resim var ve image1 içine açtım ben bu resmin ilk 320x480 lik bölümünü image2 içine (320-640)x480 kısmını ise image3 içine copyrect yapmak istiyorum

formdan bulduğum bir örnekte ilk bölümü alıyorum ama ikinci bölümü alamadım yardımcı olurmusunuz teşekkürler...

320x480 lik kısım

Kod: Tümünü seç


procedure TForm1.Button1Click(Sender: TObject);
const
CopyWidth = 320;
CopyHeight = 480;
var
w,h:integer;
begin

  w:=image1.Picture.Width div 320;
  h:=image1.Picture.Height div 240;
  Image2.Picture.Bitmap.Width := CopyWidth;
  Image2.Picture.Bitmap.Height := CopyHeight;
  Image2.Picture.Bitmap.Canvas.CopyRect(Rect(0, 0, CopyWidth, CopyHeight), Image1.Picture.Bitmap.Canvas, Rect(w, h, CopyWidth + w, CopyHeight + h));

end;

(320-640)x480 kısm

Kod: Tümünü seç


procedure TForm1.Button2Click(Sender: TObject);
const
CopyWidth = 320;
CopyHeight = 480;
var
w,h:integer;
begin

  w:=image1.Picture.Width div 320;
  h:=image1.Picture.Height div 240;
  Image3.Picture.Bitmap.Width := CopyWidth;
  Image3.Picture.Bitmap.Height := CopyHeight;
  Image3.Picture.Bitmap.Canvas.CopyRect(Rect(0, 0, CopyWidth, CopyHeight), Image1.Picture.Bitmap.Canvas, Rect(w, h, CopyWidth + w, CopyHeight + h));


end;
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: copyrect ile bir resmi iki parçaya ayırmak

Mesaj gönderen SimaWB »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var aRect: TRect;
begin
  aRect := Rect(0,0,320,480);
  Image2.AutoSize := False;
  Image2.Width := 320;
  Image2.Height := 480;
  Image2.Canvas.CopyRect(aRect, Image1.Canvas, aRect);

  Image3.AutoSize := False;
  Image3.Width := 320;
  Image3.Height := 480;
  Image3.Canvas.CopyRect(aRect, Image1.Canvas, Rect(320,0,640,480));
end;
There's no place like 127.0.0.1
Cevapla