Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Kleines GIF Problem (https://www.delphipraxis.net/134048-kleines-gif-problem.html)

bobo220673 14. Mai 2009 23:54

Re: Kleines GIF Problem
 
Super:)

Wie kopiere ich denn dann den Bereich an die richtige Stelle im Bitmap? Hast du vieleicht ein Beispiel wie ich ein Gif umsetze ?

Medium 14. Mai 2009 23:59

Re: Kleines GIF Problem
 
Da TGIFSubImage das Frame sogar ganz komfortabel als TBitmap bereit stellt, kannst du es wie jedes andere einfach mittels TBitmap.Draw() in dein Zielbitmap zeichnen. Alternativ ginge auch BitBlt().

Edit: Die Klasse bietet sogar eine eigene Draw() Methode, so dass du nichtmal auf die Bitmap-Property zurückgreifen musst. Das Help-File ist echt spannend zu lesen :)

bobo220673 15. Mai 2009 01:56

Re: Kleines GIF Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also fast gut, aber irgendwas passt da immer noch nicht...

for x := 0 to Anzahl - 1 do
begin
sub:=GIF.Images[x];
bitmap.Canvas.Draw(sub.Left, sub.top,sub.Bitmap);
....

Medium 15. Mai 2009 10:38

Re: Kleines GIF Problem
 
In der Tat etwas kurios. Man könnte meinen, dass alle Sub-Frames die Änderung zum Frame 0 angeben, dem wiedersprechen aber die 2 Frames die nur die Augen beinhalten - diese würden mitten in der "Luft" landen, da der Smiley im Frame 0 an der Wand ist. Die selben Frames lassen die Vermutung, dass man alles rechts der Sub-Frames manuell schwarz zeichnen müsste auch nicht gelten (und es wäre eine recht blöde Sache, die wohl kaum einer in einen Standard nehmen würde :stupid:).
Schau mal nach ob TGIFSubImage nicht eine Property hat, die angeben könnte auf welches Frame es sich bezieht. Es muss scheinbar nicht zwangsweise immer das direkt vorhergehende sein, da die Klasse selbst schon eine Methode bietet Differenzframes zu frei gewählten anderen Frames zu erzeugen wie ich gestern beim Überfliegen gesehen habe.
Dann müsstest du jedes Frame rekursiv über seine Referenzframes zusammenstückeln (geht auch iterativ, aber wäre wohl ein typischer Fall für Rekursion).

bobo220673 15. Mai 2009 14:58

Re: Kleines GIF Problem
 
Also ich habe jetzt alles durch und nix will klappen :(

bobo220673 17. Mai 2009 22:42

Re: Kleines GIF Problem
 
Hat denn keiner bis jetzt so ein Problem gehabt, oder einen weg zu Lösung ? Ich fummel da jetzt schon Tagelang dran, aber egal was ich mache, immer das gleiche Problem :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz