Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
435 Beiträge
Delphi 10.3 Rio
|
Re: Bitmap32 auf ZielBitmap32 malen
30. Jul 2008, 12:16
Zitat von DeddyH:
Was heißt geht nich? Kommt nix oder an der falschen Stelle? Wird bei TBitmap32 Draw direkt aufgerufen oder über Canvas? Anbei mal ein Beispiel mit "normalen" Bitmaps (achte mal auf die Koordinaten beim Zeichnen auf Ziel):
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
var qb1, qb2, qb3, ziel: TBitmap;
begin
//Erzeugen und Zeichnen der 3 Quellbitmaps
qb1 := TBitmap.Create;
try
qb1.Width := 20;
qb1.Height := 40;
qb1.Canvas.Brush.Color := clRed;
qb1.Canvas.FillRect(Rect(0,0,20,40));
qb2 := TBitmap.Create;
try
qb2.Width := 20;
qb2.Height := 40;
qb2.Canvas.Brush.Color := clYellow;
qb2.Canvas.FillRect(Rect(0,0,20,40));
qb3 := TBitmap.Create;
try
qb3.Width := 20;
qb3.Height := 40;
qb3.Canvas.Brush.Color := clBlue;
qb3.Canvas.FillRect(Rect(0,0,20,40));
//Erzeugen und Zeichnen der Zielbitmap
ziel := TBitmap.Create;
try
ziel.Width := 60;
ziel.Height := 40;
//linke Quellbitmap
ziel.Canvas.Draw(0,0,qb1);
//mittlere Quellbitmap
ziel.Canvas.Draw(qb1.Width,0,qb2);
//rechte Quellbitmap
ziel.Canvas.Draw((qb1.Width + qb2.Width),0,qb3);
self.Canvas.Draw(10,10,ziel);
finally
ziel.Free;
end;
finally
qb3.Free;
end;
finally
qb2.Free;
end;
finally
qb1.Free;
end;
end;
Wird nur der mittlere Teil angezeigt wie gehabt. Wenn ich am Code rumschraub bezüglich der Koordinaten Left sagen wir +2 dann kommt links nen schwarzer Rand ohne Bitmap, rechts kommt nie was an...
|
|
Zitat
|