尝试使用 ImageMagick 调整大小、将图像从灰度转换为 RGB、从 jpg 转换为 png。使用标志转换为 RGB,如下所示:https://stackoverflow.com/a/34875248
convert test.jpg -colorspace sRGB -type truecolor -resize 100x100^ -gravity center -extent 100x100 test.png
调整大小有效,jpg 到 png 有效,但图像保持灰度。为什么这不起作用?
答案1
您提到的答案是创建 JPEG 输出文件,并不完全适用于创建 PNG 输出文件时的情况 - 主要是因为 PNG 编写器做了一些优化来确定它可以写入的最小文件。由于您的图像完全是灰色的,因此它决定写入单通道灰度文件而不是不必要的大 RGB 文件,这并非没有道理。
如果您想覆盖它,可以使用以下命令强制 PNG 文件类型为 RGB888:
magick ... PNG24:result.png
同样,您可以强制调色板模式:
magick ... PNG8:result.png
并且,每通道 16 位 RGB,具有:
magick ... PNG48:result.png
每通道 16 位 RGBA 具有:
magick ... PNG64:result.png