微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gimp python-fu ,打开目录选择对话框

如何解决Gimp python-fu ,打开目录选择对话框

我希望脚本的用户能够选择一个目录来做“东西”。不打开 JPG 或保存 XCF。我只需要一个目录,因为我的脚本会做一些事情,包括读取多个文件,并保存多个转换。

我应该可以使用

import Tkinter,tkFileDialog
root = Tkinter.Tk()

但是 gimp 2.10.24 有一个...自定义...安装生命周期结束的 python 2.7,我得到了错误 This probably means that Tcl wasn't installed properly.

那么 gimp 中是否有类似“pdb.open_directory”之类的东西? gimp附带的其他python库怎么样,但实际上可以工作?如果我能让 Tkinter 在 gimp 中工作,我也会很满意,但这似乎更难。

解决方法

如果您为 Python-fu 使用自动生成的参数对话框,那么只需使用具有 PF_DIRNAME 类型的参数即可。例如

register(
    'export-tiles',"Export tiles",author,year,"Export tiles...",'*',[
        (PF_IMAGE,'image','Input image',None),(PF_DIRNAME,'directory','Directory','.'),(PF_STRING,'namePattern','Tile name','{imageName}-{column1:02d}-{row1:02d}.png'),(PF_SPINNER,'rows','Rows',10,(1,1000,1)),'columns','Columns',1))
    ],[],exportTiles,menu="<Image>/File/"
)

会引发这样的对话:

enter image description here

其中 Directory 按钮打开目录选择器,函数定义为:

def exportTiles(image,directory,namePattern,rows,columns):

会自动接收gimp.Image中的image对象(调用脚本时的活动图像),'/tmp'中的目录为python字符串(directory), namePattern 中的名称模式(作为 python 字符串),以及作为 python 浮点数的行和列。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。