Graphics 有c+的图书馆吗+;(或工具)使用alpha值减少PNG图像中的颜色?

Graphics 有c+的图书馆吗+;(或工具)使用alpha值减少PNG图像中的颜色?,graphics,image-processing,palette,Graphics,Image Processing,Palette,我有一个带有alpha值的PNG图像,需要减少颜色的数量。我需要在图像中的所有颜色不超过256种颜色,到目前为止,我尝试的一切(从油漆店到leptonica等等)都会剥离alpha通道的图像,使其无法使用。有什么东西能满足我的要求吗 编辑:我不想使用8位调色板。我只需要减少颜色的数量,这样我自己的程序就可以处理图像。你试过ImageMagick吗 你试过ImageMagick吗 具有alpha透明度的8位PNG只能在较新的WebBrowser上渲染alpha 以下是一些进行转换的工具和网

我有一个带有alpha值的PNG图像,需要减少颜色的数量。我需要在图像中的所有颜色不超过256种颜色,到目前为止,我尝试的一切(从油漆店到leptonica等等)都会剥离alpha通道的图像,使其无法使用。有什么东西能满足我的要求吗


编辑:我不想使用8位调色板。我只需要减少颜色的数量,这样我自己的程序就可以处理图像。

你试过ImageMagick吗


你试过ImageMagick吗


具有alpha透明度的8位PNG只能在较新的WebBrowser上渲染alpha

以下是一些进行转换的工具和网站:

免费的

网址:


另外,请参见带有alpha透明度的8位PNG将仅在较新的WebBrowser上渲染alpha

以下是一些进行转换的工具和网站:

免费的

网址:


另外,请参见

您描述的问题是PNG格式固有的。请参阅该条目,注意
Indexed&alpha
的颜色选项表中没有条目。可以为256种颜色中的每种颜色添加alpha值,但通常只有一个调色板条目完全透明,其余条目完全不透明


Paint Shop Pro有两个选项用于混合或模拟调色板PNG中的部分透明度-我知道,因为我写了它。

您描述的问题是PNG格式固有的。请参阅该条目,注意
Indexed&alpha
的颜色选项表中没有条目。可以为256种颜色中的每种颜色添加alpha值,但通常只有一个调色板条目完全透明,其余条目完全不透明


Paint Shop Pro有两个选项用于在调色板PNG中混合或模拟部分透明度-我知道,因为我写了它。

我只想将颜色数量减少到特定数量,而不使用调色板格式。我可以用我自己的程序从png中提取rgba颜色,我只需要颜色更少,alpha保持不变。这在Paint Shop Pro中是否可能?我重新检查了它,发现有一种方法可以为8位表中的每个条目设置一个alpha值,并有效地将调色板设置为256 RGBA颜色。@HardCoder,我在回答中也这么说:“有一种能力为256种颜色中的每种添加一个alpha值”。因为alpha不是独立的,所以当你这样做的时候,它确实限制了你的调色板。IE6也没有正确显示它们,所以你看不到它经常被使用。我只想将颜色的数量减少到特定的数量,而不是使用调色板格式。我可以用我自己的程序从png中提取rgba颜色,我只需要颜色更少,alpha保持不变。这在Paint Shop Pro中是否可能?我重新检查了它,发现有一种方法可以为8位表中的每个条目设置一个alpha值,并有效地将调色板设置为256 RGBA颜色。@HardCoder,我在回答中也这么说:“有一种能力为256种颜色中的每种添加一个alpha值”。因为alpha不是独立的,所以当你这样做的时候,它确实限制了你的调色板。IE6也没有正确显示它们,所以你看不到它经常被使用。是的,我有。这似乎是有问题的,因为当我将颜色减少到256或更少(可能切换到调色板)时,输出似乎会降低alpha值,并且总是使用大量错误的颜色像素创建相当糟糕的结果。正常图片可能看不到,但我的图像有很多区域,只有一些颜色,而且抖动非常严重,这实在太明显了。是的,我看到了。这似乎是有问题的,因为当我将颜色减少到256或更少(可能切换到调色板)时,输出似乎会降低alpha值,并且总是使用大量错误的颜色像素创建相当糟糕的结果。正常图片可能看不到,但我的图片有很多区域,只有一些颜色,而且抖动非常严重,这实在太明显了。谢谢你的回复。我应该更准确地回答我的问题(我编辑了它),但我不需要在浏览器中显示它的图像或任何东西,只需要用我自己的程序继续处理它。我检查了你的所有链接,但不幸的是(除非我遗漏了什么),它们并没有让我更接近于解决我的问题……如果你不尝试使用8-bt调色板,为什么需要少于256种颜色?我想将图像用作片段着色器的查找表,以节省纹理内存。这样,我只使用8位/像素的高质量透明度,而不是32位…我相信256色将是8位+alpha通道将是8位=16位/像素。一个透明的PNG24实际上每像素占用32位,32bpp。我甚至不知道是否有可能定义自己的调色板,但我会研究一下,因为这就是你想要做的。无论什么解释你的颜色,都需要知道数字0到255与你自定义的调色板相对应。谢谢你的回复。我应该更准确地回答我的问题(我编辑了它),但我不需要在浏览器中显示它的图像或任何东西,只需要用我自己的程序继续处理它。我检查了你的所有链接,但不幸的是(除非我遗漏了什么),它们并没有让我更接近于解决我的问题……如果你不尝试使用8-bt调色板,为什么需要少于256种颜色?我想将图像用作片段着色器的查找表,以节省纹理内存。这样,我只使用8位/像素的高质量透明度,而不是32位…我相信256色将是8位+alpha通道将是8位=16位/像素。一个透明的PNG24实际上每像素占用32位,32bpp。我甚至不知道是否有可能定义你的