Entwickler-Ecke

Multimedia / Grafik - Resize des Bitmaps und danach auf Paintbox


Regan - Sa 10.05.08 14:56
Titel: Resize des Bitmaps und danach auf Paintbox
Moin,
ich habe ein Bitmap (myPic). Auf das male ich alles mögliche. Danach setzte ich das ganze auf eine Paintbox. Jetzt kommt das Problem: wenn ich die Größe der Form ändere, dann ändert sich natürlich auch die Größe der Paintbox(pbStats), aber nicht die Größe des Bildes. Es wird irgendwie wieder gelöscht und ist nicht mehr da. Ich habe schon versucht, das Bitmpa in der Größe zu verändern, allerdings hilft dieser Code nicht:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TStatistikform.FormResize(Sender: TObject);
begin    
  StretchBlt(myPic.Canvas.Handle,0,0,pbStats.Width,pbStats.Height,myPic.Canvas.Handle,0,0,myPic.Width,myPic.Height,SRCCOPY);
  pbStats.Canvas.Draw(0,0,myPic);
end;

Gibt es irgendeine andere Möglichkeit, die Größe des Bitmaps oder des Bildes in der Paintbox zu ändern?

MfG
Regan


Lannes - Sa 10.05.08 20:03

Hallo,

zeichne direkt von Deinem OffScreenBitmap mit StretchBlt auf Deine PaintBox, und das im Ereignis OnPaint der Paintbox.
Erweiterst Du die Zeichnung, musst Du jeweils mit PaintBox.Repaint ein Neuzeichnen auslösen.


Regan - Sa 10.05.08 20:20

Cool. Das funktioniert sehr gut. Danke für deine Hilfe :zustimm: .