我有一个带4个波段的PNG,但我只想要一个带色表的乐队。我尝试将其保存为MS Paint中的256色位图并且它有效。
但我需要自动完成。我尝试过ImageMagick:convert E8.png E8256.bmp
但它没有用。
所以这是原始图片:
ImageMagick identify
:
E8.png PNG 8250x4090 8250x4090+0+0 8-bit sRGB 231KB 0.000u 0:00.000
gdalinfo:
Driver: PNG/Portable Network Graphics
Files: E8.png
Size is 8250, 4090
Coordinate System is `'
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 4090.0)
Upper Right ( 8250.0, 0.0)
Lower Right ( 8250.0, 4090.0)
Center ( 4125.0, 2045.0)
Band 1 Block=8250x1 Type=Byte, ColorInterp=Red
Mask Flags: PER_DATASET ALPHA
Band 2 Block=8250x1 Type=Byte, ColorInterp=Green
Mask Flags: PER_DATASET ALPHA
Band 3 Block=8250x1 Type=Byte, ColorInterp=Blue
Mask Flags: PER_DATASET ALPHA
Band 4 Block=8250x1 Type=Byte, ColorInterp=Alpha
我想要一张带有一个乐队和一张颜色表的照片,所以我用MS Paint打开了E8.png并将其保存为256色位图。结果:
ImageMagick identify
:
E8256.bmp BMP3 8250x4090 8250x4090+0+0 8-bit sRGB 256c 33.75MB 0.265u 0:00.138
gdalinfo:
Driver: BMP/MS Windows Device Independent Bitmap
Files: E8256.bmp
Size is 8250, 4090
Coordinate System is `'
Origin = (-1890.000000000000000,1890.000000000000000)
Pixel Size = (3780.000000000000000,-3780.000000000000000)
Corner Coordinates:
Upper Left ( -1890.000, 1890.000)
Lower Left ( -1890.000,-15458310.000)
Upper Right (31183110.000, 1890.000)
Lower Right (31183110.000,-15458310.000)
Center (15590610.000,-7728210.000)
Band 1 Block=8250x1 Type=Byte, ColorInterp=Palette
Color Table (RGB with 256 entries)
0: 0,0,0,255
1: 128,0,0,255
...
255: 255,255,255,255
但是当我尝试convert E8.png E8imagemagick.bmp
时,我得到了:
ImageMagick identify
:
E8imagemagick.bmp BMP 8250x4090 8250x4090+0+0 8-bit sRGB 135MB 0.406u 0:00.409
gdalinfo:
Driver: BMP/MS Windows Device Independent Bitmap
Files: E8imagemagick.bmp
Size is 8250, 4090
Coordinate System is `'
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 4090.0)
Upper Right ( 8250.0, 0.0)
Lower Right ( 8250.0, 4090.0)
Center ( 4125.0, 2045.0)
Band 1 Block=8250x1 Type=Byte, ColorInterp=Red
Band 2 Block=8250x1 Type=Byte, ColorInterp=Green
Band 3 Block=8250x1 Type=Byte, ColorInterp=Blue
修改:此处(uploaded.net - Dropbox)是原始PNG,此处(uploaded.net - dropbox)BMP I使用MS Paint获得。
答案 0 :(得分:3)
也许这个命令:
convert E8.png -colors 256 E8-256colors.bmp
让你更接近你想要的?不过,这个位图有点大......(129 MByte)。所以这个应该更小:
convert E8.png -type palette -colors 256 E8-palette-256colors.bmp
最后一个只有16 MByte。
你的标题是'任何格式',所以PNG也可以按顺序排列?它创造了更小的输出:
convert E8.png -type palette -colors 256 E8-palette-256colors.png
(现在的大小只有122 kByte。)
原始图片仅包含6种颜色,新输出也是如此:
identify -format "%f: %k\\n" E8.png E8-palette-256colors.png
E8.png: 6
E8-palette-256colors.png: 6
或
identify E8.png E8-palette-256colors.png
E8.png PNG 8250x4090 8250x4090+0+0 8-bit sRGB 231KB 0.000u 0:00.000
E8-palette-256colors.png[1] PNG 8250x4090 8250x4090+0+0 8-bit sRGB 6c 125KB 0.000u 0:00.000
答案 1 :(得分:0)
不确定你想要什么...
convert E8256.bmp -separate -type palette PNG8:out%d.png