我有这个代码,我尝试修改像素的颜色(x,y)。我想获得Color.White给出的颜色 - 像素的颜色(x,y)
Bitmap mPlan;
for (int x=0; x < mPlanWidth; x++)
{
for (int y=0; y < mPlanHeight; y++)
{
if (mPlan.GetPixel(x, y) == Color.White)
mPlan.SetPixel(x, y, Color.White - mPlan.GetPixel(x, y));
}
}
但我在 Color.White - mPlan.GetPixel(x,y)的级别中出现错误,它告诉我无法将int转换为Android.Graphics.Color
我尝试使用Argb将所有颜色转换为int
mPlan.SetPixel(x, y, System.Drawing.Color.FromArgb(System.Drawing.Color.White.ToArgb()- mFloorPlan.GetPixel(x, y)) );
但是方法TpArgb仅由程序集 System.Drawing 给出,而SetPixel将第三个参数作为Android.Graphics的颜色给出所以我有这种类型的冲突。
答案 0 :(得分:0)
Bitmap bc;
Color color = new Color();
color.R = Color.White.R - bc.GetPixel(x, y).R;
color.G = Color.White.G - bc.GetPixel(x, y).G;
color.B = Color.White.B - bc.GetPixel(x, y).B;
bc.SetPixel(x, y, color);
通过设置新颜色的RGB值生成新颜色。