只将一个图像的一种颜色复制到另一个图像

本文关键字:图像 颜色 复制 另一个 一种 一个 | 更新日期: 2023-09-27 18:23:52

我需要将像素从一个图像复制到另一个图像,但只复制黑色像素。我必须将黑色像素分离出来,以便使用打印机功能区上的K面板发送到打印机。

基本上,我需要使图像中的每个像素都不是黑色透明或白色的。

最好的方法是什么?

我唯一的想法是:

        var attr = new ImageAttributes();
        attr.SetColorKey(minColor, maxColor);
        using (Graphics g = Graphics.FromImage(backGround))
        {
            var destRect = new Rectangle(0, 0, backGround.Width, backGround.Height);
            g.DrawImage(kPanelImage, destRect, 0, 0, backGround.Width, backGround.Height, GraphicsUnit.Pixel, attr);
        }

只将一个图像的一种颜色复制到另一个图像

Bitmap mySource = new Bitmap("your_image.jpg");
for(int w=0; w<mySource.Width; ++w)
   for(int h=0; h<mySource.Height; ++h)
   {
      Color pixelColor = mySource .GetPixel(w, h);
      if ( pixelColor != Color.Black )
           mySource .SetPixel(w, h, Color.White);
   }

为什么不迭代图像中的每个像素,然后检查其颜色。如果不是黑色,则将其颜色更改为白色