Forum Wiki Galerie Kontakt Wie man Fragen richtig stellt. Tutorial Forum
Zurück   GIMP-Forum 3.0 > Arbeiten mit Gimp > GIMP-Ressourcen > Skripte

Hinweise
Alt 13.01.2013, 16:28   #4
dot
Neuer Benutzer
 
Registriert seit: 22.12.2012
Beiträge: 3
Standard

Hallo,

hier ist mein (vorläufiges) Ergebnis.

Code:
(define (dotFunk-ZeFueL OText Fuellzeichen Laenge)        ;String nach links auffüllen
    (let*    (
        (Zaehler 0)
        (NText "")
        )
    (set! NText OText)
    (while (< Zaehler Laenge)
        (set! Zaehler (+ Zaehler 1))
        (set! NText (string-append Fuellzeichen NText))
    )
    (set! NText (substring NText (- (string-length NText) Laenge) (string-length NText)))
    )
)
(define (dotFunk-ZeFueR OText Fuellzeichen Laenge)        ;String nach rechts auffüllen
    (let*    (
        (Zaehler 0)
        (NText "")
        )
    (set! NText OText)
    (while (< Zaehler Laenge)
        (set! Zaehler (+ Zaehler 1))
        (set! NText (string-append NText Fuellzeichen))
    )
    (set! NText (substring NText 0 Laenge))
    )
)

(define (MeinScript-Ausschnitt-speichern BildO Bildqualitaet KaLae)
    (let*    (
        ; BildO            ;Originalbild
        ; Bildquaöität        ;Komprimierungsfaktor beim Speichern
        ; KaLae            ;max. Kantenlänge der längeren Seite des neuen Bildes
        (BildN 0)        ;neues Bild
        (BildOName "0")        ;Name Originalbild
        (BildNName "0")        ;Name neues Bild
        (BildOPuF "0")        ;Pfad + Name Originalbild
        (BildNPuF "0")        ;Pfad + Name neues Bild
        (pfad "0")        ;Verzeichnispfad
        (endung ".jpg")        ;Dateiendung
        (BildNAnzeige 0)    ;Anzeigedenster (display) des neuen Bildes
        (dz "0")        ;Datum und Zeit
        (dzu "0")        ;Zeit zwischenspeichern. Ist übersichtlicher.
        (dzs "0")        ;Datum und Zeit String
        )
    (set! dz (time))
    (set! dzu (cdddr dz))
    (set! dzs (string-append
        (number->string (+ 1900 (car dz)))
        (dotFunk-ZeFueL (number->string (+ 1 (cadr dz))) "0" 2)
        (dotFunk-ZeFueL (number->string (caddr dz)) "0" 2)
        "-"
        (dotFunk-ZeFueL (number->string (car dzu)) "0" 2)
        (dotFunk-ZeFueL (number->string (cadr dzu)) "0" 2)
        (dotFunk-ZeFueL (number->string (caddr dzu)) "0" 2)
    ))
    (set! BildOName (car (gimp-image-get-name BildO)))
    (set! BildOPuF (car (gimp-image-get-filename BildO)))
    (set! pfad (substring BildOPuF 0 (- (string-length BildOPuF) (string-length BildOName))))
    (set! BildNName (string-append
            (substring BildOName 0 (- (string-length BildOName) (string-length endung)))
             "_Ausschnitt_"
            dzs
            "_Q" 
            (if (= Bildqualitaet 1)
                (string-append "1.00")
                (dotFunk-ZeFueR (number->string Bildqualitaet) "0" 4)
            )
            endung
    ))
    (set! BildNPuF (string-append pfad BildNName))
    (gimp-edit-copy-visible BildO)                    ;Bild bzw. Bildauswahl in die Zwischenablage kopieren
    (set! BildN (car (gimp-edit-paste-as-new)))            ;neues Bild aus der Zwischenablage erstellen
    (set! BildNAnzeige (car (gimp-display-new BildN)))        ;neues Bild anzeigen
    (gimp-image-set-filename BildN BildNPuF)            ;dem neuen Bild Pfad + Namen geben -> keine Ahnung ob das nötig ist; es schadet aber nicht


(if (> KaLae 0)
    (begin
        (if (< KaLae (car (gimp-image-height BildN)))
            (MeinScript-groesseaendern BildN KaLae)
            (begin
                (if (< KaLae (car (gimp-image-width BildN)))
                    (MeinScript-groesseaendern BildN KaLae)
                )
            )
        )
    )
)


    (file-jpeg-save 1 BildN (car (gimp-image-get-active-drawable BildN)) BildNPuF BildNPuF Bildqualitaet 0 0 0 "" 0 0 0 0)
    (gimp-display-delete BildNAnzeige)
    )
)

