C Form Разработайте функцию, сменяющую все точки голубого цвета на точки

C Form Разработайте функцию, заменяющую все точки голубого цвета
на точки красноватого цвета

Задать свой вопрос
Даниил Забабахин
А где эти точки? Что мы имеем в начале? Какой фремворк? и тд
Valja
И как что-то делать если даже на вопросы не отвечают?
Санек Рокаш
точки рисунка
Алиса
какого еще рисунка? как именно поменять? сохранить в файл или вывести на экран? набросок это графический файл либо что?
Lenka
я выслала для тебя на почту проект
Валерий Иремадзе
все работает, ты просто не на том тестируешь. нужен чисто голубий цвет 0000FF, сделай в паинте и узреешь
1 ответ
Using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;

namespace WindowsFormsApplication1
    public partial class Form1 : Form

        private readonly Pen mainPen_ = new Pen(Color.Blue, 4);
        private Bitmap bmp_;
        private Point currentPoint_;
        private Graphics g;
        private Point previousPoint_;

        public Form1()
            this.InitializeComponent();
       

        private void bOpen_Click(object sender, EventArgs e)
            // Обрисовываем объект класса OpenFileDialog
            var dialog = new OpenFileDialog
                Filter = "Image files (*.BMP, *.JPG, *.GIF, *.PNG)*.bmp;*.jpg;*.gif;*.png"
            ;
            // Задаем расширения файлов
            // Вызываем диалог и проверяем выбран ли файл
            if (dialog.ShowDialog() != DialogResult.OK)
                return;
           
            // Загружаем изображение из избранного файла
            var image = Image.FromFile(dialog.FileName);
            this.pictureBox1.Width = image.Width;
            this.pictureBox1.Height = image.Height;
            // Создаем и загружаем изображение в формате bmp84
            this.bmp_ = new Bitmap(image);
            // Записываем изображение в pictureBox1
            this.pictureBox1.Image = this.bmp_;
            // Подготавливаем объект Graphics для рисования
            this.g = Graphics.FromImage(this.pictureBox1.Image);
            this.g.SmoothingMode = SmoothingMode.AntiAlias;
       

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
            // Записываем в предшествующую точку текущие координаты
            this.previousPoint_ = new Point(e.X, e.Y);
       

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            // Проверяем нажата ли левая кнопка мыши
            if (e.Button != MouseButtons.Left)
                return;
           
            // Запоминаем текущее положение курсора мыши
            this.currentPoint_ = new Point(e.X, e.Y);
            // Соеденяем чертой предыдущую точку с текущей

            this.g.DrawLine(this.mainPen_, this.previousPoint_, this.currentPoint_);
            // Текущее положение курсора - в previousPoint_
            this.previousPoint_ = this.currentPoint_;
            // Принудительно вызываем перерисовку
            this.pictureBox1.Invalidate();
       

        private void bSave_Click(object sender, EventArgs e)
            // Обрисовываем и порождаем объект savedialog
            var savedialog = new SaveFileDialog
                Title = "Сохранить картинку как...",
                OverwritePrompt = true,
                CheckPathExists = true,
                Filter =
                    "Bitmap File(*.bmp)*.bmp" +
                    "GIF File(*.gif)*.gif" +
                    "JPEG File(*.jpg)*.jpg" +
                    "PNG File(*.png)*.png"
            ;
            // Показываем диалог и проверяем задано ли имя файла
            if (savedialog.ShowDialog() != DialogResult.OK)
                return;
           

            var format = ImageFormat.Jpeg;
            switch (Path.GetExtension(savedialog.FileName))
                case "bmp":
                    format = ImageFormat.Bmp;
                    break;
                case "jpg":
                    format = ImageFormat.Jpeg;
                    break;
                case "gif":
                    format = ImageFormat.Gif;
                    break;
                case "tif":
                    format = ImageFormat.Tiff;
                    break;
                case "png":
                    format = ImageFormat.Png;
                    break;
                default:
                    break;
           
            this.bmp_.Save(savedialog.FileName, format);
       

        private void bChangePixels_Click(object sender, EventArgs e)
            // Циклы для перебора всех пикселей на изображении
            for (var x = 1; x lt; this.bmp_.Width; x++)
                for (var y = 1; y lt; this.bmp_.Height; y++)
                    var c = this.bmp_.GetPixel(x, y);
                    if (c.B gt;= 200 amp;amp; (c.R + c.G) lt;= 200)
                        this.bmp_.SetPixel(x, y, Color.Red);
                   
               
                this.Refresh();
           
       

   


Арина Бурлет
спасибо огромное)
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт