Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Auf Canvas zeichnen, wenn PNG

  Alt 8. Mai 2011, 14:24
Hallo Gemeinde,
ich habe mit (Delphi XE) myImage.Picture.LoadFromFile('Grafik.PNG') ein PNG-File geladen und versuche nun auf das gleiche Canvas ein myImage.Canvas.Rectangle(myRect) aber da bekomme ich einen Fehler:
EInvalidOpeartion: Ein Bild kann nur geändert werden, wenn es ein Bitmap enthält.

Klar ein PNG ist kein Bitmap, aber kann ich dann garnicht auf das Canvas zeichnen?
Muß das Ding irgendwie konvertiert werden (das veränderte PNG würde ich aber anschließend wieder gern als PNG speichern)?

Die Delphi-Hilfe sagt folgendes zu TPngImage:
Delphi-Quellcode:
procedure Draw(ACanvas: TCanvas; const Rect: TRect);
Draws the png image on a canvas.

Call Draw to draw the png image on a canvas. Draw considers transparency options when drawing the image, but ignores pixel information.
Aber ich verstehe den Hinweis auf TPngImage nicht -- Auf der Form habe ich ja nur das TImage, und dort habe ich das PNG-File mit LoadFromFile geladen.

Hat jemand wohl eine Idee, wie aich auf das Canvas des TImage malen kann, wenn es zuvor ein PNG geladen hat?

Vielen Dank im voraus
Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat