【问题标题】:How can I save the required pixel from an image and draw the image using that pixels如何从图像中保存所需的像素并使用该像素绘制图像
【发布时间】:2012-09-30 16:49:40
【问题描述】:

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

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

我将读取所有黑色像素并想保存它们,然后我想用透明背景重新成像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
                }
            }
        }

谁能帮我解决剩下的问题。

【问题讨论】:

  • 不是从相应的像素创建新图像,而是修改现有图像。将所有非黑色像素设置为透明:msdn.microsoft.com/en-us/library/…
  • Nico Schertler 我按照说的做了,但是当我有蓝色签名时,图像没有转换为透明

标签: c# asp.net


【解决方案1】:

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

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

你可以直接比较颜色

if (pixeColor == Color.Black) {

if { }里面

newBitmap.SetPixel(...);

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多