Gimp - текущее изображение не передается в качестве параметра моей функции плагина
У меня есть эта функция def enumerategrid(image, width, height, tcolor, theight, font, startfrom)
И есть это register
изд:
gimpfu.register(
proc_name="enumerategrid_plugin-pdb",
blurb="Enumera rejillas en una imagen",
help="Enumera rejillas en una imagen",
author="Jorge Araya Navarro <elcorreo@deshackra.com>",
copyright="Servants of the Secret Fire Game Studios",
date="2015",
label="Enumerar rejilla...",
imagetypes="*",
params=[
(gimpfu.PF_INT32, "width", "ancho de la reja", 32),
(gimpfu.PF_INT32, "height", "altura de la reja", 32),
(gimpfu.PF_COLOR, "tcolor", "Color del texto", (1.0, 1.0, 1.0)),
(gimpfu.PF_SPINNER, "theight", "Tamaño del texto", 8, (1, 50, 1)),
(gimpfu.PF_FONT, "font", "Tipografía", "Monospace"),
(gimpfu.PF_SPINNER, "startfrom", "Contar desde", 0, (0, 3000, 1))
],
results=[],
function=enumerategrid,
menu="<Image>/Desarrollo de juegos/rejillas"
)
Однако, когда я хочу запустить новый установленный плагин, я получаю эту ошибку от Gimp:
Похоже, что Gimp не передает текущее изображение в мой плагин, поэтому вместо 7 передаются 6 аргументов. Как я могу решить эту проблему?
2 ответа
Следующее теперь работает на моей машине. Мой первоначальный ответ был верным о параметрах, которые вам нужно было передать.
Также обратите внимание, что мне пришлось поменять меню на ярлык.
#!/usr/bin/env python
#https://stackru.com/questions/27751506/gimp-the-current-image-is-not-passed-as-parameter-to-my-plug-in-function/27831408#27831408
from gimpfu import *
import os
def enumerategrid(image, layer, width, height, tcolor, theight, font, startfrom):
pass
register(
proc_name="enumerategrid_plugin-pdb",
blurb="Enumera rejillas en una imagen",
help="Enumera rejillas en una imagen",
author="Jorge Araya Navarro <elcorreo@deshackra.com>",
copyright="Servants of the Secret Fire Game Studios",
date="2015",
label="<Image>/Filters/Test/enumerate",
imagetypes="*",
params=[
(PF_INT32, "width", "ancho de la reja", 32),
(PF_INT32, "height", "altura de la reja", 32),
(PF_COLOR, "tcolor", "Color del texto", (1.0, 1.0, 1.0) ),
(PF_SPINNER, "theight", "Tamao del texto", 8, (1, 50, 1)),
(PF_FONT, "font", "Tipografia", "Monospace"),
(PF_SPINNER, "startfrom", "Contar desde", 0, (0, 3000, 1)),
],
results=[],
function=enumerategrid)
main()
# to make example work, cannot use accented characters on my machine
Это может показаться странным, но, возможно, попробуйте
def enumerategrid(image, layer ,width, height, tcolor, theight, font, startfrom)
Примеры здесь могут быть полезны.