Hallo Gemeinde,
Ich wende mich mal wieder Hilfesuchend an euch (nachdem Sufu nix gebracht hat) und hoffe das irgendein schlauer Mensch mir helfen kann.
Es geht um ein Programm dessen Design zur zeit komplett aus Tbitmaps besteht und gezeichnet wird, inkl. selbst gezeichneten Buttons etc.
Das funktioniert bis her auch echt gut nur möchte ich jetzt gerne auf TPNGObjects umsteigen da diese Transparenzen mit bringen und sich das Design so noch mehr verfeinern lässt.
Nun zu meinem Problem:
Wie kann ich ein TPNGObject (Performance sparend !!!!) auf ein anderes TNGObject zeichen ?
Ein einfaches:
png.Canvas.Draw(100,100,png2);
reicht leider nicht da hierbei die Transparenz nicht mit übertragen wird.
Überträgt man den Alphakanal pixel per pixel via
png.AlphaScanline(...
auf das andere Png, endet das ganze hochgerechnet auf alle zu zeichnenden Bilder in einem "Performalen"
Disaster!!!
png.Assign(png2);
ist deutlich schneller,überträgt auch den Alphakanal aber ich kann die größe nicht anpassen und schon gar nicht X und Y Koordinaten festlegen
Das ganze brauche ich um das Offpng zu zeichen(Png >drawto> Png mit X und Y und Resize) welches dann in onpaint() auf eine Paintbox gezeichnet wird.
Ich hoffe ihr konntet mir bis hier hin folgen.
Wenn jemand eine Idee hat ein Png Performance sparend auf ein anderes Png zu zeichen oder eine bessere Lösung zur Hand hat dann
bitte helft mir
Grüße
Der Keks
Ps. ich verwende Turbodelphi
Now we're taking a break to eat some cake.