首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用GIMP Python的gimp-drawable-set-pixel绘制像素?

如何使用GIMP Python的gimp-drawable-set-pixel绘制像素?
EN

Stack Overflow用户
提问于 2013-09-11 12:55:07
回答 1查看 2.6K关注 0票数 0

目前我有这样的代码:

代码语言:javascript
复制
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)返回以下错误:

代码语言:javascript
复制
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)

如果你想尝试一下,下面是完整的脚本:

代码语言:javascript
复制
#!/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()
EN

回答 1

Stack Overflow用户

发布于 2013-09-11 13:06:41

代码语言:javascript
复制
guint8 pixel[] = { 0xff, 0, 0, 0xff };

Is C不是python,并且是无效的python语法try:

代码语言:javascript
复制
pixel = [0xff, 0, 0, 0xff]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18732942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档