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
Статьи
Информатика
Статьи
Последние вопросы
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Облако тегов