GerbV (Gerber Viewer): Wie wird der PNG-Export nur des Bereichs innerhalb des Platinenumrisses durchgeführt?

Gerbv (Open-Source-Gerber-Viewer) hat die nette Fähigkeit, eine anpassbare Wiedergabe eines bestimmten Ebenenstapels in ein Ausgabe-PNG zu exportieren.

Hier ist das Handbuch (Strg+F für "Exportieren"): http://manpages.ubuntu.com/manpages/trusty/man1/gerbv.1.html

Aber egal was ich versuche, ich kann diesen Export nicht so durchführen, dass nur der Bereich innerhalb des Board-Umrisses in das PNG exportiert wird.

Derzeit zeigt das exportierte PNG einen vollständigen rechteckigen Bereich (zusammen mit einem festgelegten Randbereich außerhalb des Platinenumrisses), selbst wenn der Platinenumriss beispielsweise kreisförmig ist.

Gibt es also eine vorgeschlagene Problemumgehung, um das Bild nur der genauen Platinenform selbst zu erreichen?

Oder gibt es alternativ eine Möglichkeit, NUR dem "externen Hintergrund"-Bereich (dh dem überschüssigen Bereich um den eigentlichen Platinenumriss selbst) eine bestimmte andere Farbe zuzuweisen, so dass sie sich von allen Farben des Bereichs innerhalb des Platinenumrisses unterscheidet ?


ANMERKUNG 1:

Nehmen Sie zur Verdeutlichung an, dass ich mit allen Standard-Gerber-Ebenen beginne, einschließlich einer Gliederungsebene.


ANMERKUNG 2:

Hier sind ein paar Dinge, die ich bisher versucht habe:

1) Standard-Export: GUI-Ansatz: Alle Layer laden. Datei > Exportieren > Befehlszeilenansatz:gerbv --dpi=600 --border=0 --export=png --output=fullBoard.png --project= myProject.gvp

2) Fenstergröße für den Export festlegen: --window = <300,300>Dies ändert nur die rechteckige Fenstergröße (offensichtlich hat es keine Abhängigkeit von der tatsächlichen Umrissebene der Platine).

3) Bildverarbeitung unter Verwendung von GIMP (Subtrahieren einer repräsentativen Farbe vom Tafelhintergrund, dh dem Bereich außerhalb des Umrisses, und dann Ausführen eines Zuschneidens). Ich versuche es immer noch, aber bisher bin ich nicht in der Lage, universelle Arbeitskriterien für die programmgesteuerte Identifizierung NUR des Bereichs außerhalb des Board-Umrisses (repräsentiert durch GKO) zu finden.

kannst du näher erläutern, was du schon probiert hast?
"Gibt es eine vorgeschlagene Problemumgehung, um das Bild nur der genauen Platinenform selbst zu erreichen?" - Soweit ich weiß, gibt es kein Rastergrafikdateiformat, das etwas anderes als eine rechteckige Anordnung von Pixeln speichert. Aber ich verstehe wahrscheinlich einfach nicht, was genau du erreichen willst. Warum exportieren Sie das Bild nicht einfach so, wie es ist, und verwenden Ihren bevorzugten Bildeditor, um die Umgebung zu überfluten? Möchten Sie ein Exportbeispiel zeigen und veranschaulichen, was anders sein sollte?
Da es sich um ein Open-Source-Projekt handelt, können Sie diese Frage entweder den Mitwirkenden stellen oder den Quellcode selbst ändern (wenn Sie über die entsprechenden Fähigkeiten verfügen).
Alle: Ich füge Details über Dinge hinzu, die ich ausprobiert habe, sowie einige Bilder; Bitte schauen Sie in ein paar Minuten noch einmal vorbei.
@Rev1.0: Ich denke, was Sie vorschlagen, entspricht dem, was ich will; Das Überfluten / Subtrahieren der Umgebung wäre für mich programmgesteuert in Ordnung, außer wie würde ich genau diesen Bereich auswählen? Übrigens ist das PNG-Format für nicht rechteckige Grafiken geeignet (dh zum Beispiel ein kreisförmiges Bild mit einem transparenten/nicht vorhandenen Hintergrund); Es ist nur so, dass der Export von GerbV den Hintergrund als Teil des Bildes enthält.
@RawBean: Ich habe versucht, die Mitwirkenden zu kontaktieren; Bisher keine Antwort, aber ich bin offen dafür, in der Zwischenzeit einige alternative Ansätze auszuprobieren, daher der Beitrag hier. Das Ändern des Quellcodes scheint eine Option zu sein; Ich bin neu in so etwas, also probiere ich zuerst Methoden auf hohem Niveau aus.

Antworten (1)

Da die Bildbearbeitung mit GIMP eine Option für Sie ist, poste ich dies als Antwort.

Aus den Kommentaren:

Das PNG-Format ist für nicht rechteckige Grafiken geeignet (z. B. ein kreisförmiges Bild mit einem transparenten/nicht vorhandenen Hintergrund).

Das ist nicht ganz richtig. PNG unterstützt nur rechteckige Grafiken. Es gibt kein nicht vorhandenes Hintergrundkonzept. PNG verwendet Alpha-Transparenz, die es im Wesentlichen ermöglicht, die Transparenz für jedes Pixel festzulegen.

"Programmgesteuertes Überfluten/Subtrahieren der Umgebung wäre für mich in Ordnung, außer wie würde ich genau diesen Bereich auswählen?"

Mit GIMP ist es einfach, dieses Ergebnis in Sekundenschnelle zu erhalten.

  1. Um den Bereich um den PCB-Rand herum auszuwählen, den Sie transparent machen möchten, habe ich das Zauberstab / Fuzzy-Auswahlwerkzeug verwendet. Gehen Sie zu „Extras“ > „Auswahlwerkzeuge“ > „Fuzzy-Auswahl“ (Tastenkürzel „U“). Klicken Sie dann auf den jeweiligen Bereich. Verwenden Sie die Einstellung „Schwellenwert“, um den Bereich der Farbvariationen festzulegen, die in der Auswahl enthalten sind.

  2. Wählen Sie im Ebenenfenster Ebene - Transparenz - Alphakanal hinzufügen. Wenn dies ausgeblendet ist, ist Ihr Bild bereits so eingestellt, dass Transparenzdaten gespeichert werden.

  3. Wählen Sie Bearbeiten - Löschen. Dadurch wird die vorherige Auswahl transparent.

  4. Stellen Sie beim Speichern der Datei sicher, dass „Farbwerte aus transparenten Pixeln speichern“ ausgewählt ist.