0

大家好,我已经编写了一个示例代码来从图像中找出黑色像素,现在我想将所有这些像素保存到一个数组中,并想用保存像素保存该特定图像,有人可以帮我吗

假设我得到像素的图像如下

我将读取所有黑色像素并想保存它们,我想Fallout用透明背景重新成像。这是我写的

for (int i = 0; i < b.Width; i++)
        {
            for (int j = 0; j < b.Height; j++)
            {
                Color pixelColor = b.GetPixel(i, j);

                Response.Write("The color is " + pixelColor);

                if (pixelColor.ToArgb() == Color.Black.ToArgb())
                {
                    //Will get black color here
                }
            }
        }

有人可以帮我解决剩下的问题。

4

1 回答 1

0

创建第二个相同大小的位图

Bitmap newBitmap = new Bitmap(oldBitmap.Width, oldBitmap.Height);

您可以直接比较颜色

if (pixeColor == Color.Black) {

在 - 的里面if { }

newBitmap.SetPixel(...);

就是这样,但如果你只是想要一个透明的版本,你可以使用Bitmap.MakeTransparent(Color);

PS:GetPixel() 和 SetPixel() 速度极慢,请尝试使用不安全的位图访问

于 2012-07-18T12:03:30.113 回答