C Form Разработайте функцию, сменяющую все точки голубого цвета на точки
C Form Разработайте функцию, заменяющую все точки голубого цвета
на точки красноватого цвета
Даниил Забабахин
А где эти точки? Что мы имеем в начале? Какой фремворк? и тд
Valja
И как что-то делать если даже на вопросы не отвечают?
Санек Рокаш
точки рисунка
Алиса
какого еще рисунка? как именно поменять? сохранить в файл или вывести на экран? набросок это графический файл либо что?
Lenka
я выслала для тебя на почту проект
Валерий Иремадзе
все работает, ты просто не на том тестируешь. нужен чисто голубий цвет 0000FF, сделай в паинте и узреешь
1 ответ
Kira
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();
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();
Арина Бурлет
спасибо огромное)
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Облако тегов