Transparenntes Gif-Bild auf transparentes Fenster

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Swappy
Beiträge: 51
Registriert: 09.12.2004 22:56
Wohnort: Hamburg
Kontaktdaten:

Transparenntes Gif-Bild auf transparentes Fenster

Beitrag von Swappy »

Ich habe hier gesucht aber nichts brauchbares für mich gefudnen, darum hier meine frage:

Wie Stelle ich in einem Fenster ein animiertes Gif dar, sodas das Fenster nicht zusehen ist und das Gif-Bild transparent ist.
Man sol also lediglich die animation sehen...

wäre schön wenn mir jemand helfen könnte
Wer anderen eine Grube gräbt, hat Gold im Mund.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Purebasic kann leider keine GIFs darstellen, es kann ja nicht einmal die transparenz in PNGs unterstützen :-(

Einzig oft besprochene Lösung: GIFs in einem WebGadget darstellen, die eigentliche Darstellung wird dann vom IE übernommen.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@AND

das ist so nicht richtig.

PB kann animierte GIFs in mittels PlayMovie darstellen.

der ansatz, den Swappy verfolgt, ist allerdings ein total anderer.


@Swappy

ich schätze mal, du willst so etwas ähnliches wie den Word-Assistenten erstellen.
wie es genau funktioniert ist mir nicht bekannt, aber ich bin mir sicher, dass es kein GIF ist, sondern das von MS bevorzugte AVI.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Ich hab sowas in der Art mal mit der SkinWinLib aus PBOSL
gemacht. Das geht dann sogar mit Ton.

Dafür habe ich dann mehrere Skinwin-Bilder erstellt (dauert etwas)
und die dann in bestimmter Reihenfolge nacheinander mit Tonausgabe
per Hidewindow() und Resizewindow() dargestellt.

Finde dazu leider keinen funktionsfähigen Code mehr.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Wie wäre es dann für die Zukunft mit einem "UseGIFImageDecoder()" ?
Oder ist das irgendwie ein geschützes Dateiformat?
Bild
Benutzeravatar
Eric
Beiträge: 303
Registriert: 05.09.2004 09:50
Wohnort: Göttingen

Beitrag von Eric »

Laut Wikipedia sind die mit GIF verbundenen Patente inzwischen abgelaufen:
http://de.wikipedia.org/wiki/Gif#GIF_un ... ZW-Patente

Ein ganz anderes Problem dürfte sein, dass GIF-Bilder auch animiert sein können
und zur Darstellung wäre ein zusätzlicher Aufwand notwendig, wobei die
Frage, ob animierte Bilder überhaupt mit dem Image-System von PB
kompatibel sind, offen bleibt.
El_Choni_work: cant't you just spit the binary data to sqlite, as you would spit a hamster into a microwave oven?
* Fangles falls off the chair laughing
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ob animierte Bilder überhaupt mit dem Image-System von PB
> kompatibel sind, offen bleibt.

die animierten GIFs sind mit keinem Image-system kompatibel.
sie benötigen einen container, der grundsätzlich (auch) auf das darstellen von animationen eingerichtet ist.
das hätte seinen Platz also nicht in PB, sondern in einem Tool, das aus der Anim eine reihe einzelbilder machen kann. (und sowas gibts schon, AniMake z.b.)
ein "UseGIFImageDecoder()" währe nicht das große problem, im zweifel würde nur das erste bild einer animation ins image geladen.

das problem bei LoadAnimatedGIF() wäre, dass man eine vorher nicht bekannte anzahl an frames einladen will.
dazu kommt noch, dass bei vielen GIF-animationen in späteren frames nur teilbilder über den ersten frame gepinselt werden.
man könnte also praktisch ein extra GIF-Anim-Container entwerfen, wenn man das wollte,
und da gibt es bestimmt noch tausende wichtigere dinge, die auf Freds to-do-liste gehören.

nochmal ganz wichtig zum mitschreiben:
Animationen sind keine Images und umgekehrt!

diese frage taucht überall immer mal wieder auf. im c-evo-forum wurde auch schon vorgeschlagen, einfach animierte GIFs zu verwenden, um animationen ins prog einzubaun. aber meistens sind es Laien, die den unterschied nicht raffen, hier im programmiererforum sollte es eigentlich jeder begreifen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Kaeru Gaman hat geschrieben:@AND

das ist so nicht richtig.

PB kann animierte GIFs in mittels PlayMovie darstellen.
Und das sagst du erst jetzt? :o
Habe ich ja noch nie gehört... :?
Kann man das Movie auch auf ein Sprite rendern und dieses transparent mit DisplayTransparentSprite() darstellen? :?:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

ich denk ma schon...
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Kann man das Movie auch auf ein Sprite rendern und dieses transparent mit DisplayTransparentSprite() darstellen?

Yap, müsste auch nen demo-code bei den examples sein.
(oder war das irgendwo hier im forum? glaub examples)

allerdings ergibt sich fürn "billiges" GIF in nem Movie aufn Sprite rendern ein unverhältnismässiger performance-überhang. da wäre es besser, das Bild vorher in Frames zu splitten und diese konventionell als animiertes sprite zu implementieren.
die Movie-In-Sprite Lösung ist vor allem praktikabel, wenn du umfangreiche AVI animationen hast, die als Sprite-Anims einfach viel zu viel speicher verbraten würden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten