> 1 <

Автор Сообщение

mikhail.kazakov

Members


Статус

1 сообщений

Где: Russia
Род занятий:
Возраст:

#7774   2017-04-24 21:02 GMT+3 часа(ов)      
Нижеприведенный скрипт перебирает все слои, берет их имена и сохраняет в картинки png.
Пожалуйста, помогите мне подредактировать код, т. к. с Scheme Script-Fu
знаком первый день, программирую на ООП языках. Нужно, чтобы, если в имени слоя был символ «-», то слой НЕ сохраняется в png картинку.

(define (script-fu-export-layers img drw path outnameformat)
; credit to Vijay Mathew on Stack Overflow for the expand keywords function
(let ((expand-keywords (lambda(format tokens)
(let loop ((slist (string->list format))
(in-replace-mode #f)
(result ""))
(if (not (null? slist))
(let ((c (car slist)))
(cond (in-replace-mode
(let ((token (car (cdr (assoc c tokens)))))
(loop (cdr slist) #f (string-append result token))))
((char=? c #\~)
(loop (cdr slist) #t result))
(else
(loop (cdr slist) #f (
string-append result (make-string 1 c))))))
result)))))
ДЕЛАТЬ ПРОВЕРКУ НА СИМВОЛ, ВИДИМО НАДО ГДЕ-ТО В НИЖЕПРИВЕДЕННОМ БЛОКЕ КОДА
(for-each (lambda (layer)
(let* (
(name (expand-keywords outnameformat `(
(#\~ "~")
(#\i ,(car(gimp-image-get-name img)))
(#\l ,(car(gimp-drawable-get-name layer))))))
(outpath (string-append path "/" name)))
(gimp-file-save RUN-NONINTERACTIVE img layer outpath name)
)) (vector->list(cadr (gimp-image-get-layers img)))))
)
 
(script-fu-register
"script-fu-export-layers"
"Экспорт слоёв"
"Экспортирует слои в отдельные изображения в формате PNG"
"Stuart P. Bentley <stuart@testtrack4.com>"
"(C) 2011 by Stuart P. Bentley"
"June 28, 2011"
"*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-DIRNAME "Выбрать папку для сохранения" ""
SF-STRING "Формат имени изображений\
(~i = Имя изображения\
~l = Имя слоя\
~~ = ~)"

"~l.png"
)

отредактировал(а) mikhail.kazakov: 2017-04-24 21:16 GMT+3 часа(ов)
> 1 <


Онлайн :

0 пользователь(ей), 24 гость(ей) :




Реклама на сайте: