首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义调色板调用gimp_image_convert_indexed,找不到调色板

使用自定义调色板调用gimp_image_convert_indexed,找不到调色板
EN

Stack Overflow用户
提问于 2021-02-05 07:57:21
回答 1查看 79关注 0票数 0

我正在制作一个脚本,以限制任何图像为3种颜色(将在一个程序中使用,以显示到一个电子墨水显示器)。我想使用GIMP的gimp_image_convert_indexed函数、bc Wand和PIP的.quantize来实现这一点,它们不能按照我希望的方式工作,而且看起来也不是很好。这是在无头raspi 0上。

当我使用gimp -idf --batch-interpreter python-fu-eval -b 'import sys;sys.path=["."]+sys.path;import colorindex;colorindex.python_colorindex("gimptemp.jpg")' -b 'pdb.gimp_quit(1)'调用脚本时,它给出了错误:

代码语言:javascript
复制
GIMP-Error: Calling error for procedure 'gimp-image-convert-indexed':
Palette 'E-Ink' not found

Traceback (most recent call last):
  File "/usr/lib/gimp/2.0/python/gimpfu.py", line 827, in _run
    return apply(func, params[1:])
  File "/usr/lib/gimp/2.0/plug-ins/python-eval/python-eval.py", line 25, in code_eval
    exec code in globals()
  File "<string>", line 1, in <module>
  File "./colorindex.py", line 7, in python_colorindex
    pdb.gimp_image_convert_indexed(image, 1, 4, 3, FALSE, FALSE, "E-Ink")
RuntimeError: Palette 'E-Ink' not found
batch command experienced an execution error
gimp: GEGL-WARNING: (gegl-tile-handler-cache.c:977):gegl_tile_cache_destroy: runtime check failed: (g_queue_is_empty (&cache_queue))
EEEEeEeek! 2 GeglBuffers leaked

定制调色板位于GIMP的palette文件夹中(当我通过UI打开调色板时,甚至可以识别它),为了安全起见,我在运行脚本的目录中放置了调色板的副本。我尝试将文件名和调色板的名称设置为"eink“而不是"E-Ink”,但出现了相同的错误。当我指定文件路径("/home/pi/.config/GIMP/2.10/palettes/E-Ink.gpl")而不是"E-Ink“时,也发生了同样的事情。

下面是colorindex.py ( gimp脚本)

代码语言:javascript
复制
import os
from gimpfu import *
def python_colorindex(file):
    os.system("echo gimp")
    image = pdb.gimp_file_load(file, file, run_mode=RUN_NONINTERACTIVE)
    drawable = pdb.gimp_image_get_active_layer(image)
    pdb.gimp_image_convert_indexed(image, 1, 4, 3, FALSE, FALSE, "E-Ink")
    os.system("echo processed image")
    pdb.gimp_file_save(image, drawable, file, file)
    pdb.gimp_image_delete(image)
    print("Exit")

这是showing the error and the paths to the palette

下面是showing gimp recognizing the palette (在同一台机器上运行,但通过Xming实现图形用户界面)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 17:36:13

在命令行上,您已经指定了-d选项,该选项告诉GIMP不要加载任何数据:“不要加载画笔、渐变、调色板、图案...”所以你的脚本不会加载你的调色板。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66055642

复制
相关文章

相似问题

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