Skalieren und mit Floyd-Steinberg Rasterung Monochrom machen: wie geht das mit Skript-Fu?

Benutzeravatar
Das Auge
Beiträge: 2
Registriert: Do 15. Feb 2018, 19:19
Skype:

Skalieren und mit Floyd-Steinberg Rasterung Monochrom machen: wie geht das mit Skript-Fu?

Beitragvon Das Auge » Do 15. Feb 2018, 19:46

Die Vorgeschichte
Ich muss regelmäßig Kopiervorlagen für eine Vervielfältigungsmaschine machen (diese Maschinen scannen die Vorlage, perforieren ein Master mit dem Motiv, und damit werden dann die Seiten bedruckt). Damit auch graue Flächen und Übergänge dargestellt werden, bin ich dazu übergegangen, die Bilder mit Gimp per Floyd-Steinberg Rasterung zu einem monochromen Bild zu machen, und dieses dann in die jeweiligen Office-Dokumente einzufügen.

Ich möchte diesen Ablauf gerne automatisieren. Ich habe mich in Skript-Fu eingelesen, habe es aber nicht zu einem funktionierenden Skript geschafft. Könnt ihr mir hier helfen?

Anforderungen an das Skript
Die Benutzereingaben
  • gewünschte Länge des Bildes in mm
  • DPI
  • reduziertes Farbbluten: Ja oder nein
Soweit bin ich schon:

Code: Alles auswählen

  SF-ADJUSTMENT "Breite in mm" (list 127 1 5000 1 10 0 SF-SPINNER)
  SF-ADJUSTMENT "DPI" (list 150 1 5000 50 150 0 SF-SPINNER)
  SF-TOGGLE     "Reduziertes Farbbluten"             FALSE


Die Arbeitsschritte, die das Skript machen soll:
  • Die korrekte Auflösung für die angegebenen DPI und Seitenlänge ausrechnen
  • Das Bild skalieren
  • Das Bild in monochrom umwandeln, mit Floyd-Steinberg Rasterung. Je nach Einstellung mit oder ohne reduziertem Farbbluten

Ich stecke komplett fest. Keine Ahnung wie es weiter geht. :heul: Ich weiß nicht, wie man die Benutzereingaben vom Skrpit-Formular einliest. Ich weiß nicht, wie man die Daten des Bildes abfragt. Ich weiß nicht wie man skaliert. Ich weiß nicht, wie man monochrom macht.

Wäre super, wenn ihr mir mit Einsichten, oder gar mit Code auf die Sprünge helfen könntet!

Benutzeravatar
eibauoma
Beiträge: 7504
Registriert: Do 25. Mär 2010, 21:02
Skype:
Wohnort: Oberlausitz
Kontaktdaten:

Re: Skalieren und mit Floyd-Steinberg Rasterung Monochrom machen: wie geht das mit Skript-Fu?

Beitragvon eibauoma » Do 15. Feb 2018, 20:09

So weit mir bekannt ist, haben wir im Moment keine aktiven Mitglieder, die das Schreiben von Gimp-Scripten komplex beherrschen.
Hier ist ein Link, über den eventuell Dienstleistung angefordert werden kann:
http://www.gimp-scripte.de/test_gimp_scripte/index.php/mein-script

Ich bin davon ausgegangen, dass Du die Einführung "Das bißchen Script-Fu macht sich von allein … "- in drei Teilen von ClaraFall gelesen hast. Teil 1

Benutzeravatar
Das Auge
Beiträge: 2
Registriert: Do 15. Feb 2018, 19:19
Skype:

Re: Skalieren und mit Floyd-Steinberg Rasterung Monochrom machen: wie geht das mit Skript-Fu?

Beitragvon Das Auge » Sa 17. Feb 2018, 21:13

Nach einer um die Ohren geschlagenen Nacht, vielem Herumprobieren mit Intuition ohne genau zu verstehen, warum etwas erst nicht funktioniert hat und jetzt schon, habe ich ein lauffähiges Script fertig gebracht. Ich will es euch nicht vorenthalten. Wenn jemand in einer ähnlichen Situation ist: Glück gehabt, jemand anderes hat für dich die Kohlen aus dem Feuer geholt :troest:

