Entwickler-Ecke
Sonstiges (Delphi) - Bitmap als Code
rn22 - Mo 22.01.07 16:48
Titel: Bitmap als Code
Hallo
Wenn ich ein TImage auf mein Formular bastle und ihm (zur Entwicklungszeit) ein Picture zuweise, wird dieses doch als Nummernfolge in der *.dfm-Datei gespeichert.
Kann ich in ähnlicher Weise diesen Code auch in meiner Unit einsetzten, um dem Image zur Laufzeit ein neues Picture zu geben, ohne aus einer Datei laden zu müssen?
also so etwa wie:
Image1.Picture.Bitmap:=09458730457304753097503945803948503845...
Grüße
Mischa
Narses - Mo 22.01.07 16:54
Moin!
Besser wäre es, wenn du das zusätzliche Bitmap entweder in einer ImageList ablegst (unter ein paar Voraussetzungen, z.B. muss die Größe gleich sein) oder in die Resouce packst. Zum Thema
RESOURCE gibt´s hier Threads genug. ;)
cu
Narses
rn22 - Mo 22.01.07 16:59
Joh, das kenn ich auch. Aber ich dachte, auf die beschriebene Art wärs am einfachsten.
jaenicke - Mo 22.01.07 17:09
Das ist auch am einfachsten hunderte Zeilen Code (je nach Größe der Bitmap...) einzufügen... :lol:
Wenn du sehen willst wie das geht, dann füg das Bild im OI ins Bild ein und klick dann mit rechts aufs Formular und sag Als Text anzeigen ;-).
Aber: Empfehlen tue ich es ganz und gar nicht!! Ich möchte dir aber diese Möglichkeit nicht vorenthalten.... ;-)
rn22 - Mo 22.01.07 17:13
bei mir gehts um zwei ganz kleine Bilder (20x20 oder so). In der erwähnten *.dfm-Datei sind das ca. vielleicht 10 Zeilen...
Chryzler - Mo 22.01.07 17:20
Das geht nicht so ohne weiteres. Du kannst den Text in der .dfm nicht als Quelltext schreiben. Z.B. Image1.Picture.Bitmap.Data ist als private deklariert, du hast darauf also keinen Zugriff.
rn22 - Mo 22.01.07 17:32
also gehts wohl nur als Resource...
Narses - Mo 22.01.07 17:38
Moin!
Nun, Möglichkeiten gibt´s viele, aber die Sinnhaftigkeit ist die vordergründige Frage... :)
Du könntest z.B. auch:
- ein TImage auf die Form legen, .Visible := FALSE; und dann dessen .Picture.Bitmap-Eigenschaft zuweisen
- Einen Stream aus dem Bitmap machen, diesen als Hexcode in den Quelltext einfügen und mit geeignetem Code und einem Memory-Stream dazu verwenden, das Bitmap per .LoadFromStream zu setzen
Gibt sicher noch mehr Möglichkeiten, aber ich würde die Resource nehmen. ;)
cu
Narses
Raffo - Mo 22.01.07 17:45
Du kannst ja auch zwei unsichtbare Images platzieren und die "picture.graphic" gegeneinander tauschen. Wenns eh nur zwei Bildchen sind ;)
rn22 - Mo 22.01.07 21:02
Ok - vielen Dank für eure Vorschläge
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!