Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Neuzeichnen eines Bitmaps (https://www.delphipraxis.net/134239-neuzeichnen-eines-bitmaps.html)

Chris P 18. Mai 2009 11:11


Neuzeichnen eines Bitmaps
 
Hallo zusammen,

ich suche eine passende Komponente, um eine Bitmapdatei
zu laden und anschließend auf dieser Bitmap zu zeichnen.

Habe mich für die Paintbox entschieden.

Nun ist das Problem, dass ich das Bitmap statisch
festlegen möchte, d.h. über den OI und nicht dynamisch
über LoadFromFile laden möchte.

Bei jedem erneuten Zeichnen auf die Paintbox soll das Hintergrundbitmap
neugezeichnet werden ...

Wie würdet ihr das am Besten umsetzten?

Danke!


Gruß
Christian

Klaus01 18. Mai 2009 11:15

Re: Neuzeichnen eines Bitmaps
 
Zitat:

Zitat von Chris P
Bei jedem erneuten Zeichnen auf die Paintbox soll das Hintergrundbitmap
neugezeichnet werden ...

.. was meinst Du denn mit der Aussage?

Du könntest Dir in dem Zusammenhang einmal die ImageList
ansehen. Von dort kannst Du bei Programmstart das Bild in
in die Paintbox laden.

Grüße
Klaus

Chris P 18. Mai 2009 11:20

Re: Neuzeichnen eines Bitmaps
 
Hallo Klaus,

also ich meine damit das die Paintbox ein Hintergrundbild gesetzt bekommt
und dann in die Paintbox gezeichnet wird.

Beim Aktualisieren der Paintbox soll eben wieder das Hintergrundbild
neu geladen werden da dieses ja übermalt wurde.


Besten Dank für deine schnelle Antwort.

mkinzler 18. Mai 2009 11:22

Re: Neuzeichnen eines Bitmaps
 
Einfach diese Aktion zuerst in .Paint() ausführen

Chris P 18. Mai 2009 12:26

Re: Neuzeichnen eines Bitmaps
 
Hmmm,

komisch ist jetzt wenn ich versuche der TImageList eine Bitmapdatei hinzuzufügen.
Beim Kompilieren stürzt Delphi komplett ab.

Die Bitmap hat die Abmessung 300x200 und eine Größe von 175kb.

Muss ich bestimmte Eigenschaften der TImageList setzen?

Klaus01 18. Mai 2009 13:07

Re: Neuzeichnen eines Bitmaps
 
Hallo,

Größeneinschränkungen sind mir nicht bekannt.

Wenn sich Delphi verabschiedet bekommst Du dann eine oder mehrer Fehlermeldungen?

Grüße
Klaus

Chris P 18. Mai 2009 13:24

Re: Neuzeichnen eines Bitmaps
 
Hallo,

ich habe gerade im Internet gelesen, dass die Breite der Images in der Liste
kleiner gleich 255 Pixel sein müssen. Warum auch immer?!

Stell ich diese Breite ein, kompiliert Delphi ohne Probleme.

Es kommt keine Fehlermeldung, Delphi hängt sich auf und kann
nur mit dem Taskmanager beendet werden.

Bernhard Geyer 19. Mai 2009 08:06

Re: Neuzeichnen eines Bitmaps
 
ImageListen sind mir vorsicht zu geniesen da die Speicherung teilweise von der Windows-Version abhängig ist auf der die Exe kompiliert wird/Images hinzugefügt werden (comctl32.dll-Abhängigkeit). Auch hatte ich schon Deadlocks wenn auf Rechnern mit kleinerer Farbtiefe gearbeitet wurde :-(

Ich würde mich nach alternativen Implementierungen umsehen welche nicht so Windows-Versions-gebunden sind. Im Elpack gibt es eine Imagelist welche diese Abhängigkeit nicht hat. Auch gibt es dort eine Imagelist basierend auf PNG's welche neben der kleineren größe (ok, hat die "normale" Elpack Imageliste auch) auch Transparenz auf Controls damit unterstützt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.

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