Einzelnen Beitrag anzeigen

sportkeks

Registriert seit: 29. Apr 2009
73 Beiträge
 
#1

Programm Design mit TPNGObject

  Alt 29. Aug 2012, 15:05
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.

Geändert von sportkeks (29. Aug 2012 um 15:10 Uhr)
  Mit Zitat antworten Zitat