C# form разработайте функцию, заменяющую все точки синего цвета на точки красного цвета
137
201
Ответы на вопрос:
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(); } } } }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
helpme16821.06.2020 07:41
-
nasty3yatskova17.10.2022 21:52
-
tanysha2902.10.2021 00:12
-
алина386010.07.2020 21:28
-
natik200507.09.2021 18:26
-
pollvasiltv08.07.2022 08:05
-
ronnedtoby12.04.2021 08:45
-
Единорог2000116.11.2020 17:34
-
chuksin200802.04.2021 18:58
-
liliakolokol01.06.2023 14:45
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.