Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Hintergrundbild auf TBitmap während Laufzeit resizen
20. Dez 2011, 20:51
Einmal ein TBitmap oder ähnliches erzeugen, intial einmalig die Datei laden, ab dann aus dem Bitmap arbeiten.
Das Neuzeichnen musst Du in beiden Fällen durchführen, einmal in Deinem Image, welches dann von der Komponente für Dich neu gemalt wird (wobei Du hier ja auch das Problem hast jedes mal das Hintergrundbild neu malen zu müssen, was allemal schneller ist als es jedes mal von der Platte zu laden).
Denkbar wäre auch ein TImage als Hintergundbild und eine Paintbox drüberlegen (wobei D7 wenn ich mich recht entsinne Center/Stretch/Proportional noch nicht kennt), da diese "transparent" ist sie überall "durchsichtig" wo Du nichts tust. Technisch passiert intern aber auch nichts anderes als dass die TImagekomponente das intern gespeicherte Bitmap in "ihrer Paintbox" neu malt und Du in Deiner Paintbox die Zeiger neu malst. Du könntest das Bild auch statt aus einer Datei aus eine Imagelist entnehmen.
Du kannst auch glich den ganzen Schritt machen und eine Komponente schreiben, abgeleitet von TGraphiccontrol mit Properties für Bitmap integriertem Timer, ein paar Einstellungen für das Aussehen etc.
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|