#1238·diagrams

在透明像素下正常化 RGB,以便只有在实际发生变化时才刷新图标

作者: filipeaaoliveira创建于 2026年8月9日更新于 2026年8月9日

一个PNG存储每个像素的红色,绿色和蓝色值,包括α为零的像素. 这些像素永远不会变形 他们的颜色字节 坐在文件中, 他们数到文件散列。

图标大多为空地,因此覆盖了每个文件的一大部分. 在“资源/Azure”中,中间图标为43%,完全透明。

不同的SVG光栅在那个死地上留下了不同的颜色,所以同一件艺术品根据谁转换而产生不同的文件. 承诺图标显示拆分:

提供商 白色 黑色 混合 没有透明像素 |-|-|-|-. Azure (主机,在#1204之前) 661 132 13 | 2.

=========================================================================================================================================================================== ibm | 0 | 41 | 0 | 140 |

没有一个单一的工具复制任何这些目录,因为每个目录都是多年积累的,都是由那些自己安装的供稿人自己操作的。

成本出现在批量刷新上。 在#1204中,632个Azure的图标被改变,其中一个是`计算/工作空间.png',看起来有任何不同。 剩下的是空地从白色翻到黑色 Git不能对PNGs进行三角压缩,因此,在“网站/静态/img”镜像出现后,将6.43 MB永久地添加到包中,增加一倍。

我查过了 空地是整个故事 而不是部分解释 在alpha为0的地方将RGB零化,在两边,使得其中145个文件比特-等同,除一个外,其余所有文件在255个文件的一个部分下与反异名不同.

□提议

在“scrips/resource.py”中添加一个正常化步骤,使转换后完全透明像素的RGB零化,并从“AutoGen.sh”中为每个提供者而不是仅仅从SVG转换的提供者取用。

运行它一次在现有的图标上作为自己的承诺. 这需要一个大型的diff, 之后一个图标刷新diff 只针对改变的艺术品, 不管贡献者使用的工具。 然后审查图标 PR 意味着查看图标,而不是把文件算在信任上.

撰写前要检查的有两件事:图维兹网站和文件站点使普通化的文件完全相同,因为没有任何文件读取这些字节,以及圆'和svg2png2'中的图像Magick路径是否需要在运行之前或之后应用该步骤。

相关内容:#1204,#1237.

内容来源: mingrammer/diagrams