LabVIEWForum.de - GIFs in PictRing

LabVIEWForum.de

Normale Version: GIFs in PictRing
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

The Jackal

<div align="left">Also, ich werde noch in die Klappse müssen, wenn ich mit den PictRing fertig bin...

Ich habe (zugegebenermassen mittlerweile recht viele) GIFs in verschieden PictRing eingebunden.
Problem ist, dass die GIFs syncorn laufen sollten (zT. die slebe Datei, nur in anderem Ring). Das geht einigermassen, wenn sich die Rings alle auf der selben Ebene befinden, aber auch so kommt es vor, dass GIFs hängen bleiben, kurz aussetzen, oder manchmal garnicht loslaufen sondern einfach bei einem Frame stehen bleiben. Ich muss (der grafischen Oberfläche wegen) machne GIFs auf unterschiedliche Ebenen setzten, und dann bleibt wieder etwas hängen.

Ausserdem kommt es vor, dass GIFs zwar schön wiederholt durchlaufen, wie sie es sollen, aber dabei immer den letzten Frame auslassen...

Hat mir irgendjemand Hilfe/Tips, wie ich die GIFs einbinden kann? Durch Dateiaufruf evtl.?
Gruß, Thomas
</div>
Mich würde mal interessieren wie dein FP aussieht. Ist bestimmt sehr bunt und schön.
Kansst du mal einen Screenshot posten?

Zum Theme kann ich leider nichts sagen.

Gruss

The Jackal

<div align="left">
Zitat:Mich würde mal interessieren wie dein FP aussieht. Ist bestimmt sehr bunt und schön.
Kansst du mal einen Screenshot posten?

Ja, bunt ist schon, ob schön -da will ich mal nicht mit unseren Designern diskutieren. Aber ich versuche es schlicht zu halten...soll ja auch einen Überblick geben und keine Disko...
Leider kann ich kein Screenshot hier reinsetzen, (ich glaube da wäre eine Hilfe auch leichter), weil sonst gewisse Rechte meinerseits zum Greifen kommen:(sorry!

Danke anyway!
Thomas</div>
Hi Thomas,

ich hatte einmal ein einzelndes Gif eingebunden.
Der letzte Frame blieb auch bei mir aus, weshalb ich einfach einen leeren dahinter gehängt habe.

Das die GIFs alle syncron laufen glaube ich nicht, das hängt doch letztlich mit Windows und LabVIEW zusammen.
Ich hatte wie gesagt nur ein GIF (Stoppuhr) die die Wartezeit anzeigen sollte. Als ich allerdings sah, das dadurch enorm Prozessorzeit beansprucht wurde (man sah es richtig im Task-Managerwann er den nächsten Frame geladen hat) habe ich es wieder verworfen.

Solltest du dennoch noch Fragen haben, schlage ich vor, du schreibst eine Oberfläche, die das selbe verhalten zeigt, wie dein Programm und stellst diese ein.
Damit bist du, was die Rechte angeht, denke ich auf der sicheren Seite.

Gruß
Oliver

The Jackal

<div align="left">Anbei mal eine vereinfachte Version, von dem, was ich gerade zusammenbaue.
Vieleicht wird mein Problem, bzw. mögliche Lösungen dadurch einfacher verständlich.

was ich nicht verstehe, ist, dass er die GIFs großartig laden muss, denn, die sind ja in das VI schon reinkopiert, müssen also nicht mehr wirklich geladen werden. Es wird lediglich mit jedem GIF mein VI größer. Ausserdem sind die GIFs max. 3k groß - und es läuft auf meinem Rechner gerade nichts anderes.

Danke euch allen für mitgrübeln!</div>

The Jackal

<div align="left">also, ich habe dann doch mal bei NI nachgefragt. Lösung: die "refresh-rate" des FrontPanels einstellen (siehe VI im ANhang), damit plottet LV dann immer nach dieser Zeit neu das Frontpanel, plottet also gleichzeitig die PictRing neu.
Hilft auch ganz gut - einziger Haken: die Refresh-Zeit sollte länger sein als die des GIF, sonst läuft das GIF nicht fertig, bis es wieder anfangen soll. Und man sollte möglichst die Zeit auf die GIFs abstimmen, sonst kommt er trotzdem in Verzug. Da musste ich mich an eine gute Zeit rantasten. Vereinfacht wird das ganze, wenn die verwendeten GIFs natürlich die selbe Länge haben, noch besser wird es, wenn die einzelnen Frames der GIFs identisch sind (innerhalb einem GIF, und somit dann auch die GIF zwischeneinander). Bei unterschiedlichen GIFs kann es sein, dass man es trotzdem nicht ganz trifft.

Achja, und man sollte schauen, dass man die PictRing möglichst alle auf eine Ebene setzt auf dem FrontPanel, weil LV die Ebenen nacheinander neu plottet. Daher: was syncron zueinander laufen soll, (muss) auf die selbe Ebene!

Gruß, Thomas</div>
Leider fehlt ein SubVI (Type-Def), so dass es nicht möglich ist, das VI auszuführen. Könntest Du das vielleicht noch posten? Dann kann ich mir das auch mal angucken. Das würde mich auch interessieren. Danke.

Gruß Markus

' schrieb:<div align="left">also, ich habe dann doch mal bei NI nachgefragt. Lösung: die "refresh-rate" des FrontPanels einstellen (siehe VI im ANhang), damit plottet LV dann immer nach dieser Zeit neu das Frontpanel, plottet also gleichzeitig die PictRing neu.
Hilft auch ganz gut - einziger Haken: die Refresh-Zeit sollte länger sein als die des GIF, sonst läuft das GIF nicht fertig, bis es wieder anfangen soll. Und man sollte möglichst die Zeit auf die GIFs abstimmen, sonst kommt er trotzdem in Verzug. Da musste ich mich an eine gute Zeit rantasten. Vereinfacht wird das ganze, wenn die verwendeten GIFs natürlich die selbe Länge haben, noch besser wird es, wenn die einzelnen Frames der GIFs identisch sind (innerhalb einem GIF, und somit dann auch die GIF zwischeneinander). Bei unterschiedlichen GIFs kann es sein, dass man es trotzdem nicht ganz trifft.

Achja, und man sollte schauen, dass man die PictRing möglichst alle auf eine Ebene setzt auf dem FrontPanel, weil LV die Ebenen nacheinander neu plottet. Daher: was syncron zueinander laufen soll, (muss) auf die selbe Ebene!

Gruß, Thomas</div>

The Jackal

' schrieb:Leider fehlt ein SubVI (Type-Def), so dass es nicht möglich ist, das VI auszuführen.

@Markus:
Komischerweise fehlt mir jetzt auch gif.ctr Das ging beim ersten ausführen bei mir porblemlos, jetzt gehts auch nihct mehr. Aber es funktioniert dennoch: lade das VI ohne die TypeDef und dann musst du für jedes PictRing disconnect TypeDef machen (siehe auch Fehlermeldung).
Referenz-URLs