PDA

Vollständige Version anzeigen : Seltsame Artefakte im Layer


23skiddow
17.04.2008, 16:42
geht doch FAST. hier das erste skript :p das klappt wunderbar - bis auf die obere linke ecke- :neutral: In dem Layer ist in der Ecke oben rechts ca 100x100px "schrott" zu sehen. Wenn ich das Skript ausführe ist sind die Ecken OR UR UL ok, nur OR hat irgendwie eine nicht definierbare Farbe. Wenn ich das Skript an der Stelle anhalte ist die Ebene da, aber in der obern rechten Ecke ein Quadrat mit pixeln, Kram, ich weiss nicht was. Ich habe dann (gimp-edit-clear Rahmen ) dort eingfügt aber verstehen tu ich es nicht.
Weiss jemand was damit anzufangen?

torsten


; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <http://www.gnu.org/licenses/>.
; 2008 torsten bahr bilderbar.de

(define (script-fu-runden-Rahmen Bild Ebene Rahmen_Breite Rahmen_Radius Rahmen_Farbe Hintergrundfarbe)

; die Variablen init

(set! Breite (car (gimp-image-width Bild)))
(set! Hoehe (car (gimp-image-height Bild)))
(set! neue_Breite (* 2 Rahmen_Breite))
(set! neue_Hoehe (* 2 Rahmen_Breite))
(set! Rahmen_Aussenradius( + Rahmen_Radius ( / Rahmen_Breite 2)))
(set! Auswahl)
(set! Maske)
(set! Hintergrund)
(set! Rahmen)

; Farben setzen

(gimp-context-set-foreground Rahmen_Farbe)
(gimp-context-set-background Hintergrundfarbe)

;------Ecken abrunden -----

(set! Auswahl (car (gimp-selection-all Bild)))
(script-fu-selection-rounded-rectangle Bild Auswahl Rahmen_Radius 0)
(set! Maske (car (gimp-layer-create-mask Ebene 4)))
(gimp-layer-add-alpha Ebene)
(gimp-layer-add-mask Ebene Maske)

; Bild vergroessern
(gimp-image-resize Bild (+ Breite neue_Breite) (+ Hoehe neue_Hoehe) Rahmen_Breite Rahmen_Breite)

;------den Rahmen bauen-----

(set! Rahmen (car (gimp-layer-new Bild 50 50 0 "Rahmen" 100 0)))
(gimp-layer-add-alpha Rahmen)
(gimp-image-add-layer Bild Rahmen -1)
(gimp-layer-resize-to-image-size Rahmen)
(set! Auswahl (car (gimp-selection-all Bild)))

; diese Zeile loeschen dann gibt es den Kram zu sehen
(gimp-edit-clear Rahmen )


(script-fu-selection-rounded-rectangle Bild Auswahl Rahmen_Aussenradius 0)
(gimp-edit-fill Rahmen 0)
(gimp-image-lower-layer-to-bottom Bild Rahmen)


;------den Hintergrund-------

(set! Hintergrund (car (gimp-layer-new Bild 50 50 0 "Hintergrund" 100 0)))
(gimp-layer-add-alpha Hintergrund)
(gimp-image-add-layer Bild Hintergrund -1)
(gimp-layer-resize-to-image-size Hintergrund)
(gimp-selection-all Bild)
(gimp-edit-fill Hintergrund 1)
(gimp-image-lower-layer-to-bottom Bild Hintergrund)

)

(script-fu-register
"script-fu-runden-Rahmen"
"<Image>/Xtns/Runden Rahmen..."
"Erzeugt einen runden farbigen Rahmen um ein Bild."
"bilderbar.de"
"copyright 2008, Torsten Bahr"
"080414"
""
SF-IMAGE "Bild" 0
SF-DRAWABLE "Ebene" 0
SF-VALUE "Rahmenbreite" "10"
SF-VALUE "Rahmenradius" "30"
SF-COLOR "Farbe" '(0 0 99)
SF-COLOR "Hintergrundfarbe" '(210 210 255)
)
http://www.bildebar.de/service/bild_4.png

schumaml
17.04.2008, 16:59
Es fehlt ein Aufruf von gimp-drawable-fill für neu erzeugte Ebenen und Masken.

23skiddow
17.04.2008, 17:12
hm, das verstehe ich nicht. wo muss der aufruf hin?

Hier mal ein screenshot.http://bilderbar.de/service/Bild_6.png