Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
19.02.2026, 13:43
(Dieser Beitrag wurde zuletzt bearbeitet: 19.02.2026, 13:47 von Manfred Aabye.)
OSSL2Gif Version 2.0.8
Version 2.0.5: Type Hints zu den wichtigsten Funktionen hinzugefügt.
Version 2.0.6: Custom Exceptions - sehr hilfreich für bessere Fehlerbehandlung hinzugefügt.
Version 2.0.7: Randlos funktioniert nicht immer. Es sollte den Rand auf der rechten Seite und den unteren Rand die Transparente oder Einfarbig sein können entfernen, indem die Textur entsprechende Pixel nach rechts und unten über den Rand hinaus skaliert so das sie nach dem Speichern eliminiert sind.
Version 2.0.8: Randlos ist jetzt anders gelöst und alle borderless Funktionen wurden entfernt.
Vorschau: ~66% schneller (keine Skalierung!)
Speichern: Gleichbleibend (Skalierung nur einmal beim Speichern)
Qualität: Identisch (Vorschau zeigt Arbeitsbild, Datei erhält volle Auflösung)
Download Github
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
19.02.2026, 22:00
(Dieser Beitrag wurde zuletzt bearbeitet: 19.02.2026, 22:19 von Manfred Aabye.)
OSSL2Gif Version 2.0.12
Einfache GIF-zu-Textur-Umwandlung.
Mit OSSL2Gif kannst du animierte GIFs einfach in Texturen für Second Life, OpenSim und andere umwandeln – ganz ohne Programmierkenntnisse!
GUI überarbeitet.
Sprachen hinzugefügt: uk, ja , zh
Optimierte Bildaufteilung.
Download Github
Schriftbereich war zu klein Version 2.0.12 Bugfix bitte noch einmal herunterladen.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
20.02.2026, 18:52
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2026, 18:56 von Manfred Aabye.)
OSSL2Gif Version 2.0.14
Einfache GIF-zu-Textur-Umwandlung.
Mit OSSL2Gif kannst du animierte GIFs einfach in Texturen für Second Life, OpenSim und andere umwandeln – ganz ohne Programmierkenntnisse!
Fehlende Symbole in den Gruppen/Überschriften ergänzt (GIF/Textur‑Vorschau, GIF/Textur‑Einstellungen, Datei, Status) und sprachabhängig beibehalten.
Hintergrund/Transparenz komplett neu und konsistent implementiert (zentralisierte Logik, klare Prozent‑Semantik, robustes Config‑Handling, Reset‑Verhalten, Vorschau‑Steuerung).
Debounce für den Transparenz‑Slider eingebaut, damit die GUI beim Ziehen ruhig bleibt.
Bildgrößen‑Schnellwahl wiederhergestellt: freie Werte möglich, Presets in 256er‑Schritten bis 2048, inkl. Config‑Sync und Reset.
Pylance‑Warnung für size_preset_var behoben.
Vorschau‑Regeln angepasst: Reset ohne GIF/Textur lässt Vorschauen leer, Sprachwechsel rendert nicht neu.
Download Github
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
21.02.2026, 12:28
(Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2026, 12:31 von Manfred Aabye.)
OSSL2Gif Version 2.0.15
Einfache GIF-zu-Textur-Umwandlung.
Mit OSSL2Gif kannst du animierte GIFs einfach in Texturen für Second Life, OpenSim und andere umwandeln – ganz ohne Programmierkenntnisse!
GIF lässt sich nun aus der Zwischenablage mit STRG + V in das Programm kopieren.
Es funktioniert auch mit Grafikadressen und dann mit STRG + V in das Programm kopieren. (Rechte Maustaste im Browser dann "Grafikadresse kopieren")
GIF jetzt auch über "drag and drop" möglich.
Download Github
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
OSSL2Gif Version 2.1.1
Jetzt komplett individualisierbar.
Einfache GIF-zu-Textur-Umwandlung.
Mit OSSL2Gif kannst du animierte GIFs einfach in Texturen für Second Life, OpenSim und andere umwandeln – ganz ohne Programmierkenntnisse!
Textur‑Laden eingeführt/überarbeitet: eigener Ladepfad, Statuszeilen‑Feedback statt Popups, GIFs aus dem Textur‑Dialog entfernt, Trennung von gif_frames und Textur‑Quelle (u. a. in file_ops.py und image_processing.py).
Textur‑Preview/Animation: neue SL/OpenSim‑Vorschau implementiert und später so angepasst, dass Textur‑Laden die GIF‑Animation nicht mehr überschreibt (texture_preview.py, image_processing.py, file_ops.py).
GUI/UX: Menüpunkt + Button für „Textur laden“, Klick auf Textur‑Preview lädt Textur, Language‑Update für Button, Whitespaces normalisiert (Emoji‑Spacing fix) (gui_layout.py, main.py).
Konfiguration/Start: manuelles Speichern, frühzeitiges Config‑Laden, Fenster‑Geometrie, Gruppen‑Sichtbarkeit, Drag&Drop, Dark‑Mode/DPI‑Awareness; zusätzliche Config‑Schema‑Aliasen (main.py, config.py, config_manager.py, start.py).
Übersetzungen erweitert (neue Keys, Menüs, Tooltips, Shortcuts) in allen Sprachen (translations.py).
Background‑Transparenz‑Handling konsolidiert und debounced (events.py).
requirements erweitert um tkinterdnd2 (requirements.txt).
Lokale config.json wurde gelöscht.
Download Github
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
Beiträge: 459
Themen: 18
Thanks Received: 297 in 154 posts
Thanks Given: 1.035
Registriert seit: Sep 2017
Es wird noch etwas dauern bis ich hier etwas für Linux beitragen kann. Ich hatte am Wochenende ein anderes Problem, das mich beschäftigt hat.
Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
Gestern, 16:41
(Dieser Beitrag wurde zuletzt bearbeitet: Gestern, 16:47 von Manfred Aabye.)
OSSL2Gif Version 2.1.1
Das Erstellen des Programmes unter Windows, Linux und Mac Test auf Github Servern.
Die ZIP Version OSSL2Gif_2.1.1.zip ist auf meinem Computer unter Windows 11 erstellt.
Download Github
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
Beiträge: 10.112
Themen: 634
Thanks Received: 8.895 in 2.927 posts
Thanks Given: 4.498
Registriert seit: Jul 2010
Danke, großartige Arbeit, Manni.
Beiträge: 459
Themen: 18
Thanks Received: 297 in 154 posts
Thanks Given: 1.035
Registriert seit: Sep 2017
Gestern, 20:50
(Dieser Beitrag wurde zuletzt bearbeitet: Gestern, 22:28 von Pius Noel.
Bearbeitungsgrund: War unvollständig, d.h. versehentlich viel zu früh abgeschickt
)
Ich bin nicht sicher ob du das unter Windows für Linux und Mac erstellen kannst. Im PyInsteller Manual steht: "PyInstaller is tested against Windows, macOS, and Linux. However, it is not a cross-compiler; to make a Windows app you run PyInstaller on Windows, and to make a Linux app you run it on Linux, etc". Wenn du es unter WSL (Windows Subsystem for Linux) bildest, dann denke ich, würde es für Linux auch gehen.
Nehme ich unter meinem Ubuntu 24.04 die OSSL2Gif aus deinem linux-x64.zip von heute und starte es mit ./OSSL2Gif dann bekomme ich einen lange Fehlerausgabe (siehe unten). Das Problem damit ist, dass dem PyInstaller eine Konfiguration mit dem Pfad zum PIL Modul fehlt. Es gibt mehrere Möglichkeiten das zu lösen.
Die einfachste Lösung, finde ich, besteht darin pyinstaller mit dem Argument -- add-data den Pfad auf das PIL Package mitzugeben. Das sieht dann so aus:
Code: pyinstaller --noconfirm --onefile --name OSSL2Gif start.py --add-data .venv/lib/python3.13/site-packages/PIL/:PIL
Das hat allerdings einen kleinen Hacken. Der Pfad enthält die installierte Python-Version. Das heisst sie müsste in deinem Script immer auf die gerade installierte Python-Version angepasst werden. das könnte man ohne viel Aufwand aber im Script automatisieren.
Vielleicht ist dir aufgefallen, dass das bei meinem pyinstaller Befehl die Argumente --windowed und --icon fehlen. Die würden zwar weiter nicht stören, aber es braucht sie auch nicht, da sie von pyinstaller für Linux ignoriert werden.
Unter Debian-basierenden Linux'en ist die Python-Version vorgegeben, wenn man sie mit dem Paketmanager installert. Unter Debian 13 (Trixie) ist es auch die von dir benutzte Version. Unter älteren System aber nicht. Das heisst, dass es mir z.B. auf meinem Ubuntu 24.04 nicht möglich ist den Build fehlerfrei durchlaufen zu lassen, weil die von dir festgelegten Abhängigkeiten mit meiner Python-Version 3.12.3 nicht abgedeckt werden können.
Unter Debian 13 (Trixie) werden für den Build folgende Pakete benötigt:
python3-venv: installiert Python 3 mit venv.
python3-tk: installiert tkinter
libpython3.13: wird von den verschiedenen Paketen benötigt
binutils: wird von pyinstaller benötigt um die Binaries zu erstellen.
Ich habe zur vereinfachten Installation ein Script erstellt. das man im Hauptverzeichnis des Github Repo einsetzen und von dort aus verwenden kann. Das Script installiert die oben erwähnten Pakete, erstellt die venv-Umgebung im Verzeichnis .venv und lädt mit pip alle Abhängigkeiten. Es enthält kein Abfangen von Fehlern und ist zur einmaligen Ausführung gedacht. Das Script berücksichtigt zukünftige Versionen. d.h. sie sind nicht in den Scripten hart-codiert. Im Fall von Fehlern kann man einfach die Verzeichnisse .venv, build und dist löschen.
linux_prepare.sh
Code: #!/bin/bash
#
# linux_prepare.sh
#
# Installiert alle zum Erstellen der Anwendung OSSL2Gifv2 erforderlichen Linux-Packages
#
# Sicherstellen, dass wir uns im aktuellen Verzeichnis befinden
if [ ! -f ./Py_build_linux.sh ]; then
Echo "Starten sie Py_build_linux.sh aus dem Wurzelverzeichnis des Projekts, wo es sich befindet." ];
Echo "Wechseln sie mit 'cd' in das entsprechende Verzeichnis und starten sie mit './Py_build_linux.sh'";
exit -1
fi
# Wir benötigen eine Basis-Installation von Python 3 mit venv, tk und binutils für pyinstaller
sudo apt install -y python3-venv python3-tk binutils
# Wir benötigen weiter die zur aktuellen Python-Version passenden Python-Bibliotheken.
# Dafür extrahieren vom die ersten zwei Stellen der Python-Versionsnummer.
PV=$(python3 -c "import sys; sa=[str(sys.version_info.major),str(sys.version_info.minor)]; print('.'.join(sa))")
sudo apt install -y libpython$PV
# Falls im aktuellen Verzeichnis nicht vorhanden, richten wir die virtuelle Umgebung ein
if [ ! -d .venv ]; then
python3 -m venv .venv
fi
# Virtuelle Umgebung aktivieren (falls vorhanden)
if [ -f .venv/bin/activate ]; then
source .venv/bin/activate
fi
# Jetzt können wir die Abhängigkeiten laden
pip install -r requirements.txt
# Fertig!
echo "Es ist jetzt alles bereit, sie können das Build-Programm mit './Py_build_linux.sh' starten."
exit 0
Für das bestehende Script Py_build_linux.sh habe ich folgenden Änderungsvorschlag:
Py_build_linux.sh
Code: #!/bin/bash
# Erstellt eine eigenständige ELF aus PyOSSL2Gif/start.py mit allen Abhängigkeiten
# Voraussetzung: Python, pip und pyinstaller müssen installiert sein
# Virtuelle Umgebung aktivieren (falls vorhanden)
if [ -f .venv/bin/activate ]; then
source .venv/bin/activate
fi
# PyInstaller installieren, falls nicht vorhanden
if ! python3 -m pip show pyinstaller > /dev/null 2>&1; then
python3 -m pip install pyinstaller
fi
# Erste zwei Stellen der Python-Versionsnummer für PIL-Pfad extrahieren.
PV=$(python3 -c "import sys; sa=[str(sys.version_info.major),str(sys.version_info.minor)]; print('.'.join(sa))")
sudo apt install -y libpython$PV
# ELF bauen (onefile, ohne Konsole, Icon optional)
# pyinstaller --noconfirm --onefile --windowed --name OSSL2Gif PyOSSL2Gif/start.py
# pyinstaller --noconfirm --onefile --windowed --name OSSL2Gif --icon=icon.ico PyOSSL2Gif/start.py
# pyinstaller --noconfirm --onefile --windowed --name OSSL2Gif --icon=icon.ico start.py
pyinstaller --noconfirm --onefile --name OSSL2Gif start.py --add-data .venv/lib/python$PV/site-packages/PIL/:PIL
# Icon ins dist-Ordner kopieren (optional)
if [ -f icon.ico ]; then
cp -f icon.ico dist/icon.ico
fi
# Hinweis für den Nutzer
if [ -f dist/OSSL2Gif ]; then
echo
echo "Fertig! Die ELF befindet sich in dist/OSSL2Gif"
[ -f dist/icon.ico ] && echo "Icon wurde nach dist kopiert."
else
echo "Fehler beim Erstellen der ELF!"
fi
Ich habe die beiden Scripte in einem frisch erstellten LXD/LXC Container mit Debian 13 (Trixie) durchlaufen lassen. Alles was ich nach dem ersten Login installiert habe war Git um das Archiv zu klonen und einen Editor (ich nutze normalerweise vim, nicht nano).
- Login
- sudo apt install git nano
- git clone https://github.com/ManfredAabye/OSSL2Gifv2.git
- cd OSSL2Gifv2
- nano linux_prepare.sh # Datei neu erstellt und bearbeitet
- chmod u+x linux_prepare.sh # Berechtigung zum Ausführen gesetzt
- nano Py_build_linux.sh # Bestehende Datei bearbeitet
- ./ # Datei neu erstellt und bearbeitet
- chmod u+x linux_prepare.sh # Berechtigung zum Ausführen gesetzt
- nano Py_build_linux.sh # Bestehende Datei bearbeitet
- ./linux_prepare.sh # Gestartet und gewartet bis alles Installiert war
- Py_build_linux.sh # Gestartet... dauert nict lange
Danach habe ich die Datei dist/OSSL2Gif in das Home Verzechnis meines Desktop Ubuntu kopiert und von dort aus einem Terminalfenster ./OSSLGif gestartet. Es dauerte einen Moment und es hat geklappt!
Der Nuzuung des Tools unter Linux steht nichts mehr im Wege. Ich bin gerne behilflich, falls es weitere Unterstützung braucht.
Pius /
Nachtrag:
Die Fehler die ich mit dem entzippten Dowload von Manni erhalten hatte:
Code: demo@ubuntu:~/Downloads/linux-x64/OSSL2Gif-linux-x64$ ./OSSL2Gif
[WARNING][Thread] Failed to detect keyboard layout or system language: module 'ctypes' has no attribute 'WinDLL'
2026-02-23 18:51:46 - OSSL2Gif - INFO - Starting OSSL2Gif application...
[INFO][Thread] Starting OSSL2Gif application...
[INFO][Thread] ConfigManager registered
[INFO][Thread] Logger registered
[INFO][Thread] Bootstrap complete. Registered services: ['config', 'logger']
[WARNING][Thread] Failed to load icon: TclError: bitmap "icon.ico" not defined
2026-02-23 18:51:46 - OSSL2Gif - ERROR - Fatal error in main application: No module named 'PIL._tkinter_finder'
Traceback (most recent call last):
File "PIL/ImageTk.py", line 59, in _pyimagingtkcall
_tkinter.TclError: invalid command name "PyImagingPhoto"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "start.py", line 95, in main
File "main.py", line 355, in __init__
File "main.py", line 683, in build_layout
File "gui_layout.py", line 419, in build_layout
File "main.py", line 757, in create_effects_panel
File "gui_layout.py", line 295, in create_effects_panel
File "ttkbootstrap/style.py", line 5307, in __init__
File "ttkbootstrap/style.py", line 5397, in update_ttk_widget_style
File "ttkbootstrap/style.py", line 4366, in create_checkbutton_style
File "ttkbootstrap/style.py", line 4496, in create_checkbutton_assets
File "PIL/ImageTk.py", line 132, in __init__
File "PIL/ImageTk.py", line 188, in paste
File "PIL/ImageTk.py", line 63, in _pyimagingtkcall
ModuleNotFoundError: No module named 'PIL._tkinter_finder'
[ERROR][Thread] Fatal error in main application: No module named 'PIL._tkinter_finder'
Traceback (most recent call last):
File "PIL/ImageTk.py", line 59, in _pyimagingtkcall
_tkinter.TclError: invalid command name "PyImagingPhoto"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "start.py", line 95, in main
File "main.py", line 355, in __init__
File "main.py", line 683, in build_layout
File "gui_layout.py", line 419, in build_layout
File "main.py", line 757, in create_effects_panel
File "gui_layout.py", line 295, in create_effects_panel
File "ttkbootstrap/style.py", line 5307, in __init__
File "ttkbootstrap/style.py", line 5397, in update_ttk_widget_style
File "ttkbootstrap/style.py", line 4366, in create_checkbutton_style
File "ttkbootstrap/style.py", line 4496, in create_checkbutton_assets
File "PIL/ImageTk.py", line 132, in __init__
File "PIL/ImageTk.py", line 188, in paste
File "PIL/ImageTk.py", line 63, in _pyimagingtkcall
ModuleNotFoundError: No module named 'PIL._tkinter_finder'
[INFO][Thread] Services shutdown complete
2026-02-23 18:51:46 - OSSL2Gif - INFO - Application closed
[INFO][Thread] Application closed
Traceback (most recent call last):
File "PIL/ImageTk.py", line 59, in _pyimagingtkcall
_tkinter.TclError: invalid command name "PyImagingPhoto"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "start.py", line 107, in <module>
File "start.py", line 95, in main
File "main.py", line 355, in __init__
File "main.py", line 683, in build_layout
File "gui_layout.py", line 419, in build_layout
File "main.py", line 757, in create_effects_panel
File "gui_layout.py", line 295, in create_effects_panel
File "ttkbootstrap/style.py", line 5307, in __init__
File "ttkbootstrap/style.py", line 5397, in update_ttk_widget_style
File "ttkbootstrap/style.py", line 4366, in create_checkbutton_style
File "ttkbootstrap/style.py", line 4496, in create_checkbutton_assets
File "PIL/ImageTk.py", line 132, in __init__
File "PIL/ImageTk.py", line 188, in paste
File "PIL/ImageTk.py", line 63, in _pyimagingtkcall
ModuleNotFoundError: No module named 'PIL._tkinter_finder'
[PYI-74778:ERROR] Failed to execute script 'start' due to unhandled exception!
demo@ubuntu:~/Downloads/linux-x64/OSSL2Gif-linux-x64$
Beiträge: 1.179
Themen: 165
Thanks Received: 932 in 493 posts
Thanks Given: 137
Registriert seit: Feb 2015
Vor 16 Minuten
(Dieser Beitrag wurde zuletzt bearbeitet: Vor 14 Minuten von Manfred Aabye.)
Meine Linux und Mac Versionen sind gar nicht von mir getestet, da hab ich voll ins Blaue geschossen.
Wenn, Dorena sich bedankt, denke ich das die Mac Version funktioniert.
Ich werde mich mal über Pius Posting stürzen und schauen, was und wie ich da etwas machen kann.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
|