我想获取位图中像素的颜色。为此,我通常使用 GetPixel(x,y)。但是对于 Android.Graphics,该方法为我提供了一个代表颜色的 int。所以我需要知道如何从那个整数中得到这个颜色。
事实上这就是我最终想要做的(mPlan 中的白色移除):
for (int x=0; x < PlanWidth; x++)
{
for (int y=0; y < PlanHeight; y++)
{
if (mPlan.GetPixel(x, y) == Color.White)
mPlan.SetPixel(x, y, (Color.White - mPlan.GetPixel(x, y)));
}
}
最佳答案
Android.Graphics.Color有构造函数 Color(Int32)
。要将 int 转换为 Color
,您可以这样做:
new Color(mPlan.GetPixel(x, y)) == Color.White
但我认为使用 Color.White.ToArgb()
将 Color.White
转换为 int 并替换 SetPixel()
会更好Color.Black
的参数,因为 Color.White - Color.White
将是 Color.Black
。
int white = Color.White.ToArgb();
for (int x=0; x < PlanWidth; x++)
{
for (int y=0; y < PlanHeight; y++)
{
if (mPlan.GetPixel(x, y) == white)
mPlan.SetPixel(x, y, Color.Black);
}
}
关于c# - 如何将 Android.Graphics 的 GetPixel 给出的 Int 转换为 Color?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38323776/