Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 26, 2008 16:38:44

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Всем доброго! Буквально вчера установил 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'е



Python 2.7.3
Pyside 1.1.2

Офлайн

#2 Авг. 26, 2008 16:57:42

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Ну может вообще лучше от сюда начать?
У Вас тут ошибка:

demo_new_layer)    
main()
Наверно должно быть
new_layer_add)    
main()

Офлайн

#3 Авг. 26, 2008 21:06:24

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Данную документацию я читал, но она мало чем помогла в моем вопросе (Более того я так и не смог заставить работать скрипт находящийся в документации)

new_layer_add)    
main()
К сожалению данные изменения мне не помогли, скрипт так и не заработал.
Да, забыл сказать, у меня ОС WindowsXP может быть в этом проблема?



Python 2.7.3
Pyside 1.1.2

Офлайн

#4 Авг. 26, 2008 22:33:50

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Использование python в gimp "add 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)
Но Вы должны понимать что не нельзя же полностью всё Вам разжевать. Если Вы не видите с какой ошибкой “вылетает” скрипт, Вам ни чем нельзя помочь. Без возможности отладки, да ещё и без знания языка, что либо делать невозможно.

Ммм, а что значит “собрали”? Это точная копия вот этого скрипта. Отличие только в той ошибке что я написал в посте и наличии main(). Это Вы так кого-то обмануть решили?
Если не объясните - то, как минимум, от меня помощи больше не будет.

Отредактировано (Авг. 26, 2008 23:16:04)

Офлайн

#5 Авг. 27, 2008 07:20:04

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Ferroman
Если Вы не видите с какой ошибкой “вылетает” скрипт, Вам ни чем нельзя помочь. Без возможности отладки, да ещё и без знания языка, что либо делать невозможно.
Согласен с вами абсолютно! Это действительно трудно. Тогда я хотел бы задать другой вопрос. Как проверить данный скрипт на наличие ошибок. Возможно это делается через консоль GIMP'а?



Python 2.7.3
Pyside 1.1.2

Офлайн

#6 Авг. 27, 2008 12:28:51

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование python в gimp "add 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)


Может опечатка, но с отступами что-то не то.



Офлайн

#7 Авг. 27, 2008 12:35:13

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Ммм, а что значит “собрали”? Это точная копия вот этого скрипта. Отличие только в той ошибке что я написал в посте и наличии main(). Это Вы так кого-то обмануть решили?
Если не объясните - то, как минимум, от меня помощи больше не будет.
Вы не ответили.

Офлайн

#8 Авг. 27, 2008 12:54:02

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Ну если я создал пустой текстовый файл, и скопировал туда содержимое листинга. Может это являться точной копией или нет?



Python 2.7.3
Pyside 1.1.2

Офлайн

#9 Авг. 27, 2008 13:55:54

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Да. Но тогда тут:

следуя методом проб и ошибок собрал вот такую штуку
Вы лгали, поскольку фраза предполагает, что скрипт сделали вы.
Всего доброго.

Офлайн

#10 Авг. 27, 2008 14:38:39

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование python в gimp "add layer"

Но я хотел из готового плагина вырезать кусочек и сделать его чтобы он отдельно работал
Извините, но я нигде не писал, что скрипт сделал я. Я просто прошу мне помочь, в том что у меня есть строчки кода в текстовом файле которые я хочу проверить на наличие ошибок. Как можно проверить файл со скриптом например: python.py на наличие ошибок. Хотя бы синтаксис?



Python 2.7.3
Pyside 1.1.2

Отредактировано (Авг. 27, 2008 14:41:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version