Zaa*_*y'd 1 parameters gimp python-fu gimpfu
我一直在尝试从script-fu切换到python-fu,我无法弄清楚我应该为"image"参数传递什么.在script-fu中它只是一个整数,但是当我将相同的整数放入python-fu时,它只是说它是错误的类型.与字符串和花车相同......我应该放在这里什么?文档只是说它所采用的参数是"IMAGE",但这是什么意思?我在哪里找到它?我怎么得到它?
pdb.gimp_image_get_layers(image)
Run Code Online (Sandbox Code Playgroud)
传递一个Image对象 - 不使用script-fu中只有整数的大多数参数 - 在它们的位置,你必须传递一个实际的对象引用.你怎么得到那些?
简单地说,所有PDB函数和方法都已经返回这些对象 - 而不是它们的数字ID,就像在script-fu中一样.
因此,对于Image,您可以获取python-fu函数的Image作为参数,或者调用pdb.gimp_image_new.
如果您经常在交互式控制台上进行测试,则必须获取对活动图像的引用.在这种情况下,调用
gimp.image_list()获取当前打开的图像的Python列表 - 此列表中索引0处的图像是屏幕上最右边(最新)的打开图像 - 只是image = gimp.image_list()[0]为了获得对它的引用.
当你在它的时候,探索图像对象,dir(image)你会发现它填充了属性和方法,这些属性和方法是其他难以输入的pdb调用的便捷快捷方式.例如,image.layers为您提供一个Python列表,其中引用了图像上的所有图层(作为实际的图层对象,而不是它们的ID),image.width为您提供宽度,并且调用img.new_layer()创建一个新图层并将其添加到图像中 - 此调用具有可选参数指定其名称,宽度,高度等.
作为最后的手段,gimp模块上有保留的方法可以将数字ID转换为实际的对象:'_id2display', '_id2drawable', '_id2image', '_id2vectors'- 您不需要使用它们.如果您发现自己需要在脚本体中使用它们,由于某些pdb函数返回ID而不是对象,请填写GIMP bugzilla的错误报告.
| 归档时间: |
|
| 查看次数: |
2862 次 |
| 最近记录: |