1. Über BitmapTracer
BitmapTracer wandelt Rastergrafiken (Bitmaps) automatisch in skalierbare Vektorgrafiken um. Das Programm erkennt Konturen und erzeugt präzise Vektorpfade für verlustfreien Druck in jeder Größe.
| Merkmal | Details |
|---|---|
| Eingabeformate | BMP, PNG, JPG/JPEG, TIFF, GIF, WebP |
| Ausgabeformate | SVG, PDF, DXF, PNG |
| Engines | OpenCV (integriert) + potrace (extern, optional) |
| Betriebssystem | Windows 10 / 11 (64-Bit) |
| Autor | Bernhard Lickert · Entwickelt mit Claude (Anthropic) |
2. Installation & Start
ZIP entpacken
bitmap_tracer_v1.10.7.zip in einen Ordner entpacken, z. B. C:\Tools\BitmapTracer\.
EXE erstellen (einmalig, ca. 3–5 Min.)
Doppelklick auf build_bitmap_tracer.bat. Das Script installiert alle Abhängigkeiten und erstellt dist\BitmapTracer_v1.10.7.exe.
Programm starten
Doppelklick auf start_bitmap_tracer.bat – löscht automatisch den __pycache__-Ordner und startet die EXE oder Python direkt.
start_bitmap_tracer.bat verwenden – es löscht den Python-Cache automatisch. Ohne diesen Schritt kann eine veraltete .pyc-Datei geladen werden.Inhalt des EXE-Ordners (dist\)
Nach dem Build enthält der dist\-Ordner die EXE. Folgende Dateien müssen neben der EXE liegen:
| Datei | Pflicht | Hinweis |
|---|---|---|
BitmapTracer_v1.10.7.exe | ✓ | Die Anwendung |
potrace.exe | empfohlen | Ab v1.10.5 in EXE eingebettet (Fallback). Eine eigene Datei neben der EXE hat Vorrang und ermöglicht Updates ohne Rebuild. Download: potrace.sourceforge.net |
bt_profiles.json | optional | Ab v1.10.5 in EXE eingebettet. Wird neben der EXE angelegt sobald Profile gespeichert werden (dann hat diese Datei Vorrang). |
bt_5_Farben.json | optional | Ab v1.10.5 eingebettet. Farbprofil-Ergänzung. |
bt_config.json | – | Wird automatisch beim ersten Start angelegt (Benutzereinstellungen, Fenstergröße, Sprache). |
start_bitmap_tracer.bat | optional | Startet EXE oder Python direkt, löscht Cache. |
start_bitmap_tracer.bat oder python bitmap_tracer.py.3. Bedienung
Fensteraufbau
| Bereich | Funktion |
|---|---|
| Header / Panel links | Profil-Verwaltung, Engine-Wahl, alle Parameter |
| Linke Spalte | Modus, Vorverarbeitung, Kontrast/Levels |
| Rechte Spalte | Kontur, Farben, Stencil, Export & Maßstab |
| Toolbar | Bild öffnen · Neu tracen · Zoom 1:1 · Vorschau-Qualität · Original ein/aus |
| Datei-Menü | Öffnen · Exportieren · MRU-Liste (letzte 5 Dateien) · Beenden |
| Vorschau links | Originalbild |
| Vorschau rechts | Tracing-Ergebnis (Live-Update) |
| Farbpaletten-Leiste | Unter Tracing-Ergebnis: Farb-Swatches mit Hex-Code. Klick = ein/aus, Hex-Klick = kopieren, Rechtsklick = Farbe ändern |
| Statusleiste | Engine, Konturzähler, Schwellenwert · Fortschrittsbalken rechts während Trace |
Slider bedienen
| Aktion | Funktion |
|---|---|
| Ziehen | Grober Wert einstellen |
| Mausrad | Feinfühlig ±1 Schritt |
| Shift + Mausrad | Grob ±10 Schritte |
| Doppelklick auf Zahlenwert | Direkteingabe eines exakten Werts |
| Hover über Slider / Combo | Tooltip mit Wertebereich, Wirkung und ⚠-Hinweis |
| Strg+Z / Strg+Y | Undo / Redo (bis 20 Schritte) |
Vorschau bedienen
| Aktion | Funktion |
|---|---|
| Mausrad auf Vorschau | Zoom zur Cursor-Position – Original und Ergebnis bleiben synchron |
| Linksklick + Drag | Bild verschieben (Pan) – Greif-Cursor erscheint |
| Mittelklick + Drag | Bild verschieben (alternative Pan-Methode) |
| ⊞ Zoom 1:1 | Zoom und Pan zurücksetzen |
| Zoom-%-Anzeige (Toolbar) | Aktueller Zoomfaktor (100% = Fit) |
4. Farbpaletten-Leiste
Nach einem Farb-Tracing (Modus = color, OpenCV-Engine) erscheint unter dem Tracing-Ergebnis eine Leiste mit einem Swatch pro k-Means-Farbschicht.
Jeder Swatch zeigt einen Farbblock (mit Auge-Symbol ●/○) und daneben den Hex-Code der Farbe (z. B. #3a2f1c).
| Aktion | Wirkung |
|---|---|
| Linksklick auf Farbblock (●) | Layer ein-/ausblenden (● = sichtbar, ○ = ausgeblendet). Vorschau aktualisiert sofort. |
| Linksklick auf Hex-Code | Hex-Wert (z. B. #3a2f1c) in die Zwischenablage kopieren. Statusleiste zeigt Bestätigung. |
| Rechtsklick auf Swatch | Farbwähler öffnen – Farbe dieser Schicht ändern. Vorschau aktualisiert sofort. |
| ✓ alle-Button | Alle ausgeblendeten Layer wieder einblenden. |
color (OpenCV-Engine). Bei mono, canny und potrace zeigt sie „noch kein Trace".5. Zoom & Pan (v1.8.3)
Original- und Ergebnis-Vorschau sind immer synchron – beide zeigen denselben Ausschnitt beim selben Zoomfaktor.
Das Mausrad zoomt zur Cursor-Position (nicht zur Canvas-Mitte). Zoome direkt auf das Detail, das du vergleichen möchtest – beide Bilder bleiben deckungsgleich.
6. MRU-Liste & Exportpfad-Gedächtnis (v1.8.0)
MRU-Liste (Most Recently Used)
Die letzten 5 geöffneten Bilder erscheinen automatisch im Menü Datei am Ende der Liste. Klick öffnet das Bild direkt – kein Durchsuchen des Ordners nötig.
Die MRU-Liste wird in bt_config.json gespeichert und bleibt zwischen Programmstarts erhalten.
Exportpfad-Gedächtnis
Der zuletzt verwendete Export-Ordner wird ebenfalls in bt_config.json gespeichert. Beim nächsten Export (SVG, PDF, DXF, PNG) öffnet der Datei-Dialog automatisch diesen Ordner.
7. Engines
| Engine | Stärken | Wann nutzen |
|---|---|---|
| OpenCV | Immer verfügbar, Farb-Tracing, Canny-Kanten | Logos, Farb-Vektorisierung, Strichzeichnungen |
| potrace | Glatteste Kurven, bestes Korn bei Fotos, Inkscape-Qualität | Porträts, feines Korn, Stencils aus Fotos |
potrace.exe von potrace.sourceforge.net herunterladen und neben bitmap_tracer.py ablegen oder in den PATH eintragen. Dann BitmapTracer neu starten.8. Einstellungsreferenz
Modus / Parameter (OpenCV)
| Modus | Beschreibung | Geeignet für |
|---|---|---|
mono | Schwarz/Weiß-Tracing, ein Schwellenwert | Logos, Stempel, Schrift |
color | k-Means-Farbquantisierung, je Farbe ein Layer | Mehrfarbige Logos, Cliparts |
canny | Kantenerkennung, nur Umrisse | Fotos → Strichzeichnungen |
Vorverarbeitung
| Filter | Beschreibung | Tipp |
|---|---|---|
none | Keine Vorverarbeitung | Für Inkscape-ähnliches Ergebnis |
dither | Floyd-Steinberg-Dithering → feines organisches Korn. Schwellenwert intern immer 128. | Gamma steuert Punktdichte |
bayer | Ordered Dithering, regelmäßiges Raster. Bayer-Korn steuert Rastergröße (Potenz von 2: 2/4/8/16). | Geometrisches Korn |
halftone | Runde Rasterpunkte wie im Offsetdruck. Halftone-Slider steuert Punktgröße. | Druckoptik |
clahe | Lokale Kontrastverstärkung. CLAHE-Limit steuert Stärke. | Schlechte Beleuchtung, Scans |
bilateral | Kanten erhalten, Rauschen reduzieren. Bilateral σ steuert Stärke. | Verrauschte Fotos |
Kontrast / Levels
| Parameter | Wirkung |
|---|---|
| Eingang Schwarz / Weiß | Schwarzpunkt und Weißpunkt des Eingangsbildes |
| Gamma | Mittelton-Helligkeit. < 1 = abdunkeln (mehr Korn), 1.0 = neutral, > 1 = aufhellen (weniger Korn). Mausrad = ±0.05, Shift+Mausrad = ±0.5 |
| Ausgang Schwarz / Weiß | Kontrastbegrenzung der Ausgabe |
potrace-Parameter
| Parameter | Bereich | Wirkung |
|---|---|---|
| Schwellenwert | 0–255 | Binarisierungsschwelle. Inkscape-Standard: 126. Bei Dithering ignoriert (intern 128). |
| Alphamax | 0.0–1.34 | Kurvenglättung. 0.0 = reine Polygone (maximales Korn, aber Treppchen an Diagonalen). 0.5 = Kompromiss. 1.0 = glatte Kurven (Inkscape-Standard). Siehe auch Abschnitt Treppchen. |
| Opttolerance | 0.0–5.0 | Pfad-Vereinfachung. Inkscape-Wert: 2.632. Höher = glatter, vereinfachter. |
9. Tooltips (v1.8.4)
Alle Einstellungen (Slider, Checkboxen, Combos, Farb-Eingaben) haben Tooltips. Einfach mit der Maus 1–2 Sekunden über ein Element hovern.
Tooltips erklären drei Dinge:
- Was die Einstellung bewirkt
- Welche Werte sinnvoll sind (mit Beispielwerten)
- ⚠ Wann die Einstellung wirkungslos ist, z. B. „⚠ NUR bei Filter=bayer aktiv. Bei anderen Filtern WIRKUNGSLOS."
10. Reset-Buttons (v1.8.5)
Drei Reset-Buttons setzen alle Werte eines Abschnitts auf die Standard-Defaults zurück und lösen sofort einen neuen Trace aus:
| Button | Setzt zurück |
|---|---|
| Levels zurücksetzen | Eingang Schwarz/Weiß · Gamma · Ausgang Schwarz/Weiß |
| Vorverarbeitung zurücksetzen | Filter=none · CLAHE-Limit=2.0 · Bilateral σ=75 · Bayer-Korn=8 · Halftone=4 · Gauss-Blur=0 |
| Kontur zurücksetzen | Approx=smooth · Bézier=✓ · Löcher=✓ · Glättung=0 · Eckenwinkel=70° · Min-Fläche=20 · Max-Fläche=0 |
11. Feines Korn einstellen
Feines Korn bedeutet: Grautöne werden als Punktdichte dargestellt, wie beim Zeitungsdruck oder Siebdruck. Je dunkler ein Grauton, desto dichter das Punktmuster.
Methode 1: Ohne Dithering (Inkscape-Stil)
Potrace direkt auf dem Originalbild – so arbeitet auch Inkscape.
| Parameter | Wert | Erklärung |
|---|---|---|
| Engine | potrace | – |
| Filter | none | Kein Dithering |
| Schwellenwert | 100–130 | Inkscape nutzt 126 |
| Alphamax | 0.0–0.1 | Möglichst kantig = mehr Details |
| Opttolerance | 2.0–3.0 | Wie Inkscape |
| Min-Fläche | 1–5 | Auch kleine Punkte tracen |
| Gamma | 1.0–1.3 | Leicht abdunkeln für mehr Punkte |
→ Profil „Inkscape-Korn" enthält genau diese Einstellungen.
Methode 2: Floyd-Steinberg Dithering
Floyd-Steinberg verteilt den Quantisierungsfehler auf Nachbarpixel und erzeugt ein organisches, unregelmäßiges Punktmuster. Der FS-Schwellenwert ist intern immer 128. Gamma steuert die Punktdichte:
| Profil | Gamma | Punktdichte | Wann nutzen |
|---|---|---|---|
| Feinkorn-locker | 0.7 | ~23% schwarz | Helle Bilder, lockeres Korn |
| Feinkorn-mittel | 1.0 | ~50% schwarz | Natürliche Grautonwiedergabe – Startpunkt |
| Feinkorn-dicht | 1.5 | ~77% schwarz | Dunkles, dichtes Korn |
| Feinkorn-max | 2.5 | ~93% schwarz | Maximale Korn-Dichte |
Profil-Empfehlung für Porträts
| Ziel | Profil |
|---|---|
| Wie Inkscape | Inkscape-Korn |
| Feiner als Inkscape | Ultra-Fein |
| Organisches Korn, natürliche Grautöne | Feinkorn-mittel |
| Sehr dichtes Korn | Feinkorn-dicht oder Feinkorn-max |
| Stencil aus Porträt | potrace Stencil |
12. Treppchen an Diagonalen beheben
Bei niedrigem Alphamax (z. B. 0.0–0.05, wie im Profil „Ultra-Fein") zeichnet potrace Diagonalen als Treppenstufen – das ist das typische Pixel-Treppenmuster. Ursache: Alphamax ≈ 0 erzeugt reine Polygone ohne Kurvenglättung.
| Alphamax | Wirkung |
|---|---|
| 0.00 – 0.05 | Reine Polygone → maximales Korn, aber Treppchen an Diagonalen |
| 0.5 | Kompromiss: Korn bleibt, Diagonalen werden geglättet |
| 1.00 | Glatte Kurven (Inkscape-Standard) – keine Treppchen |
| 1.34 | Maximale Glättung |
Treppchen im Farb-Modus (OpenCV color)
Inkscape erzeugt glattere Farbflächen, weil es intern potrace mit alphamax=1.0 für jede Farbschicht verwendet. Die empfohlene Lösung in BitmapTracer:
13. Profile
Profile speichern alle Einstellungen. Datei: bt_profiles.json neben der EXE. Die EXE enthält ab v1.10.5 eine eingebettete Kopie aller Werksprofile als Fallback – fehlt bt_profiles.json neben der EXE, werden die eingebetteten Profile geladen.
| Aktion | Beschreibung |
|---|---|
| Laden | Profil aus Dropdown wählen → Laden klicken oder Dropdown-Auswahl |
| Speichern | Aktuelle Einstellungen unter einem Namen ablegen |
| Export | Als .json-Datei exportieren (Weitergabe an andere) |
| Import | Menü Profile → Importieren |
| Löschen | Menü Profile → Profil löschen |
Mitgelieferte Profile
Beim Laden eines Profils erscheint eine kurze Beschreibung in der Statusleiste. Alle Profile zeigen beim Hover einen Tooltip.
| Profil | Engine | Beschreibung |
|---|---|---|
| Standard | OpenCV | Ausgewogene Einstellungen für allgemeine Bilder. OpenCV · Mono · Schwellenwert 128. |
| 5 Farben | OpenCV | 5-Farb-Tracing mit k-Means. Gut für Logos, flächige Illustrationen. |
| Stencil | OpenCV | Stencil-optimiert: hoher Kontrast, harte Kanten. Ideal für Schablonen und Schneideplotter. |
| potrace Foto | potrace | potrace-Engine mit CLAHE-Vorverarbeitung. Beste Qualität für Fotos mit gleichmäßigem Kontrast. |
| potrace Stencil | potrace | potrace + hoher Schwellenwert für harte Stencil-Kanten. Bézier-Kurven mit maximaler Glättung. |
| Bayer-Korn | potrace | Regelmäßiges Bayer-Raster-Dithering. Gleichmäßiges geometrisches Punktmuster. |
| Halftone | potrace | Halbtondruck-Simulation: runde Punkte wie im Offsetdruck. Punktgröße über Halftone-Slider steuerbar. |
| Zeitungsdruck | potrace | Grobes Halftone-Raster für Zeitungsdruck-Optik. Hoher Kontrast, große Punkte. |
| Korn (OpenCV) | OpenCV | Floyd-Steinberg-Dithering mit OpenCV. Organisches, unregelmäßiges Punktkorn. |
| Inkscape-Korn | potrace | potrace + Floyd-Steinberg: entspricht Inkscape-Nachzeichnen. Feines, natürliches Korn. |
| Ultra-Fein | potrace | Minimale Fläche, viele Konturen. Für filigrane Details in sauberen Strichzeichnungen. |
| Farbe-potrace | potrace | k-Means + potrace pro Farbschicht (wie Inkscape Scan). Jede Farbe = echte Bézier-Kurven. Langsamer, max. Qualität. |
| Ultra-Korn | OpenCV | Extremes Floyd-Steinberg-Korn. Hochkontrast + maximales Dithering. |
| Bleistift | OpenCV | Simuliert Bleistiftzeichnung: helle Linien auf hellem Grund. Canny-Kantenerkennung + Invert. |
| Logo hart | OpenCV | Für Logos und Vektorgrafiken: harte Kanten, kein Blur. Schwellenwert hoch, minimale Glättung. |
| Aquarell-Umriss | OpenCV | Weiche Konturen wie bei Aquarellzeichnungen. Bilateral-Filter + Kurvenglättung. |
| Siebdruck 3F | OpenCV | 3-Farben-Siebdruck-Simulation. k-Means mit 3 Farben, harte Kanten. |
| Porträt Schatten | potrace | Porträts: betont Schattenbereiche. CLAHE + angepasster Schwellenwert. |
| Kupferstich | potrace | Kupferstich-Optik: feines Bayer-Raster. Kleine Rastergröße, hoher Kontrast. |
| Druckgrafik locker | potrace | Lockere Druckgrafik-Linien. Mittleres Korn, entspannte Konturführung. |
| Druckgrafik dicht | potrace | Dichte Druckgrafik: viele enge Linien. Hohes Korn, enge Konturannäherung. |
| Hochkontrast-Farbe | OpenCV | Farbtracing mit hohem Kontrast. Wenige Farben, harte Grenzen. |
| Invertiert | OpenCV | Invertiertes Tracing: helle Flächen werden Vordergrund. Für dunkle Bilder mit hellen Motiven. |
14. Exportformate
SVG
Universelles Vektorformat. Öffenbar in Inkscape, Illustrator, CorelDRAW, Webbrowsern. Native Bézier-Kurven, Farbschichten, Loch-Erkennung (fill-rule nonzero – korrekt für Browser seit v1.7).
Druckfertig, skalierbar, mit Metadaten und Urheber-Footer. Farbschichten werden mit getrennten Pfaden gezeichnet (kein FILL_EVEN_ODD-Fehler seit v1.8.2).
DXF
CAD-Format. Y-Achse automatisch gespiegelt. Bézier-Kurven als Polylinien aufgelöst. Farbebenen mit Truecolor. Kompatibel mit AutoCAD R13+.
PNG
Datei → Als PNG exportieren speichert das Tracing-Ergebnis als Rasterbild in Originalauflösung. Ideal für Web, Lasercutter-Rasterengraving oder Vorschauen.
PNG für Inkscape
Für Inkscape … exportiert das vorverarbeitete Bild (nach Levels/CLAHE/Dithering). In Inkscape öffnen → Erweiterungen → Bitmap nachzeichnen → Helligkeitsschwellenwert. Kombiniert BitmapTracers Vorverarbeitung mit Inkscapes Tracing-Qualität.
15. Undo & Redo
BitmapTracer speichert bis zu 20 Einstellungsschritte im Arbeitsspeicher.
| Aktion | Tastenkürzel | Menü |
|---|---|---|
| Rückgängig | Strg+Z | Bearbeiten → Rückgängig |
| Wiederholen | Strg+Y | Bearbeiten → Wiederholen |
| Neu tracen | F5 | Toolbar → Neu tracen |
| Laufenden potrace-Trace abbrechen (neu v1.9.18) | Esc | – |
16. Neue Features v1.9.5 – v1.10.7
v1.10.7 – Versions-Drift behoben, selbstheilender Versions-Bump
Vier Dateien trugen über mehrere Releases hinweg unbemerkt veraltete
Versionsnummern: version_info.txt meldete in
filevers/prodvers noch 1.10.4
(die EXE zeigte unter Eigenschaften → Details also eine falsche
Binärversion), Handbuch_EN.html trug in Titel und Kopfzeile
noch 1.10.5, der Versions-Badge stand in
beiden Handbüchern auf 1.10.5, und
bt_5_Farben.json auf 1.10.4.
Ursache: bump_version.py suchte bis v1.10.6 mit
Zeichenketten, die aus der alten Versionsnummer gebaut wurden
(z. B. filevers=(1, 10, 5, 0)). War eine Stelle
einmal aus dem Tritt, passte ihr Suchmuster nie wieder – das Skript gab
nur die folgenlose Meldung „NICHT GEFUNDEN“ aus und der Drift wuchs
still weiter. Genau dieser Fehlertyp war bereits in v1.9.14 einmal von Hand
repariert worden, ohne die Ursache zu beseitigen.
Behebung: Alle Suchmuster sind jetzt reguläre
Ausdrücke, die eine beliebige Version X.Y.Z an einer
eindeutig verankerten Stelle erkennen. Jeder Bump setzt jede Stelle auf die
Zielversion – unabhängig davon, was vorher dort stand. Vorhandener
Drift heilt damit automatisch aus; die alte Versionsnummer ist als Argument
nicht mehr nötig (python bump_version.py 1.10.8).
Neu ist außerdem Invariante 4 – der
Versions-Drift-Scan: Nach dem Schreiben (und jederzeit per
--check) wird jede verankerte Stelle gegen die Zielversion
geprüft; eine Abweichung beendet das Skript mit Fehlercode 3 statt
mit einer überlesbaren Warnung. Zwei bisher ungepflegte Stellen wurden in
die Regeln aufgenommen: der Copyright-Block in Abschnitt 21 und die
Fußzeile beider Handbücher. Zusätzlich unterstützt das
Skript --yes (ohne Rückfrage) und --check
(nur prüfen). Nebenbei korrigiert: der windnd-Build-Fix stand in der
Versionstabelle fälschlich unter v1.10.5 – korrekt ist v1.10.4.
v1.10.3 – Sprachumschaltung Etappe 3: Englisches Handbuch
Die Sprachumschaltung ist abgeschlossen: Handbuch_EN.html –
eine vollständige englische Übersetzung des Handbuchs – gehört jetzt
zum Release. Bei englischer Oberfläche öffnet Help → Open
manual (English) das englische Handbuch (mit automatischem
Rückfall auf das deutsche, falls die Datei fehlt). Zusätzlich sucht die
Handbuch-Öffnung jetzt auch im PyInstaller-Bundle
(sys._MEIPASS) – bisher fand die Onefile-EXE das Handbuch
nur, wenn es zufällig neben der EXE lag. bump_version.py erhielt
eine dritte Invariante: den Übersetzungs-Vollständigkeitstest
– jedes T("…")-Literal muss einen Eintrag in
_TR_EN haben, sonst bricht der Versions-Bump ab. Damit können
neue UI-Texte dauerhaft nicht mehr unübersetzt ins Release gelangen.
Außerdem behoben: Abschnitt 21 zeigte seit längerem die veraltete
Versionsnummer v1.9.12.
v1.10.2 – Sprachumschaltung Etappe 2: Tooltips, Profile, Statusmeldungen
Die englische Oberfläche umfasst jetzt auch alle zur Laufzeit gesetzten Texte: sämtliche ~48 Tooltips (inkl. dynamischem Profil-Tooltip), alle 23 Profilbeschreibungen (Tooltip der Profil-Combobox und Kurzanzeige in der Statuszeile beim Laden eines Profils), alle dynamischen Statusmeldungen (Trace-Status, Konturzähler links und rechts, SVG-Vorschau, Export-, Undo/Redo- und Fehlermeldungen, Esc-Abbruch), der Engine-Hinweis „potrace nicht gefunden – Hilfe > potrace einrichten“ sowie der komplette Batch-Export-Dialog (Status, Log, Messageboxen, Ordner-Dialogtitel). Tooltips werden erst beim Anzeigen übersetzt – ein Sprachwechsel wirkt dort also ohne Neustart. Ausstehend ist nur noch Etappe 3 (Handbuch_EN.html).
v1.10.0/v1.10.1 – Sprachumschaltung Deutsch/Englisch
Unter Ansicht → Sprache / Language lässt sich die
Oberflächensprache zwischen Deutsch und Englisch umschalten. Die Wahl wird in
bt_config.json gespeichert. Die Menüleiste wechselt sofort; alle
übrigen Elemente erscheinen nach einem Neustart in der neuen Sprache.
Fehlt eine Übersetzung, wird automatisch der deutsche Text angezeigt –
es kann also nie ein leerer oder fehlerhafter Text entstehen.
v1.9.21 – Invarianten-Selbsttest & Release-Standard
- FEATURE Selbsttest in bump_version.py: Vor jedem Versions-Bump werden jetzt automatisch projektweite Code-Invarianten geprüft (AST-basiert, erkennt auch mehrzeilige Aufrufe). Bei Verstößen bricht das Skript ab, bevor irgendetwas verändert wird. Geprüft werden: (1) alle
subprocess-Aufrufe setzencreationflags(verhindert den Konsolen-Blitz in der EXE – diese Regression trat bereits zweimal auf), (2)webbrowser.open()nutzt nie manuell gebaute f-String-Adressen (verhindert den Umlaut-/Leerzeichen-Bug aus v1.9.19). - Release-Standard
bt_config.json: Diese Datei gehört bewusst nicht ins Release-ZIP. Sie speichert nur Benutzerzustand (Fensterposition, letzter Exportpfad, letztes Profil) und würde bei jedem Update überschrieben. Das Programm legt sie beim ersten Start automatisch an. Das ZIP enthält damit dauerhaft 9 Dateien inkl.version_info.txt.
v1.9.20 – Code-Audit: drei Regressionen behoben
- BUGFIX Konsolen-Blitz (EXE): Beim automatischen Nachinstallieren fehlender Python-Pakete (pip) öffnete sich in der EXE-Version pro Paket kurz ein schwarzes Konsolenfenster. Der Aufruf läuft jetzt – wie alle anderen Unterprozesse – unsichtbar im Hintergrund.
- BUGFIX Farb-Tracing (potrace): Im Farb-Modus mit potrace-Engine konnten sich kreuzende oder überlappende Konturen derselben Farbe gegenseitig ausschneiden (es entstanden ungewollte weiße Löcher). Ursache war die Füllregel
evenodd– jetztnonzero, identisch zum SVG-Fix v1.7 und PDF-Fix v1.9.17. Echte Löcher (z. B. das Innere eines „O“) bleiben korrekt, da potrace sie mit gegenläufiger Pfadrichtung ausgibt. - BUGFIX SVG-Vorschau bei Umlauten im Pfad: Die Browser-Vorschau (Strg+P) baute die Datei-Adresse manuell zusammen und scheiterte, wenn der temporäre Pfad Leerzeichen oder Umlaute enthielt (z. B. Windows-Benutzername „Müller“). Jetzt wird die Adresse korrekt kodiert – konsistent zu allen anderen Browser-Aufrufen.
v1.9.19 – BUGFIX: Mini-Vorschau & PDF/DXF-Export bei potrace
- BUGFIX KRITISCH (Koordinaten): Bei Engine=potrace wurden die intern für PDF/DXF mitgeführten Konturen in Vorschau-Koordinaten gespeichert, während die Leinwand-Maße auf Originalauflösung standen. Sichtbare Folgen: (1) Nach dem Umfärben oder Ein-/Ausblenden eines Layers über die Farbpaletten-Leiste schrumpfte das Tracing-Ergebnis zu einem kleinen Fragment oben links. (2) PDF- und DXF-Exporte mit potrace-Engine zeichneten das Motiv winzig in die Seitenecke. Beide Wege nutzen jetzt durchgehend Originalkoordinaten – wie die OpenCV- und Farb-potrace-Pfade.
- PERF Layer-Ausblenden: Das Neu-Rendern beim Ein-/Ausblenden von Layern lief bisher in voller Originalauflösung (bei einem 4000-px-Bild mehrere Sekunden pro Klick). Jetzt wird auf Vorschau-Maßen gerendert – sofortige Reaktion, identisches Bild.
- Hinweis: Der SVG-Export war nie betroffen – er nutzt die echten potrace-Pfade, nicht die Fallback-Konturen.
v1.9.18 – Esc-Abbruch & NumPy-Zukunftssicherung
- FEATURE Esc-Abbruch: Ein laufender potrace-Trace (mono und Farb-Modus) lässt sich jetzt mit Esc abbrechen. Der potrace-Prozess wird sofort beendet – vorher musste man bis zu 60 Sekunden auf den Timeout warten. Die Statuszeile zeigt während potrace-Traces den Hinweis
Esc = Abbruch. - FEATURE Batch-Abbruch verschärft: Der Abbrechen-Button im Batch-Export beendet jetzt auch den gerade laufenden potrace-Prozess, nicht mehr nur zwischen zwei Dateien.
- WARTUNG NumPy:
_bayer_dithernutzte die in NumPy als veraltet markierte Matrix-Klasse (np.bmat/.A). Umstellung aufnp.block– identisches Ergebnis, zukunftssicher. - Hinweis: Reine OpenCV-Traces laufen in nativen cv2-Routinen und sind nicht unterbrechbar; Esc wirkt dort folgenlos.
v1.9.17 – Code-Review: 8 Bugfixes
- FIX Profil-Warnung beim Beenden: Der Vergleichs-Snapshot wurde beim Programmstart nach der Wiederherstellung des letzten Profils versehentlich auf
Nonezurückgesetzt. Folge: Die Warnung „Ungespeicherte Änderungen“ erschien nach dem Start nie – erst nach manuellem Profil-Laden. Jetzt korrekt initialisiert. - FIX Profil-Tooltip-Stapel: Bei jedem Profilwechsel wurde ein zusätzlicher Tooltip an die Profil-Auswahlbox gebunden. Nach mehreren Wechseln erschienen mehrere übereinanderliegende Tooltip-Fenster. Jetzt: ein Binding, Text wird beim Anzeigen dynamisch geholt.
- FIX potrace-Vorschau bei Auto(Otsu): Die Vorschau binarisierte mit dem UI-Schwellenwert statt mit dem tatsächlich von Otsu ermittelten Wert – Vorschau und Export wichen voneinander ab (auch bei Dither-Filtern). Jetzt konsistent.
- FIX Zoom in Eingabefeldern: Das Tippen von
+oder-in Textfeldern (Füllfarbe, Direkteingabe, Batch-Pfade, Profilname) zoomte gleichzeitig die Vorschau. Jetzt: Zoom-Tasten wirken nur, wenn kein Eingabefeld den Fokus hat. - FIX Batch-Export potrace-SVG: SVGs aus dem Batch-Export (potrace, mono) wurden roh gespeichert – ohne mm-Maße und Copyright-Kommentar. Jetzt identisch zum Einzel-Export.
- FIX PDF-Hintergrund: Hex-Hintergrundfarben (
#rrggbb) aus Profilen wurden im PDF-Hintergrund als Weiß ausgegeben (Loch-Füllung konnte Hex bereits). Jetzt einheitlicher Farbparser. - FIX Über-Dialog: Die „NEU“-Zeilen waren drei Versionen veraltet – jetzt versionsunabhängig mit Verweis auf das Handbuch.
- WARTUNG: Header-Docstring stand auf v1.9.13 (jetzt von
bump_version.pymitgepflegt) ·BitmapTracer_Icon.pngwird in die EXE gebundelt (Icon-Fallback funktionierte in der EXE nie) · tote Variable/toter Import entfernt.
v1.9.16 – Performance & Robustheit
- FIX: Auto-Installer:
input()durchsys.exit(1)ersetzt – hängt nicht mehr in headless-Umgebungen. - PERF:
trace_potrace: Bildkonvertierung von RGB→BGR→Grau auf direktes PIL.convert("L")optimiert – spart 2 Konvertierungsschritte und RAM. - FIX: Tooltip-Anzeige:
try/exceptin_show()schützt vor GUI-Absturz durchwinfo_*-Fehler auf Multi-Monitor-Linux. - FIX:
_coerce_settings()inload_profiles()undimport_profile_json()– Type-Cast gegenDEFAULT_SETTINGSverhindertValueErrorbei manuell editierten JSON-Profilen.
v1.9.15 – Code-Bereinigung & Stabilitätsfixes
- FIX:
DEFAULT_SETTINGSfehlte"potrace_color_mode"– KeyError-Risiko beim Konsistenz-Check behoben. - BEREINIGUNG:
_svg_path_to_points()– 220 Zeilen toter Code entfernt (0 Aufrufe seit v1.8.x). - FIX:
last_export_fmtaus_collect()entfernt – verhinderte unnötige Re-Traces nach jedem Export. - FIX: Batch-Export:
_worker_safe()mit Exception-Schutz – der „Los“-Button blieb bei unerwartetem Fehler dauerhaft deaktiviert.
v1.9.14 – Bugfixes & Konsistenz
- FIX Undo bei Profil-Laden:
_on_profile_loadruft jetzt_push_undo()vor_apply()auf – versehentlich geladene Profile können per Strg+Z rückgängig gemacht werden. - FIX version_info.txt: War 10 Versionen veraltet (v1.9.3). Jetzt korrekt auf v1.9.14;
bitmap_tracer.specbindetversion_info.txtjetzt tatsächlich ein (warversion_file=None). - FIX bt_5_Farben.json: Versionsnummer war noch auf 1.9.12.
- FIX start_bitmap_tracer.bat: Echo-Zeile zeigte noch v1.9.12.
- FIX Handbuch Abschnitt 13: Profiltabelle komplett durch
PROFILE_DESCRIPTIONSersetzt (alle 23 Profile mit Volltext). Verweis auf entferntes Profil „Farbe-Glatt" korrigiert. - FIX bump_version.py: Erweitert um
bt_5_Farben.jsonundversion_info.txt– beide Dateien werden künftig bei jedem Versions-Bump mitgepflegt.
v1.9.13 – Bugfixes & Verbesserungen
- Profil-Beschreibungen: Alle 23 Profile haben jetzt einen Tooltip auf der Auswahlbox und zeigen beim Laden eine kurze Beschreibung in der Statusleiste.
- FIX dirty-Flag: Hin-und-zurück-Slider-Bewegungen lösen beim Beenden keine falsche „Ungespeichert"-Warnung mehr aus.
- FIX last_profile: Das zuletzt verwendete Profil wird beim Programmstart jetzt vollständig geladen (
_apply()), nicht nur im Dropdown gesetzt. - FIX MRU: Zuletzt geöffnete Dateien zeigen jetzt den Verzeichnis-Kurzpfad im Menü – gleichnamige Dateien aus verschiedenen Ordnern sind unterscheidbar.
- FIX potrace Timeout: Klare Fehlermeldung mit Lösungshinweis statt nackter Exception.
- FIX Batch-Export:
_is_tracing-Regression aus v1.9.12 behoben (Flag blockierte Live-Trace nach Batch-Dialog-Öffnen). - FIX _collect:
last_export_fmtim Profil-Snapshot enthalten.
v1.9.12 – Bugfixes & Code-Qualität
- BUGFIX KRITISCH: f-String-Syntax-Fehler auf Python 3.10/11 behoben –
webbrowser-Aufrufe nutzen jetztpathlib.Path.as_uri()statt verschachtelter Anführungszeichen. - BUGFIX: Thread-Guard in
_run_trace– bei schnellen Slider-Bewegungen werden keine parallelenpotrace.exe-Instanzen mehr gestartet; Debounce-Retry nach 300 ms. - BUGFIX:
trace_potrace_color: fehlerhafte Farbschichten werden jetzt in der Konsole gemeldet statt lautlos ignoriert. - BEREINIGUNG:
webbrowsernicht mehr lokal reimportiert (2× redundant entfernt). - FIX SPEC:
windndalshiddenimportergänzt → Drag & Drop funktioniert jetzt zuverlässig in der EXE.
v1.9.11 – Features & Profil-Überarbeitung
- FEATURE: Letztes Export-Format beim Programmstart wiederhergestellt.
- FEATURE: PNG-Export: Post-Dialog „Jetzt öffnen?" (konsistent mit SVG/PDF/DXF).
- FEATURE: Handbuch direkt im Hilfe-Menü öffenbar.
- FEATURE: Batch-Export: Ausgabe-Ordner nach Abschluss öffenbar.
- FEATURE: Alle Profile auf einmal exportieren – jedes Profil als eigene JSON-Datei (Profile → Alle Profile exportieren …).
- PROFILE: 11 überflüssige Profile entfernt, 10 neue mit echtem visuellem Unterschied (Bleistift, Logo hart, Aquarell-Umriss, Siebdruck 3F, Porträt Schatten, Kupferstich, Druckgrafik locker/dicht, Hochkontrast-Farbe, Invertiert).
| Profil | Engine / Modus | Visuelles Ergebnis |
|---|---|---|
| Bleistift | OpenCV · Canny | Nur Kanten, kein Fill – Bleistiftzeichnung |
| Logo hart | OpenCV · mono | Hoher Schwellenwert, scharfe Ecken – Logos/Stempel |
| Aquarell-Umriss | OpenCV · Canny | Starker Blur + weiche Linien – malerisch |
| Siebdruck 3F | OpenCV · color | Nur 3 Farben, kräftige Grenzen |
| Porträt Schatten | potrace · bilateral | Nur Schatten bleiben (heller Gamma) |
| Kupferstich | potrace · Bayer 4px | Geometrisches Feinraster |
| Druckgrafik locker | potrace · kein Filter | Gamma 2.8 – lockeres Inkscape-Korn |
| Druckgrafik dicht | potrace · kein Filter | Gamma 1.4 – dichtes Inkscape-Korn |
| Hochkontrast-Farbe | OpenCV · color 8F | Kräftige Farbblöcke |
| Invertiert | OpenCV · mono | Weiß auf Schwarz |
v1.9.10 – Code-Review & Fixes
- BUGFIX:
export_pdf: Hintergrund-Rect ignorierte Hex-Farben (#rrggbb). - BUGFIX:
trace_potrace_color:fill-rule="evenodd"→"nonzero". - BUGFIX: Konturzähler nach Bildladen nicht zurückgesetzt.
- BUGFIX:
DEFAULT_SETTINGSfehltepotrace_color_mode. - BUGFIX:
_init_vars:v_pot_color_modehardcodedFalse. - BUGFIX: Hex-Kopier-Meldung überschrieb neuere Statusmeldungen.
v1.9.9 – PDF-Fix, Post-Export-Dialog, Zoom-Shortcuts
FILL_EVEN_ODD → FILL_NON_ZERO in export_pdf. Behebt ausgeschnittene Farbschichten im PDF-Farb-Export (Regression seit v1.8.2).- BUGFIX KRITISCH: PDF-Export Farb-Modus: Farbschichten wurden ausgeschnitten.
- FEATURE: Post-Export-Dialog „Datei jetzt öffnen?" (SVG/PDF/DXF).
- FEATURE:
Ctrl++/Ctrl+−/Ctrl+0Zoom-Shortcuts.
v1.9.8 – Vollständiger Code-Review
- BUGFIX KRITISCH:
fg3fehlte in beiden Themes →KeyErrorim Batch-Export-Dialog. Ergänzt. - BUGFIX: Farb-Modus:
invert=Truehatte keinen Effekt. Fix viabitwise_notpro Farbmaske. - FEATURE: SVG-Temp-Dateien werden beim Beenden aufgeräumt.
- VERBESSERUNG:
_zoom_step(factor)für Tastenkürzel +/−.
v1.9.7 – SVG-Vorschau & Konturzahl
- FEATURE: SVG-Vorschau im Browser (Strg+P / Button / Menü Ansicht).
- FEATURE: Konturzahl permanent in Statusleiste links (Dateiname | px | mm@DPI | N Konturen).
v1.9.6 – Invert-Bugfix
preproc=clahe oder bilateral und potrace-Engine waren vor v1.9.6 dauerhaft invertiert. Threshold-Werte dieser Profile können nach dem Update anders wirken und sollten neu eingestellt werden.
- BUGFIX KRITISCH:
_thresh_flag(invert, for_potrace)– einzige Quelle der Wahrheit für alle Threshold-Entscheidungen. - BUGFIX: Canny-Modus:
invert-Flag wirkungslos →cv2.bitwise_not(edges). - BUGFIX: potrace-Vorschau: Invert-Logik inkonsistent → vereinheitlicht.
v1.9.5 – Tastenkürzel & Qualität
- Strg+O = Bild öffnen, Strg+S = Profil speichern, F5 = Neu tracen, Strg+P = SVG-Vorschau, +/− = Zoom
- „Alle Profile speichern" im Profil-Menü
- Fenstergeometrie + letztes Profil werden beim Beenden gespeichert und beim nächsten Start wiederhergestellt
- Warnung wenn ungespeicherte Profiländerungen beim Beenden vorliegen
- Drag & Drop via
windnd(optional, Windows-only) - Statusleiste zweigeteilt: links permanent, rechts temporäre Meldungen
- Kein cmd-Fenster bei
potrace.exe-Aufrufen (CREATE_NO_WINDOW)
17. Wie Invert funktioniert
Seit v1.9.6 gibt es eine einzige Funktion _thresh_flag(invert, for_potrace), die alle Threshold-Entscheidungen trifft:
| Modus | invert=False | invert=True |
|---|---|---|
| OpenCV mono/color/canny | Schwarz = Vordergrund (BINARY_INV) | Hell = Vordergrund (BINARY) |
| potrace (für Binarisierung) | Schwarz = Vordergrund (BINARY) | Hell = Vordergrund (BINARY_INV) |
| Canny | Kanten normal | Kanten invertiert (bitwise_not) |
| Farb-Modus | Masken normal | Masken invertiert (bitwise_not pro Maske) |
--invert und wirkt auf die potrace-interne Verarbeitung.
18. Tipps & Tricks
Beste Ergebnisse
- Porträt, feines Korn: Profil „Inkscape-Korn" oder „Ultra-Fein" laden, Gamma per Mausrad feinjustieren
- Treppchen an Kanten: Alphamax auf 0.5–1.0 erhöhen (Ultra-Fein hat 0.03 – sehr kantig)
- Noch feiner als Inkscape: Alphamax auf 0.0, Opttolerance auf 3–4, Min-Fläche auf 1
- Korn-Dichte: Gamma unter 1 = abdunkeln = mehr Punkte = dichteres Korn
- Rauschen vermeiden: Gauss-Blur 1–2 vor dem Tracing
- Unbekannte Vorlage: Auto-Threshold (Otsu) ausprobieren
- Farben ändern: Im Farb-Modus nach dem Trace auf den Swatch rechtsklicken
- Hex-Code verwenden: Hex-Code im Swatch anklicken → sofort in Zwischenablage
Vorlagen-Empfehlungen
| Vorlage | Profil | Blur |
|---|---|---|
| Porträt, Inkscape-Qualität | Inkscape-Korn | 0 |
| Porträt, noch feiner | Ultra-Fein (Alphamax ggf. erhöhen) | 0 |
| Porträt, organisches Korn | Feinkorn-mittel | 0 |
| Logo / Stempel (s/w) | Standard | 1–2 |
| Mehrfarbiges Logo | 5 Farben | 1 |
| Stencil aus Foto | potrace Stencil | 1 |
| Foto → Strichzeichnung | potrace Foto, Modus canny | 1–2 |
19. Systemanforderungen
| Komponente | Minimum | Empfohlen |
|---|---|---|
| Betriebssystem | Windows 10 64-Bit | Windows 11 64-Bit |
| RAM | 512 MB frei | 2 GB frei |
| Auflösung | 1280 × 720 | 1920 × 1080 |
| Python (für Build) | 3.10 | 3.13 |
Verwendete Bibliotheken
| Bibliothek | Zweck | Lizenz |
|---|---|---|
| OpenCV (cv2) | Bildverarbeitung, Kontur-Erkennung | Apache 2.0 |
| Pillow (PIL) | Bildformate, Vorschau | HPND |
| ReportLab | PDF-Export | BSD |
| NumPy | Array-Operationen | BSD |
| tkinter | GUI | Python License |
| potrace | Vektorisierungs-Engine (extern) | GPL v2 |
20. Versionsgeschichte
| Version | Wichtigste Änderungen |
|---|---|
| v1.6 | Thumbnail-Preview-System – Live-Vorschau bis 20× schneller. |
| v1.7 | SVG fill-rule-Fix (Browser-Rendering). PNG-Export in Originalauflösung. potrace-Vorschau-Fix. |
| v1.8.0 | MRU-Liste (letzte 5 geöffnete Bilder) · Exportpfad-Gedächtnis. |
| v1.8.1 | Animierter Fortschrittsbalken in der Statusleiste. |
| v1.8.2 | Farbpaletten-Leiste repariert · PDF-Export color-Fix · Trace-Hash-Optimierung. |
| v1.8.3 | Zoom-Synchronisation – Mausrad zoomt zur Cursor-Position · Linksklick-Pan · Zoom-%-Anzeige. |
| v1.8.4 | Tooltips für alle Einstellungen mit ⚠-Kontext. |
| v1.8.5 | Hex-Code in Farbpaletten-Leiste · Reset-Buttons für Vorverarbeitung und Kontur. |
| v1.8.6 | Hex-Code per Linksklick in die Zwischenablage kopierbar. |
| v1.8.7 | Code-Review – 5 Bugfixes: Bayer-Dithering, _init_vars, potrace-Hash, save_profiles, Exportpfad. |
| v1.8.8 | Farbe-Ändern in Farbpaletten-Leiste repariert (Dialog hinter Hauptfenster · Preview zeigte alte Farben). |
| v1.8.9 | Interne Konsolidierung, potrace_color_mode-Grundlage. |
| v1.9.0 | Bugfixes Farb-potrace: SVG-Koordinaten-Ursprung, Farbmasken-Extraktion. |
| v1.9.1 | Farb-potrace: k-Means-Farbquantisierung + potrace pro Farbmaske (wie Inkscape Scan). Bézier-Kurven pro Farblayer. SVG-Export aus potrace-Pfaden. |
| v1.9.2–v1.9.4 | Zwischenversionen (nicht veröffentlicht): Fensterpersistenz, Profil-Dirty-Flag, Drag&Drop-Vorbereitung. |
| v1.9.5 | Tastenkürzel (Ctrl+O/S, F5), Drag&Drop, geteilte Statusleiste, Fenstergeometrie-Persistenz, Profil beim Start wiederherstellen, „Alle Profile speichern". |
| v1.9.6 | Invert-Bugfix (_thresh_flag), Canny- und Farb-Invert-Fix. |
| v1.9.7 | SVG-Vorschau im Browser · Konturzahl in der Toolbar. |
| v1.9.8 | Vollständiger Code-Review: Farb-Invert-Fix, SVG-Temp-Aufräumen, CREATE_NO_WINDOW. |
| v1.9.9 | PDF-Fix: FILL_EVEN_ODD → FILL_NON_ZERO (Regression seit v1.8.2). Post-Export-Dialog „Jetzt öffnen?". Zoom-Shortcuts Ctrl++/−/0. |
| v1.9.10 | Code-Review: 7 Bugfixes (Docstring, DEFAULT_SETTINGS, fill-rule, Hintergrund-Hex, Konturzähler, Hex-Kopier-Status, FILL_EVEN_ODD-Import). |
| v1.9.11 | Handbuch im Hilfe-Menü · PNG Post-Dialog · Batch-Ordner öffnen · Alle Profile exportieren · last_export_fmt-Persistenz · 11 Profile entfernt, 10 neue (Bleistift, Kupferstich, Siebdruck 3F u. a.). |
| v1.9.12 | Bugfixes: Thread-Guard (keine parallelen Trace-Jobs mehr) · f-String SyntaxError auf Python 3.10/11 behoben · webbrowser-Reimporte bereinigt · windnd als SPEC-hiddenimport · pathlib-basiertes URI-Handling. |
| v1.9.13 | Profil-Beschreibungen als Tooltip · last_export_fmt in _collect · dirty-Flag nur in _on_close · potrace Timeout-Meldung · Batch _is_tracing-Fix · MRU-Pfadanzeige · last_profile beim Start geladen. |
| v1.10.3 | Sprachumschaltung Etappe 3: Englisches Handbuch (Handbuch_EN.html) · sprachabhängiger Hilfe-Menüeintrag · Handbuch-Suche auch im PyInstaller-Bundle (_MEIPASS) · dritte bump-Invariante: Übersetzungs-Vollständigkeit T()/_TR_EN · Versions-Fossil in Abschnitt 21 behoben. |
| v1.10.5 | Bugfix Transparenz (RGBA-PNGs): Freigestellte PNGs mit transparentem Hintergrund wurden korrekt verarbeitet. Vorher: convert('RGB') machte transparente Pixel schwarz → schwarzer k-Means-Cluster überdeckte den gesamten Hintergrund im SVG. Fix: Alpha-Kanal wird extrahiert und als Maske genutzt – transparente Pixel (Alpha ≤ 127) werden aus k-Means ausgeschlossen (label = -1) und erscheinen in keiner Farbmaske. Dilation wird auf den opaken Bereich beschränkt. Ergebnis: transparent bleibt im SVG-Export wirklich transparent, unabhängig von Motivfarbe oder Hintergrundfarbe. Zusätzlich: potrace-eigener <rect fill="#000000"/> wird bei bg_color=transparent korrekt entfernt. |
| v1.10.5 | EXE-Verbesserungen: bt_profiles.json, bt_5_Farben.json und potrace.exe werden jetzt in die EXE eingebettet (Fallback/Vollständigkeit – alle 23 kuratierten Profile und die potrace-Engine sind ohne separate Dateien verfügbar; eine eigene potrace.exe neben der EXE hat weiterhin Vorrang). Icon-Pfad im Spec wird jetzt relativ zur Spec-Datei aufgelöst (SPECPATH) – Icon wurde trotz vorhandener Datei beim Build nicht gefunden. |
| v1.10.6 | EXE-Build-Fixes & Verbesserungen: SPECPATH-Fehler im Spec behoben (dirname(SPECPATH) ergab falsches Verzeichnis → potrace.exe und Icons wurden nicht eingebettet). potrace-Radiobutton aktualisiert sich jetzt nach 500 ms automatisch (✅ /❌ korrekt in der EXE). potrace_available() mit lazy reload. bt_profiles.json, bt_5_Farben.json und potrace.exe in EXE eingebettet; build_bitmap_tracer.bat lädt potrace automatisch herunter. find_potrace() sucht jetzt auch im Python-Verzeichnis. |
| v1.10.4 | Build-Fix: build_bitmap_tracer.bat installiert windnd mit – ohne Installation fehlte Drag & Drop in der EXE trotz Spec-Eintrag. |
| v1.10.2 | Sprachumschaltung Etappe 2: alle Tooltips (~48), alle 23 Profilbeschreibungen, alle dynamischen Statusmeldungen (Trace-Status, Konturzähler, SVG-Vorschau, Export, Undo/Redo, Esc-Abbruch, Fehlertexte), Engine-Hinweis und kompletter Batch-Export-Dialog zweisprachig (+121 Übersetzungen). Tooltips übersetzen ohne Neustart. |
| v1.10.1 | Sprachumschaltung: Hauptfenster vollständig – Sektions-Überschriften, Slider-/Combo-/Checkbox-Labels (Wrap in den UI-Helpern), Toolbar, Profil-Buttons, Panel-Titel, Modus-Tipps (+67 Übersetzungen). |
| v1.10.7 | Versions-Drift behoben: version_info.txt (filevers/prodvers hingen auf 1.10.4), Handbuch_EN.html (Titel + Kopfzeile auf 1.10.5), Versions-Badge in beiden Handbüchern (1.10.5) und bt_5_Farben.json (1.10.4) korrigiert. bump_version.py ersetzt jetzt regexbasiert und versionsunabhängig (selbstheilend) · vierte Invariante: Versions-Drift-Scan mit Exit-Code 3 · neue Optionen --yes/--check · Copyright-Block und Fußzeile in die Bump-Regeln aufgenommen · windnd-Build-Fix in der Tabelle von v1.10.5 auf v1.10.4 richtiggestellt. |
| v1.10.0 | Sprachumschaltung de/en: Ansicht → Sprache / Language · T()-Wrapper mit deutschem Fallback · Einstellung persistent in bt_config.json · Menüs sofort, restliche UI nach Neustart (Etappe 1: Menüs, Buttons, Dialoge). |
| v1.9.21 | FEATURE Invarianten-Selbsttest in bump_version.py (subprocess-creationflags, webbrowser-URI; AST-basiert, Abbruch vor Änderungen) · Release-Standard: bt_config.json bewusst nicht im ZIP (Benutzerzustand, wird automatisch erzeugt). |
| v1.9.20 | Code-Audit: CREATE_NO_WINDOW in _auto_install (Konsolen-Blitz in EXE) · fill-rule nonzero im potrace-Farb-Modus (sich kreuzende Konturen gleicher Farbe schnitten sich aus) · SVG-Vorschau-URI via pathlib.as_uri() (Umlaute/Leerzeichen im Temp-Pfad). |
| v1.9.19 | BUGFIX KRITISCH: potrace-Fallback-Konturen in falschen Koordinaten → Mini-Vorschau nach Layer-Umfärben/-Ausblenden und winzige Zeichnung im PDF/DXF-Export behoben · PERF: Layer-Ausblenden rendert auf Vorschau-Maßen (vorher sekundenlang bei großen Bildern). |
| v1.9.18 | FEATURE Esc bricht laufende potrace-Traces ab (mono, Farbe, Batch) · Batch-Abbrechen beendet auch laufenden Prozess · np.bmat → np.block (NumPy-Zukunftssicherung). |
| v1.9.17 | Code-Review: FIX Profil-Warnung beim Beenden (Startup-Snapshot) · FIX Tooltip-Stapel Profil-Combobox · FIX potrace-Vorschau bei Otsu/Dither · FIX Zoom-Tasten in Eingabefeldern · FIX Batch-potrace-SVG (mm + Copyright) · FIX PDF-Hex-Hintergrund · Über-Dialog versionsunabhängig · PNG-Icon in EXE gebundelt. |
| v1.9.16 | FIX input() headless · PERF Grau-Konvertierung · FIX Tooltip winfo_* · FIX _coerce_settings() Typsicherung |
| v1.9.15 | FIX potrace_color_mode in DEFAULT_SETTINGS · Toter Code entfernt · last_export_fmt aus Hash · Batch-Export Exception-Schutz |
| v1.9.14 | FIX Undo bei Profil-Laden · version_info.txt korrigiert (war v1.9.3) + in SPEC eingebunden · bt_5_Farben.json Versionskorrektur · start_bitmap_tracer.bat echo-Fix · Handbuch Abschnitt 13 komplett (alle 23 Profile) · bump_version.py um bt_5_Farben.json + version_info.txt erweitert. |
21. Urheberrecht & Haftungsausschluss
Urheberrecht
BitmapTracer v1.10.7
Autor: Bernhard Lickert
Entwickelt mit Claude (Anthropic)
Copyright © 2026 Bernhard Lickert. Alle Rechte vorbehalten.
Haftungsausschluss
Dieses Programm wird ohne jegliche Gewährleistung bereitgestellt. Die Benutzung erfolgt vollständig auf eigene Gefahr. Der Autor übernimmt keinerlei Haftung für direkte, indirekte oder Folgeschäden durch die Verwendung dieses Programms.