Sie sind nicht angemeldet.

41

Sonntag, 3. April 2022, 19:34

Noch ein kritischer Bug

Leider habe ich heute noch einen kritischen Bug in der Version 0.7.21 entdeckt: Diesmal in der Library, welche für das Schreiben von GIF-Dateien zuständig ist. :cursing:

Demnach werden beim speichern zu jeder GIF-Datei ca. 2048 Bytes an Datenmüll angehangen. Das tückische daran ist, dass sich die GIF-Datei mit verschiedenen Programmen ohne Weiteres Öffnen lässt. Sie ist einfach nur zu groß und die letzte Blockgröße stimmt nicht (was von den meisten Programmen nicht so eng genommen wird).

Bitte die Datei "GEncLib" aus dem Archiv "GENCLIB.ZIP" nach "USERDATA\R-BASIC\LIBRARY\BIN" extrahieren und die dortige Datei mit selbem Namen überschreiben. Eine vorherige Sicherheitskopie macht natürlich Sinn.

GENCLIB.ZIP

Danach sollte der Fehler behoben sein. :S

Viele Grüße,
Mario

42

Sonntag, 3. April 2022, 21:07

Hallo Mario,
mit der aktuellen Lib liegt die Dateigröße der erzeugten GIFs jetzt auf ähnlichem Niveau, wie es auch andere Apps erzeugen. :)

Allerdings tritt bei mir ein Fehler auf, wenn ich ein vorhandenes GIF, das Transparenz enthält, lade, verändere und wieder als GIF speichere:

Wenn ich die Option "Transparenz per Pal.eintrag Nr. n" nicht auswähle, erhalte ich ein komplett zerschossenes Ergebnis (was vielleicht normal ist?).
Wenn ich die Option auswähle und Null als Wert stehen lasse, klappt es grundsätzlich, aber Farbe fehlt / ist vertauscht.

Ob das bei den vorherigen Versionen deiner App auch so war, kann ich jetzt nicht sagen. Aufgefallen war es mir da nicht.
Bernd

43

Montag, 4. April 2022, 21:02

Hallo Bernd,

Was du ansprichst ist ein mir bekanntes Problem, welches ich aber noch nicht 100% analysiert habe.
Es ist tatsächlich so, dass mit dem Laden eines GIFs neben der Transparenz-Ebene auch "die Farbe darunter" gesetzt werden muss. Dies scheint R-BASIC-intern aber scheinbar schief zu laufen: Entfernt man jetzt die Transparenz (in dem man ohne Transparenz speichert), so kommen in den verbleibenden Bereichen willkührlich bunte Pixel zusammen. Erwarten würde man hier allerdings den vormals als transparent gesetzten Paletteneintrag als Farbe.
Daraus resultiert, dass die Information, welcher Paletteneintrag der transparente ist, derzeit nach dem Öffnen nicht bekannt ist. Würde obiges Problem gelöst, würde sich unter jedem transparenten Pixel die gewünschte Informationen finden lassen. Damit würde ich dann den Speichern-Dialog automatisch befüllen und man könnte ohne Probleme Änderungen an transparenten GIFs vornehmen.

Aktuell musst du also sehr diszipliniert sein und immer per 'Speichern unter' unter Angabe des Paletteneintrags einer nicht verwendeten Farbe speichern. Ich nehme hier immer Farbe 255 - auch mit dem Nachteil, dass dann immer eine 256-Farben-Palette in der GIF gespeichert wird, auch wenn man deutlich weniger Farben verwendet.

Ich schaue mir das Problem aber nochmal etwas genauer an. Eventuell bekommt Rainer dann nochmal Post von mir. :D

Viele Grüße,
Mario

44

Montag, 11. Juli 2022, 22:40

Neue Version 0.8.1 veröffentlicht.

Siehe Update Eingangsbeitrag.

Man nähert sich der 1.0 ... 8o

Viele Grüße,
Mario

45

Dienstag, 26. Juli 2022, 21:15

Hallo Mario. Schön, dass du weiterhin an dem Projekt dran bist.

Ich habe mal versucht, ein neues Icon zu erstellen und es als GIF mit Transparenz zu speichern. Wie ich da konkret vorgehen muss, ist mir allerdings immer noch nicht wirklich klar. Ich hatte einige Fehlversuche und einige Abstürze...
Bernd

46

Mittwoch, 27. Juli 2022, 21:47

Hallo Bernd,

Abstürze sollte es eigentlich keine mehr geben. Es sei denn der Speicher ist etwas dünn. Falls diese reproduzierbar sind, bitte gern einmal Details zusenden.

Hier einmal das erstellen eines transparenten GIF-Icons aus dem Gedächtnis.

1. Datei > Neu

2. Bildgröße wählen und 8 Bit Farbtiefe

3. Radiergummi-Werkzeug auswählen
4. Rechter Mausklick > Fläche wird transparent

5. Mittels der verfügbaren Zeichenwerkzeuge kreativ sein

6. Datei > Speichern unter

7. Dateityp GIF wählen

8. Pfad wählen und Dateinamen eingeben

9. Paletteneintrag wählen, welcher als transparente Farbe genutzt wird (sollte keine der verwendeten Farben sein)
10. Abspeichern

11. Voilá

Bei Gelegenheit werde ich aber nochmal ein kleines bebilderten Tutorial dazu machen. Zu einer umfangreichen Hilfe-Datei fehlt mir aktuell die Zeit.

Mario

Thema bewerten