我一直在尝试从脚本符切换到python,我不知道我应该把什么作为“图像”参数。在script-fu中,它只是一个整数,但是当我把相同的整数放入python中时,它只是说它是错误的类型。绳子和浮子也一样..。我该放什么进去?文档只是说它所使用的参数是“图像”,但这意味着什么呢?我在哪能找到它?我怎么弄到它?
pdb.gimp_image_get_layers(image)这是翻译的照片。
发布于 2016-02-03 14:04:03
您传递一个Image -大多数只是脚本中的整数的参数--fu不被使用--在它们的位置上,您必须传递一个实际的对象引用。ANd,你怎么弄到的?
简单地说,所有PDB函数和方法都已经返回了这些对象--而不是它们的数字in,就像script-fu中那样。
因此,对于Image,您可以将Image作为python函数的参数,也可以在调用pdb.gimp_image_new时获得。
如果像通常情况一样,您正在交互控制台上进行测试,则必须获得对活动图像的引用。在这种情况下,调用gimp.image_list()以获得包含当前打开图像的Python -该列表中索引0处的图像是屏幕上最右边(最新)打开的图像,-so只需做image = gimp.image_list()[0]就可以获得对它的引用。
当您使用dir(image)访问图像对象时,您会发现它中填充了一些属性和方法,这些属性和方法可以方便地快捷地传递到其他硬类型的pdb调用。例如,image.layers为您提供了一个Python,它引用了图像上的所有层(作为实际的层对象,而不是它们的it ),image.width给出了宽度,调用img.new_layer()创建了一个新层并将其添加到图像中--这个调用具有可选的参数来指定其名称、宽度、高度等。
最后,gimp模块上有一些保留方法,可以将数字ID转换为实际对象:'_id2display', '_id2drawable', '_id2image', '_id2vectors' --您不应该使用这些方法。如果您发现自己需要在脚本正文中使用这些,由于某些pdb函数返回in而不是对象,请在GIMP的bugzilla上填写一个bug报告。
https://stackoverflow.com/questions/35146891
复制相似问题