Code: Alles auswählen

(define (script-fu-kopiervorlage img drawable inBreite inDPI inReduziertesFarbbluten)
;Spuckt vom eingegebenen Maß die neue Länge in Pixel aus.
(define
   (
      shrink
      Originalmass
      Ratio
   )
   (* Originalmass Ratio)
)

; Spuckt das Verhältnis Gewünschte Größe / aktuelle Größe aus.
; Wird dieses Verhältnis mit Länge oder Breite multipliziert,
; erhält man das gewünschte Maß.
(let*
   (
      (neuBreit 100) ;beliebiger Wert. Wird mit dem korrekten Wert überschrieben, sobald er bekannt ist
      (neuHoch 100) ;beliebiger Wert. Wird mit dem korrekten Wert überschrieben, sobald er bekannt ist
      (height (car (gimp-image-height img)))
      (width  (car (gimp-image-width  img)))
; Formel, die metrische Maße in DPI umrechnet
      (ratio (/   (* (/ inDPI 25.4 )  inBreite )     (car(gimp-image-width  img)) )
      )
   )
   ;Die neue Breite wird aus dem Verhältnis und dem alten Wert errechnet
   (set! neuBreit (shrink
            width
            ratio
         )
   )
   ;Die neue Höhe wird aus dem Verhältnis und dem alten Wert errechnet
   (set! neuHoch   (shrink
            height
            ratio
         )
   )
      ; Das Bild kann nun skaliert werden 
      (gimp-image-scale img neuBreit neuHoch)
   )
   ; Dann wird es Indizieret
   (gimp-image-convert-indexed img (+ 1 inReduziertesFarbbluten) 3 0 FALSE FALSE "monochrome")
   ; Schließlich müssen die DPI richtig gesetzt werden
   (gimp-image-set-resolution img inDPI inDPI)
;Damit alles korrekt dargestellt wird
    (gimp-displays-flush)
)
(script-fu-register
  "script-fu-kopiervorlage"
  "Pfarrblatt Burgstall"
  "Skaliert das Bild auf eine gewünschte Größe und konvertiert es in ein monochromes Bild mit Floyd-Steinberg-Rasterung"
  "Das Auge"
  "Copyright: Publich Domain"
  "16. Februar 2018"
  ""
  SF-IMAGE       "Image"              0
  SF-DRAWABLE    "Drawable"           0
  SF-ADJUSTMENT "Breite in mm" (list 120 1 5000 2 20 0 SF-SPINNER) ;Standardwert: 120; von 1 bis 5000; Schrittweite: 1 mit Pfeil, 20 mit Bild ab
  SF-ADJUSTMENT "DPI" (list 300 1 5000 50 150 0 SF-SPINNER)
  SF-TOGGLE     "Reduziertes Farbbluten"             FALSE
)
(script-fu-menu-register "script-fu-kopiervorlage" "<Image>/Image/")


Ich beschreibe nochmal kurz, was es macht: Es skaliert ein geöffnetes Bild auf die gewünschte Größe in mm. Dazu muss auch ein DPI-Wert angegeben werden (Standard: 300). Dann wird es mithilfe der Floyd-Steinberg Rasterung in ein monochromes Bild umgewandelt. Wahlweise mit reduziertem Farbbluten.

Benutzeravatar
eleanora
Administrator
Beiträge: 9460
Registriert: Do 25. Mär 2010, 00:53
Skype:
Wohnort: Osnabrück
Kontaktdaten:

Re: Skalieren und mit Floyd-Steinberg Rasterung Monochrom machen: wie geht das mit Skript-Fu?

Beitragvon eleanora » So 18. Feb 2018, 13:42

Wow, das ist ja mal super :spitze: Danke dir :D
Schau rein, in unsere Smiley-Werkstatt!
Aussuchen - Rechtsklick - Grafikadresse kopieren
im Beitrag als img einfügen!
Meine Lieblingssmileys ... BildBildBild


Zurück zu „Scripte und Filter/Plugins“



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste