Есть ответ 👍

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

137
201
Посмотреть ответы 2

Ответы на вопрос:


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 < this.bmp_.width; x++) {                               for (var y = 1; y < this.bmp_.height; y++) {                                       var c = this.bmp_.getpixel(x, y);                                       if (c.b > = 200 & & (c.r + c.g) < = 200) {                                               this.bmp_.setpixel(x, y, color.red);                                       }                               }                               this.refresh();                       }               }       } }
NastyaCat21
4,7(62 оценок)

Ксистемному программному обеспечению

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS