此 png 过滤器中白色的值是多少?
What is the value for white in this png filter?
我在 C++ 中有这个简短的代码:png_set_filler(png, 0xFF, PNG_FILLER_AFTER);
这会将透明像素着色为黑色。
我认为 0xFF
表示黑色。白色的价值是多少?
谢谢
该函数采用压缩(无 alpha RGB)值并添加一个 alpha 通道。
png_set_filler(png_ptr, filler, PNG_FILLER_BEFORE);
filler
是要放入解压缩的 alpha 通道中的值。最后一个参数是 PNG_FILLER_BEFORE
或 PNG_FILLER_AFTER
,它将填充的通道放在 RGB 值之前或之后——分别是 ARGB 或 RGBA。
The docs 说,“要添加不透明的 alpha 通道,请使用 filler=0xff [或 0xffff 对于 16 位颜色通道]”,我认为这意味着没有透明度,所以它会显示为RGB 值是(在您的情况下,大概是全零)。请注意,当我阅读文档时,在已解压的 PNG 上使用此函数没有任何效果——即,它不会修改填充值。
如果您的 RGB 值是 0xff0000
,那将是纯红色。如果解压缩红色像素并将填充通道设置为 0x7f
,则应使其成为半透明红色。
我在 C++ 中有这个简短的代码:png_set_filler(png, 0xFF, PNG_FILLER_AFTER);
这会将透明像素着色为黑色。
我认为 0xFF
表示黑色。白色的价值是多少?
谢谢
该函数采用压缩(无 alpha RGB)值并添加一个 alpha 通道。
png_set_filler(png_ptr, filler, PNG_FILLER_BEFORE);
filler
是要放入解压缩的 alpha 通道中的值。最后一个参数是 PNG_FILLER_BEFORE
或 PNG_FILLER_AFTER
,它将填充的通道放在 RGB 值之前或之后——分别是 ARGB 或 RGBA。
The docs 说,“要添加不透明的 alpha 通道,请使用 filler=0xff [或 0xffff 对于 16 位颜色通道]”,我认为这意味着没有透明度,所以它会显示为RGB 值是(在您的情况下,大概是全零)。请注意,当我阅读文档时,在已解压的 PNG 上使用此函数没有任何效果——即,它不会修改填充值。
如果您的 RGB 值是 0xff0000
,那将是纯红色。如果解压缩红色像素并将填充通道设置为 0x7f
,则应使其成为半透明红色。