0

I have this function def enumerategrid(image, width, height, tcolor, theight, font, startfrom)

And have it registered:

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"
)

However, when I want to run the new installed plugin, I get this error from Gimp:

enter image description here

It seems like Gimp is not passing the current image to my plug-in, so 6 arguments are passed instead of 7. How can I solve this issue?

shackra
  • 277
  • 3
  • 16
  • 56

2 Answers2

1

The following now works on my machine. My original answer was correct about the parameters you needed to pass.

Please also note that I had to change menu to label.

#!/usr/bin/env python
#https://stackoverflow.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
cmoman
  • 341
  • 3
  • 5
0

This might seems odd, but perhaps try

def enumerategrid(image, layer ,width, height, tcolor, theight, font, startfrom)

The examples here might be helpful.

http://registry.gimp.org/node/28124

cmoman
  • 341
  • 3
  • 5