Thema: AnimatePNG

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#104

AW: AnimatePNG

  Alt 28. Mär 2017, 13:53
Du benutzt gdipDrawImageRectRectI quasi genauso wie gdipDrawCachedBitmap nur dass du nicht 10 einzelne Bilder hast sondern 1 Bild aus dem du nur einen Ausschnitt zeichnest, den du darstellen willst.
Dafür gibts die src und dest Parameter. srcX/Y/Width/Height sind das Rechteck dass aus dem Bild mit den Einzelbildern ausgeschnitten wird und destX/Y/Width/Height ist das Rechteck in dem der ausgeschnittene Teil dargestellt werden soll. Also wahrscheinlich 0,0,Einzelbild.Width,Einzelbild.Height.

Oder hab ich was falsch verstanden?
ImageRectI
Delphi-Quellcode:
GDIP_DrawImageRectRectI(PngGraphics, PngImage, X, Y, w, h, w * integer
  (CurPngPlayInfo.PngFrame) - w, 0, w, h, 2, nil, False, nil);
gdipDrawCachedBitmap hat nur die Weite und die höhe.
Dieser Part ist besonders wichtig weil er das Bild im Bild von der Aktuellen Frame Position zeichnet.
Delphi-Quellcode:
w * integer
  (CurPngPlayInfo.PngFrame) - w
Ich möchte vom GDIP_DrawImageRectRectI weg und anstelle dessen gdipDrawCachedBitmap verwenden weil es 3x mal schneller ist.
Glaube aber das es so nicht umsetzbar ist.

gruss

Geändert von EWeiss (28. Mär 2017 um 13:56 Uhr)
  Mit Zitat antworten Zitat