如何强制imagemagick保留图像的原始颜色空间

如何强制imagemagick保留图像的原始颜色空间,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我在使用imagemagicks转换和保留颜色空间时遇到问题 我有一个黑色的JPEG,这是一个边缘案例。当我在其上运行identify时,这是输出: black.jpg JPEG 1920x1080 1920x1080+0+0 8位sRGB 12787B 0.000u 0:00.000 然后,我向图像中添加一些文本: 转换black.jpg-pointsize 50-填充白色-绘制文本100100“foobar”test.jpg 现在,在生成的测试图像上运行identify显示: test.jp

我在使用imagemagicks转换和保留颜色空间时遇到问题

我有一个黑色的JPEG,这是一个边缘案例。当我在其上运行identify时,这是输出:

black.jpg JPEG 1920x1080 1920x1080+0+0 8位sRGB 12787B 0.000u 0:00.000

然后,我向图像中添加一些文本:

转换black.jpg-pointsize 50-填充白色-绘制文本100100“foobar”test.jpg

现在,在生成的测试图像上运行identify显示:

test.jpg JPEG 1920x1080 1920x1080+0+0 8位灰色256c 11316B 0.000u 0:00.000

我试图添加-colorspace-sRGB选项,但毫无帮助。无论我做什么,颜色空间总是从sRGB转换为灰色

如何让imagemagick保留原始图像中的颜色空间

ImageMagick 6.9.10-23 Q16 arm 20190101


在Imagemagick中,对于大多数格式,您只需添加-type truecolor即可。例如:

convert black.jpg -pointsize 50 -fill WHITE -draw "text 100,100 'foobar'" -type truecolor test.jpg
你应该做你想做的

注意:对于PNG,您需要添加PNG24:作为PNG24:test.PNG作为输出的序言