Autor Beitrag
Ecthelion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 57



BeitragVerfasst: Mi 01.01.03 22:10 
Wenn ich aus einer vorhandenen BitMap einen Bereich in eine neue BitMap mit genau der Größe von diesem Bereich kopieren will, wie stell ich das an? Mit CopyRect? Wie genau?
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.01.03 23:04 
Was genau verstehst du nicht? In der Delphi-Hilfe steht ein sehr gutes Beispiel:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var
  Bitmap: TBitmap;
  MyRect, MyOther: TRect;
begin
  MyRect := Rect(10,10,100,100);
  MyOther := Rect(10,111,100, 201);
  Bitmap := TBitmap.Create;
  Bitmap.LoadFromFile('c:\windows\tartan.bmp');
  Form1.Canvas.BrushCopy(MyRect,Bitmap, MyRect, clBlack);
  Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
  Bitmap.Free;
end;


Gucken wir uns mal

Bmp1.Canvas.CopyRect(ZielRect, Bmp2.Canvas, QuellRect)

an:

Hier wird ein Teil der Bmp2.Canvas in Bmp1.Canvas kopiert. Der Bereich der aus der Bmp2 kopiert wird steht in dem Rect Bereich QuellRect. Dieser Bereich wird in den Bmp1 Bereich ZielRect kopiert. Sind die Rect-Bereiche unterschiedlich groß, so wird auch skaliert. Sind die Rect-Bereiche gleich groß, so wird nur kopiert.

Weitere Fragen?