Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild ohne zu zeichnen bearbeiten - geht nicht mit Canvas (https://www.delphipraxis.net/58053-bild-ohne-zu-zeichnen-bearbeiten-geht-nicht-mit-canvas.html)

gordon freeman 30. Nov 2005 17:26

Re: Bild ohne zu zeichnen bearbeiten - geht nicht mit Canvas
 
Zitat:

Zitat von Robert Marquart
Wenn du auf Image1.Canvas malst, dann malt das in Image1.Picture.Bitmap und gleich angezeigt.
a) Du brauchst eine zweite Bitmap.

MyBitmap := TBitmap.Create;
MyBitmap.Assign(Image1.Picture.Bitmap); // das kopiert das ganze Bild aus Image1

b) Nun sich mit den Methoden MyBitmap.Canvas vergnuegen. Das malt auf MyBitmap und ist unsichtbar.

c)
Image1.Picture.Bitmap.Assign(Image1.Picture.MyBitm ap); // das veraenderte Bild ins Image1 zurueckkopieren
MyBitmap.Free; // die jetzt nutzlose Objekt freigeben

Hab deinen Code jetzt mal 1:1 übernommen. In Image1 ist jetzt ein 20*20 Pixel großes komplett rotes Bitmap eingefügt. Warum wird es nach diesem COde nicht blau?

Delphi-Quellcode:
MyMyBitmap := TBitmap.Create;
MyBitmap.Assign(Image1.Picture.Bitmap); // das kopiert das ganze Bild aus Image1
MyBitmap.Canvas.Floodfill(2,2,clblue,fsborder); // <- Das Funktioniert irgendwie wohl nicht.
Image1.Picture.Bitmap.Assign(MyBitmap); // das veraenderte Bild ins Image1 zurueckkopieren
MyBitmap.Free; // die jetzt nutzlose Objekt freigeben
Danke für die Hilfe soweit!!! :thumb: :dp:

Robert Marquardt 1. Dez 2005 04:55

Re: Bild ohne zu zeichnen bearbeiten - geht nicht mit Canvas
 
Keine Ahnung. Floodfill ist recht ungebraeuchlich und wenig effizient.
Setz doch einfach die Farbe von Pen und Brush gleich und male mit FillRect


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz