Стародубцева_Васильевич485
?>

Изучите параграф 4.1, тема "Сноски", попробуйте сделать Практическое задание из рубрики "Примени на практике" стр. 108 на компьютере (для этого на ПК должна быть установлена программа

Информатика

Ответы

amayonova
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();
            }
        }

    }
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Изучите параграф 4.1, тема "Сноски", попробуйте сделать Практическое задание из рубрики "Примени на практике" стр. 108 на компьютере (для этого на ПК должна быть установлена программа
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

zotti
vadimpopov88
smirnovaL1286
yulyashka2142
Pastel-sova
daskal83
Yelena_Irina826
sky-elena712558
MNA888
mikek0906
hbqhzwtd
Anshel2018534
olimov9
voloshin238
oniks-plus