Delphi - Wie beschneide ich eine Bitmap "an Ort und Stelle"?

8

Wenn ich eine TBitmap habe und ein beschnittenes Bild von dieser Bitmap erhalten möchte, kann ich den Cropping-Vorgang "an Ort und Stelle" durchführen? z.B. Wenn ich ein Bitmap 800x600 habe, wie kann ich es reduzieren (zuschneiden), so dass es das 600x400 Bild in der Mitte enthält, dh die resultierende TBitmap ist 600x400 und besteht aus dem Rechteck, das durch (100, 100) und (700 , 500) im Originalbild?

Muss ich über eine andere Bitmap gehen oder kann diese Operation innerhalb der ursprünglichen Bitmap ausgeführt werden?

    
rossmcm 07.02.2012, 20:38
quelle

2 Antworten

20

Sie können die Funktion BitBlt verwenden

probiere diesen Code.

%Vor%

und du kannst auf diese Weise

verwenden %Vor%

Wenn Sie dieselbe Bitmap verwenden möchten, versuchen Sie diese Version der Funktion

%Vor%

Und auf diese Weise verwenden

%Vor%     
RRUZ 07.02.2012, 20:52
quelle
4

Ich weiß, dass Sie Ihre akzeptierte Antwort bereits haben, aber da ich meine Version geschrieben habe (die VCL-Wrapper anstelle von GDI-Aufruf verwendet), poste ich sie hier, anstatt sie einfach wegzuwerfen.

%Vor%     
OnTheFly 07.02.2012 22:00
quelle

Tags und Links