Копировать только один цвет изображения в другое изображение - PullRequest
0 голосов
/ 08 февраля 2012

Мне нужно скопировать пиксели с одного изображения на другое, но только черные пиксели.Я должен отделить черные пиксели для отправки на принтер с помощью панели 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);
        }

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012
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);
   }
1 голос
/ 08 февраля 2012

Почему бы вам не повторить каждый пиксель в изображении, а затем проверить его цвет.Если он не черный, измените его цвет на белый

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...