Registriert seit: 10. Aug 2010
232 Beiträge
Delphi XE Professional
|
AW: GDI+ Halbtransparentes Image
4. Jan 2013, 15:15
Danke Bummi.
Ich habe es jetzt testweise nochmal auf EINEM Image gezeichnet und festgestellt, dass es beim repaint sehr flackert. Das war natürlich klar, wenn man die Bilder aus einer Datei läd, deshalb die Frage, wie kann ich am ressourcensparentsten und "ruckelfreisten" das transparente Bild zeichnen?
EDIT:
Das mit der Paintbox ist ne Top Sache! Das Problem ist jedoch, es flackert trotzdem noch (logischerweise).
Also die Frage ist noch offen...
Sieht folgendermaßen aus:
Delphi-Quellcode:
procedure zeichnen; //Es wird nurnoch der "Balken" drüber gezeichnet.
const
ColorMatrix: TGPColorMatrix = (
M: ((1.0, 0.0, 0.0, 0.0, 0.0),
(0.0, 1.0, 0.0, 0.0, 0.0),
(0.0, 0.0, 1.0, 0.0, 0.0),
(0.0, 0.0, 0.0, 0.8, 0.0),
(0.0, 0.0, 0.0, 0.0, 1.0)));
var
Graphics : IGPGraphics;
Balken : IGPBitmap;
Attr : IGPImageAttributes;
begin
Graphics := Form1.Paintbox1.ToGPGraphics;
Waagen := TGPBitmap.Create('Balken.jpg');
Attr := TGPImageAttributes.Create;
Attr.SetColorMatrix(ColorMatrix, ColorMatrixFlagsDefault, ColorAdjustTypeBitmap);
//Balken
Graphics.DrawImage(Balken,
TGPRect.Create(0, 0, Form1.Image1.Width, Balken.Height),
0, 0, Balken.Width, Balken.Height,
UnitPixel, Attr);
end;
Im OnPaint der PaintBox wird zeichnen; aufgerufen.
Zum Zeichnen wird PaintBox1.Repaint gestartet.
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
Geändert von Dunkelbunt27 ( 4. Jan 2013 um 15:34 Uhr)
|