【发布时间】:2015-12-15 19:53:48
【问题描述】:
我正在尝试在 ImageMagick 中将 BMP 从 24 位/像素模式转换为 16 位/像素模式。
convert /tmp/a/new/37.bmp -depth 5 -define bmp:format=bmp2 /tmp/a/new/37_v2_16bit.bmp
convert /tmp/a/new/37.bmp -depth 5 -define bmp:format=bmp3 /tmp/a/new/37_v3_16bit.bmp
根据以下输出,每个 R.、每个 G. 和每个 B. 结果具有相同的 8 位: 识别-详细
我做错了什么?如何在 BMP 中获得 16 位颜色?
谢谢!
P。 S.
-深度值
图像的深度。这是一个像素中的位数。唯一可接受的值是 8 或 16。 http://linux.math.tifr.res.in/manuals/html/convert.html
=(
官方文档说(没有提到限制):
-深度值
图像的深度。
这是像素内颜色样本中的位数。使用此选项可指定深度未知的原始图像的深度,例如 GRAY、RGB 或 CMYK,或在读取任何图像后更改其深度。
转换 /tmp/a/new/37.bmp -colors 256 /tmp/a/new/37_256.bmp
使文件变小,但视觉上是一样的!怎么?! )))))
转换 /tmp/a/new/37.bmp -colors 65536 /tmp/a/new/37_64k.bmp
相同的大小,相同的视觉图片。
转换 /tmp/a/new/37.bmp -dither None -colors 256 /tmp/a/new/37_256_nd.bmp
又小了一点,但看起来不像256色!漏洞? 256 个彩色 800x600 BMP 约为 800x600x1 字节(无标题)~ 480 000 字节。但它说〜650 000字节))))有趣的程序))
【问题讨论】:
-
ppmtobmp手册页同意 16 位 BMP 是不可能的...manpages.ubuntu.com/manpages/hardy/man1/ppmtobmp.1.html -
您真正想用 16-bpp BMP 做什么?也许你可以使用 PNG 或 NetPBM 的 PNM 格式,处理起来非常简单...en.m.wikipedia.org/wiki/Netpbm_format
-
我总是喜欢当别人试图让我改变我的观点而不是回答时 :) 我想用 BMP 做什么?我需要 16 位 BMP 来存储旧游戏的屏幕截图,这些旧游戏使用 16 位图形而无需压缩,并且以无损方式和易于打开的格式。 Photoshop帮助了我。但是在 Linux 上它不起作用...
-
请不要把试图帮助你的人误认为是告诉你改变主意的人。
标签: image-processing imagemagick imagemagick-convert imagemagick-identify