Entwickler-Ecke

Multimedia / Grafik - Bereich aus einer Bitmap-Grafik in eine neue Bitmap?


Ecthelion - Mi 01.01.03 22:10
Titel: Bereich aus einer Bitmap-Grafik in eine neue Bitmap?
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?


Anonymous - Mi 01.01.03 23:04

Was genau verstehst du nicht? In der Delphi-Hilfe steht ein sehr gutes Beispiel:

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?