Найти - Пользователи
Полная версия: Использование python в gimp "add layer"
Начало » Python для экспертов » Использование python в gimp "add layer"
1
Cover Story
Всем доброго! Буквально вчера установил 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()
Правда она не запускается, а где найти ошибку я не знаю. Потому как после запуска Gimp'a, не показывается ни ошибка, ни сам скрипт в Gimp'е
Ferroman
Ну может вообще лучше от сюда начать?
У Вас тут ошибка:
demo_new_layer)    
main()
Наверно должно быть
new_layer_add)    
main()
Cover Story
Данную документацию я читал, но она мало чем помогла в моем вопросе (Более того я так и не смог заставить работать скрипт находящийся в документации)
new_layer_add)    
main()
К сожалению данные изменения мне не помогли, скрипт так и не заработал.
Да, забыл сказать, у меня ОС WindowsXP может быть в этом проблема?
Ferroman
Причин может быть полно.
Вот тут, например, тоже ошибка:
    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(). Это Вы так кого-то обмануть решили?
Если не объясните - то, как минимум, от меня помощи больше не будет.
Cover Story
Ferroman
Если Вы не видите с какой ошибкой “вылетает” скрипт, Вам ни чем нельзя помочь. Без возможности отладки, да ещё и без знания языка, что либо делать невозможно.
Согласен с вами абсолютно! Это действительно трудно. Тогда я хотел бы задать другой вопрос. Как проверить данный скрипт на наличие ошибок. Возможно это делается через консоль GIMP'а?
ice
В гтмпе есть консоль питона. Там можно вызвать скрипт и отпут он туда напишет.
и тут

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)


Может опечатка, но с отступами что-то не то.
Ferroman
Ммм, а что значит “собрали”? Это точная копия вот этого скрипта. Отличие только в той ошибке что я написал в посте и наличии main(). Это Вы так кого-то обмануть решили?
Если не объясните - то, как минимум, от меня помощи больше не будет.
Вы не ответили.
Cover Story
Ну если я создал пустой текстовый файл, и скопировал туда содержимое листинга. Может это являться точной копией или нет?
Ferroman
Да. Но тогда тут:
следуя методом проб и ошибок собрал вот такую штуку
Вы лгали, поскольку фраза предполагает, что скрипт сделали вы.
Всего доброго.
Cover Story
Но я хотел из готового плагина вырезать кусочек и сделать его чтобы он отдельно работал
Извините, но я нигде не писал, что скрипт сделал я. Я просто прошу мне помочь, в том что у меня есть строчки кода в текстовом файле которые я хочу проверить на наличие ошибок. Как можно проверить файл со скриптом например: python.py на наличие ошибок. Хотя бы синтаксис?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB