在一遍又一遍地钻研我的代码之后,我不顾一切地在网上请求,希望有人能帮助我。我正在尝试开发一个python-fu脚本,它的一个基本部分是将图像映射到一个对象。但每当我尝试调用pdb.plug_in_map_object()时,控制台都会显示File "<input>", line 29, in <module> TypeError: wrong parameter type。我当前的代码如下所示:
pdb.plug_in_map_object(
#image, drawable, maptype=sphere
gimp.Image,gimp.Layer,1,
#viewpoint x, y, z
0.5,0.5,1,
#position x, y, z
0.5,0.5,0,
#first-axis x, y, z
1,0,0,
#second-axis x, y, z
0,1,0,
#rotation-angle x, y, z
0,0,0,
#lighttype=none
2,
#light color (r,g,b)
(0,0,0),
#light position x, y, z
-0.5,-0.5,2,
#light direction x, y, z
-1,-1,1,
#ambientintesity, diffuseintesity, dissufereflectivity, specularreflectivity
0.3,1,0.5,0.5,
#highlight, antialiasing, tiled, newimage, traparentbackground, radius
27,1,0,0,1,0.25,
#scale x, y, z
0.5,0.5,0.5,
#cylinderlegth, 8 drawables for cylinders & boxes
0,gimp.Layer,gimp.Layer,gimp.Layer,gimp.Layer,gimp.Layer,gimp.Layer,gimp.Layer,gimp.Layer
);(请注意,这不是我在脚本中使用的代码,我使用这些丑陋和无意义的gimp.Layer来使python控制台接受它。我希望在填充正确的值之前能够正确地调用函数。)
错误中提到的第29行是最后一行,它只包含一个PF_INT32和八个PF_DRAWABLE。这正是我在oldest和我找到的最新(GIMP git)源代码中提到这些参数的方式(如果您不想下载最新的gimp代码,我上传了相关的文件here)。
有人能告诉我我哪里做错了吗?
发布于 2017-03-10 23:01:56
它现在可以工作了,唯一改变的是我使用了一些随机(现有)层,而不是调用gimp.Layer。所以在我的例子中,我只是通过image.activelayer使用当前的活动层。映射到球体无关紧要,这些图层仅在映射到立方体或球体时使用
https://stackoverflow.com/questions/42578552
复制相似问题