; In GIMP-Menu registrieren
(script-fu-register
    "MeinScript-Ausschnitt-speichern"
        "<Image>/MeinScript/Ausschnitt speichern"
        "Markierten Ausschnitt in einem neuen Bild speichern."
        "dot"
        "(c) dot"
        "2012-12-23"
        ""
    SF-IMAGE "dasbild" 0
    SF-ADJUSTMENT "Bildqualität beim Speichern" '(.55 0.01 1 0.01 0.1 2 0)
    SF-ADJUSTMENT "längeren Seite des neuen Bildes reduzieren auf *Pixel.\n0 = keine Verkleinerung" '(0 0 20000 1 100 0 0)
)

(define (MeinScript-groesseaendern ubild gls)
    (let*    (
        ; ubild    ;Bild
        ; gls    ;neue Größe der längeren Seite
        (ha 0)    ;höhe alt    (height)
        (ba 0)    ;breite alt  (width)
        (hn 0)    ;höhe neu
        (bn 0)    ;breite neu
        (fa 0)    ;Größenänderungsfaktor
        )

        (set! ha (car (gimp-image-height ubild)))
        (set! ba (car (gimp-image-width ubild)))

        (if (> ha ba)
            (begin
                (set! fa (/ gls ha))
                (set! hn gls)
                (set! bn (* ba fa))
                (if (< bn 1) (set! fa 0))
            )
            (begin
                (set! fa (/ gls ba))
                (set! bn gls)
                (set! hn (* ha fa))
                (if (< hn 1) (set! fa 0))
            )
        )
        (if (> fa 0)
            (begin
                (gimp-image-scale-full ubild bn hn 2)
            )
            (begin
                (gimp-message "Eine Seite ist kleiner als 1px.\nGrößenanpassung geht nicht.")
            )
        )
    )
)

; In GIMP / im Menü registrieren
(script-fu-register
    "MeinScript-groesseaendern"
        "<Image>/MeinScript/Größe Ändern"
        "Was macht's"
        "dot"
        "(c) dot"
        "2013-01-06"
        ""
    SF-IMAGE "ubild" 0
    SF-ADJUSTMENT "neue Größe der längeren Seite" '(250 1 20000 1 100 0 0)        ;Wert2 >= 1 ;Wert3 <= 242144 ;siehe Beschreibung zu gimp-image-scale-full; VORSICHT BEI ZU GROßEN ZAHLEN
)
Viele Grüße
dot ist offline   Mit Zitat antworten
 

Lesezeichen

Stichworte
datum , uhrzeit

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[GIMP Registry] - Batch Image Watermark Script Wilber GIMP 0 14.09.2012 05:08
[GIMP Registry] - 3-D Rotation Script Wilber GIMP 0 05.03.2011 14:10
[GIMP Registry] - Updated PhotoLab script with modified borders and save metadata in Wilber GIMP 0 09.09.2010 06:32
[GIMP Registry] - Script for advanced duplication of drawables Wilber GIMP 0 16.01.2010 18:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:47 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.