Удалить один из цветов (пикселей) с картинки - C#

Узнай цену своей работы

Формулировка задачи:

теперь возник другой вопрос.....как мне удалить один из цветов или один из пикселей с картинки, которая содержится в picturebox2......смотрел пример на msdn, там есть что-то подобное, но только он удаляет с формы(то есть картинка загружена на форму), а мне надо из picturebox2(в нем я содержу картинку) вот пример кода из msdn:
// The .NET Compact Framework supports transparency,
// but with only one transparency color.
// The SetColorKey method must have the same color 
// specified for the low color and high color range.
 
// Note that you must uncomment lines of code
// as indicated for the desired transparency effect.
 
protected override void OnPaint(PaintEventArgs e)
{
    // Create a red and black bitmap to demonstrate transparency.
    Bitmap bmp = new Bitmap(75,75);
    Graphics g = Graphics.FromImage(bmp);
 
    g.FillEllipse(new SolidBrush(Color.Red), 0, 0, bmp.Width, bmp.Width);
    g.DrawLine(new Pen(Color.Black), 0, 0, bmp.Width, bmp.Width);
    g.DrawLine(new Pen(Color.Black), bmp.Width, 0, 0, bmp.Width);
    g.Dispose();
 
    ImageAttributes attr = new ImageAttributes();
 
    // Set the transparency color key based on the upper-left pixel 
    // of the image.
    // Uncomment the following line to make all black pixels transparent:
    // attr.SetColorKey(bmp.GetPixel(0, 0), bmp.GetPixel(0, 0));
 
    // Set the transparency color key based on a specified value.
    // Uncomment the following line to make all red pixels transparent:
    // attr.SetColorKey(Color.Red, Color.Red);
 
    // Draw the image using the image attributes.
    Rectangle dstRect = new Rectangle(0, 0, bmp.Width, bmp.Height);
    e.Graphics.DrawImage(bmp, dstRect, 0, 0, bmp.Width, bmp.Height,
        GraphicsUnit.Pixel, attr);
}
то есть мне надо, чтобы я кликнул по кнопочке, произошла обработка изображения и срзу же вывелся результат в picturebox...и как это сделать?

Решение задачи: «Удалить один из цветов (пикселей) с картинки»

textual
Листинг программы
 using System.Drawing.Imaging;
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.TopMost = true;
            this.pictureBox2.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox2_Paint);
            this.button1.Click += new System.EventHandler(this.button1_Click);
        }
 
        ImageAttributes attr = new ImageAttributes();
        Bitmap bmp = new Bitmap(75, 75);
 
        private void pictureBox2_Paint(object sender, PaintEventArgs e)     
        {
                       
            Graphics g = Graphics.FromImage(bmp);         
       
 
            g.FillEllipse(new SolidBrush(Color.Red), 0, 0, bmp.Width, bmp.Width);
            g.DrawLine(new Pen(Color.Black), 0, 0, bmp.Width, bmp.Width);
            g.DrawLine(new Pen(Color.Aqua), bmp.Width, 0, 0, bmp.Width);
            g.Dispose();        
 
           
 
            // Draw the image using the image attributes.
            Rectangle dstRect = new Rectangle(0, 0, bmp.Width, bmp.Height);
            e.Graphics.DrawImage(bmp, dstRect, 0, 0, bmp.Width, bmp.Height,
                GraphicsUnit.Pixel, attr);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            // Set the transparency color key based on the upper-left pixel 
            // of the image.
            // Uncomment the following line to make all black pixels transparent:
            attr.SetColorKey(bmp.GetPixel(0, 0), bmp.GetPixel(0, 0));
 
            // Set the transparency color key based on a specified value.
            // Uncomment the following line to make all red pixels transparent:
            attr.SetColorKey(Color.Red, Color.Red);
            Hide();
            Show();
        }
 
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы