0

目前我有这个代码:

def my_script_function(image, drawable, text_value, int_value) :
   pixel = [0,0, 255, 255]
   for i in range(1,1600):
      for j in range(1,1600):
         pdb.gimp_drawable_set_pixel(drawable, i, j, 4, pixel)
   #gimp.set_background(02, 100, 255)
   pdb.gimp_image_flip( image, ORIENTATION_HORIZONTAL )
   return

pdb.gimp_image_flip( image, ORIENTATION_HORIZONTAL )工作正常,但是,pdb.gimp_drawable_set_pixel(drawable, i, j, 4, pixel)返回此错误:

Traceback (most recent call last):
  File "C:\Program Files\GIMP 2\32\lib\gimp\2.0\python\gimpfu.py", line 699, in response
    dialog.res = run_script(params)
  File "C:\Program Files\GIMP 2\32\lib\gimp\2.0\python\gimpfu.py", line 361, in run_script
    return apply(function, params)
  File "C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\Example1.py", line 15, in my_script_function
    pdb.gimp_drawable_set_pixel(drawable, i, j, 4, pixel)
RuntimeError: execution error

哪个,只是告诉我由于某种原因它没有运行pdb.gimp_drawable_set_pixel(drawable, i, j, 4, pixel)

如果您想尝试一下,这是整个脚本:

#!/usr/bin/env python

from gimpfu import *

# create an output function that redirects to gimp's Error Console
def gprint( text ):
   pdb.gimp_message(text)
   return 

# our script
def my_script_function(image, drawable, text_value, int_value) :
   pixel = [0,0, 255, 255]
   for i in range(1,1600):
      for j in range(1,1600):
         pdb.gimp_drawable_set_pixel(drawable, i, j, 4, pixel)
   #gimp.set_background(02, 100, 255)
   pdb.gimp_image_flip( image, ORIENTATION_HORIZONTAL )
   return

# This is the plugin registration function
register(
    "my_first_script2",    
    "Hamburger",   
    "This script draws some stuff2",
    "asdf", 
    "asdf Company", 
    "asdf 2015",
    "<Image>/MyScripts/My First Python-Fu", 
    "*", 
    [
      (PF_STRING, 'some_text', 'Some text input for our plugin', 'Write something'),
      (PF_INT, 'some_integer', 'Some number input for our plugin', 2010)
    ], 
    [],
    my_script_function,
    )

main()
4

1 回答 1

2
guint8 pixel[] = { 0xff, 0, 0, 0xff };

是 C 不是 python 并且是无效的 python 语法尝试:

pixel = [0xff, 0, 0, 0xff]
于 2013-09-11T05:06:41.373 回答