Форум сайта python.su
Всем доброго! Буквально вчера установил python и настроил его под работу с gimp'ом. Теперь сижу пытаюсь раобраться, готовые плагины запускаются нормально. Но я хотел из готового плагина вырезать кусочек и сделать его чтобы он отдельно работал. Честно говоря понятия не имею что такое python, Но следуя методом проб и ошибок собрал вот такую штуку:
#!/usr/bin/env python
from gimpfu import *
def new_layer_add(image, drawable, fill_type, layer_name):
new_layer = pdb.gimp_layer_new(image, image.width, image.height, RGBA_IMAGE, layer_name, 100.0, NORMAL_MODE)
image.add_layer(new_layer, 0)
pdb.gimp_drawable_fill(new_layer, fill_type)
return image, new_layer
def demo_new_layer(image, drawable, fill_type):
layer_name = 'a new layer'
image, new_layer = new_layer_add(image, drawable, fill_type, layer_name)
register(
"python_fu_demo_new_layer",
"A demonstration of how to add a new layer to an existing image.",
"This demonstration, while useless on its own, shows how to add a new layer in a gimp-python script.",
"Carol Spears",
"Carol Spears and Others and General Public License",
"2005",
"<Image>/Python-Fu/Decor/Add Layer",
"",
[
(PF_RADIO, "fill_type", "Fill with:", TRANSPARENT_FILL, (("Foreground", FOREGROUND_FILL), ("Background", BACKGROUND_FILL), ("White", WHITE_FILL), ("Transparency", TRANSPARENT_FILL), ("Pattern", PATTERN_FILL)))
],
[],
demo_new_layer)
main()
Офлайн
Ну может вообще лучше от сюда начать?
У Вас тут ошибка:
demo_new_layer)
main()
new_layer_add)
main()
Офлайн
Данную документацию я читал, но она мало чем помогла в моем вопросе (Более того я так и не смог заставить работать скрипт находящийся в документации)
new_layer_add)
main()
Офлайн
Причин может быть полно.
Вот тут, например, тоже ошибка:
def demo_new_layer(image, drawable, fill_type):
layer_name = 'a new layer'
image, new_layer = new_layer_add(image, drawable, fill_type, layer_name)
Отредактировано (Авг. 26, 2008 23:16:04)
Офлайн
FerromanСогласен с вами абсолютно! Это действительно трудно. Тогда я хотел бы задать другой вопрос. Как проверить данный скрипт на наличие ошибок. Возможно это делается через консоль GIMP'а?
Если Вы не видите с какой ошибкой “вылетает” скрипт, Вам ни чем нельзя помочь. Без возможности отладки, да ещё и без знания языка, что либо делать невозможно.
Офлайн
В гтмпе есть консоль питона. Там можно вызвать скрипт и отпут он туда напишет.
и тут
def demo_new_layer(image, drawable, fill_type):
layer_name = ‘a new layer’
image, new_layer = new_layer_add(image, drawable, fill_type, layer_name)
Может опечатка, но с отступами что-то не то.
Офлайн
Ммм, а что значит “собрали”? Это точная копия вот этого скрипта. Отличие только в той ошибке что я написал в посте и наличии main(). Это Вы так кого-то обмануть решили?Вы не ответили.
Если не объясните - то, как минимум, от меня помощи больше не будет.
Офлайн
Ну если я создал пустой текстовый файл, и скопировал туда содержимое листинга. Может это являться точной копией или нет?
Офлайн
Да. Но тогда тут:
следуя методом проб и ошибок собрал вот такую штукуВы лгали, поскольку фраза предполагает, что скрипт сделали вы.
Офлайн
Но я хотел из готового плагина вырезать кусочек и сделать его чтобы он отдельно работалИзвините, но я нигде не писал, что скрипт сделал я. Я просто прошу мне помочь, в том что у меня есть строчки кода в текстовом файле которые я хочу проверить на наличие ошибок. Как можно проверить файл со скриптом например: python.py на наличие ошибок. Хотя бы синтаксис?
Отредактировано (Авг. 27, 2008 14:41:32)
Офлайн