【发布时间】:2011-08-13 19:53:05
【问题描述】:
在this 页面上,查看树的图片及其标题。我正计划为Paint.NET 实现一个插件来做到这一点......但我不确定如何。
我已经以ColorBgra(可以转换为System.Drawing.Color)的形式循环遍历每个像素(对于那些想知道的人,Paint.NET API 可以提高效率),但现在我需要修改像素以删除“除了每种颜色的两个最低有效位之外的所有位。”
我该怎么做?
【问题讨论】:
在this 页面上,查看树的图片及其标题。我正计划为Paint.NET 实现一个插件来做到这一点......但我不确定如何。
我已经以ColorBgra(可以转换为System.Drawing.Color)的形式循环遍历每个像素(对于那些想知道的人,Paint.NET API 可以提高效率),但现在我需要修改像素以删除“除了每种颜色的两个最低有效位之外的所有位。”
我该怎么做?
【问题讨论】:
对于每个组件(R、G、B、A),您需要屏蔽掉不需要的位,如下所示:
colour.R &= 3;
colour.G &= 3;
colour.B &= 3;
colour.A &= 3;
【讨论】:
System.Drawing.Color 对象执行此操作,则需要执行Color NewColor = Color.FromArgb(baseColor.A & 3,baseColor.R & 3,baseColor.G & 3,baseColor.B & 3);,因为此处的 A、R、G 和 B 是只读属性。