停止将标签图标转换为黑匣子的索引源

FixConversionService
已装运
2026年9月6日 04:30 UTC
作者
Kamo
提交
3f4c60b

一个作为透明 PNG-8 上传的标签图标作为黑色到达了浏览器标签 方正方形,上面有被标记的标志。 在上传的显示器上测量: 9216像素在favicon-96x96.png, 透明出不透明的5194 黑色,幸存下来的标记从237个不同的颜色降到了46个. 透明度一直保持到比例尺。 图像IO 解码 将 PNG 索引到 TYPE BYTE INDEXD , 其透明度为 一个调色板条目——像素(0,0)为0047704C,α为零,正确. 缩略图 缩放时保留源图像 TYPE, 因此它新建了索引 带有 DEFAULT 调色板的图像: alpha 条目已去,幸存索引 地址的颜色不再意味着什么,并且 (0,0) 返回 FF000000。 FitSquare的画布一直为ARGB 并忠实地复制了像素,这些像素是 已经是黑色的,这就是为什么虫子看起来像它住在那里,而不是。 在任何其它东西触及图像之前, 光栅化为 TYPE INT ARGB 。 转换一次产生源,而不是通过.imageType() at 7个呼叫站点中的每一个, 都让“经过这个点的一切是ARGB” 消费者后来又加了,成本是一份而不是七份。 不是新的,也不仅仅是PNG-8:GIF总是被索引,所以任何其Ig/logo的Org. 常规 只要光栅路有黑漆漆的黑漆漆的 已经存在。 它被忽略了,因为唯一的来源 任何人喂它是一个SVG, 巴蒂克以ARGB的身份回来 当标签图标显示时, 它可故意到达 开始接受光栅上传, 对于一个小平面的图标。 4个回归测试覆盖了它:PNGs,.ico帧(它留下一个 不同的道路,由IcoEncoder包装),一个GIF,一个声称标记保持其 拥有自己的肤色,而不仅仅是透明度。 此类中的每个现有测试 feed TYPE INT ARGB, 一个从未遇到过问题的输入形状. 对照真实上传文件验证: 5185/9216 像素透明,相配 237种不同的颜色,其中46种。 已生成标签图标的组织需要重新提供选择 新字节向上;主题修订随它而改变,因此浏览器会重新验证.

所有更改

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价