从给定的.png文件生成8位调色板的最好的python库是什么?就像在.pal格式下的photoshop生成一样。
PS:输入PNG已经是8位格式。(调色板)
问候
发布于 2010-07-07 00:45:40
我还没能找到.PAL的规范(Photoshop称之为“微软的PAL"),但它的格式很容易逆向工程。这是可行的:
def extractPalette(infile,outfile):
im=Image.open(infile)
pal=im.palette.palette
if im.palette.rawmode!='RGB':
raise ValueError("Invalid mode in PNG palette")
output=open(outfile,'wb')
output.write('RIFF\x10\x04\x00\x00PAL data\x04\x04\x00\x00\x00\x03\x00\x01') # header
output.write(''.join(pal[i:i+3]+'\0' for i in range(0,768,3))) # convert RGB to RGB0 before writing
output.close()发布于 2010-07-06 17:03:27
如果是调色板图像,则可以在将其加载到PIL中后使用getcolors()方法。如果它是RGB或RGBA图像,那么你需要做颜色减少,直到你有256种颜色。
https://stackoverflow.com/questions/3184821
复制相似问题