我想将输入的24位PNG图像转换为8位,我曾尝试使用Imagemagick和Python PIL,都不起作用。png24 to png8转换
例如:
在ImageMagick的我尝试转换控制台命令这样:
convert -depth 8 png24image.png png8image.png
这里是我与蟒蛇试图方式:
import Image
def convert_8bit(src, dest):
"""
convert_8bit: String, String -> void.
Converts the input image file into 8bit depth.
"""
im = Image.open(src)
if not im.mode == "P":
im2 = im.convert("P", rgb2xyz)
im2.save(dest)
ImageMagick的甚至不触摸图像,而python函数减少到8位,但保持唯一的数字164而不是256.当使用Photoshop时,Photoshop使用256位数字将图像转换为8位从24位png图像转换为png8。
由于
编辑:通过Photoshop中
输出的24-> 8PNG转换(我需要) alt text http://img695.imageshack.us/img695/934/psout.png
通过我的Python函数转换
alt text http://img638.imageshack.us/img638/6762/pythonout.png
你是什么意思“甚至没有触及形象”究竟是什么意思? “png8image.png”是否完全不被创建? – 2010-07-07 14:06:38
创建但没有区别(只是与另一个名称相同的副本) – Hellnar 2010-07-07 14:08:58
*你好我想将输入的24位PNG图像转换为8位,我已经通过Imagemagick和Python PIL尝试过,但都没有作用。*应该是*我想要将输入的24位PNG图像转换为8位。我曾尝试使用Imagemagick和Python PIL,但都无效。* – mcandre 2010-07-07 14:09:57