Вывод изображения с помощью компонента PictureBox



 

Вывод изображений может быть выполнен и с помощью компонента PictureBox . Его свойство ImageLocation задаёт путь к файлу с изображением, который может находиться на локальном диске или в Интернете. При изменении этого свойства в PictureBox автоматически загружается новое изображение, соответствующее заданному пути. У компонента PictureBox имеется свойство SizeMode, принимающее значения из перечисления PictureBoxSizeMode и определяющее, нужно ли

- отображать только ту часть, которая умещается, без искажений (Normal, по умолчанию),

- масштабировать изображение до размера компонента (StretchImage),

- изменять размер компонента для подстройки под размер изображения (AutoSize),

- центрировать изображение, обрезая не помещающиеся края (CenterImage),

- выводить полное изображение с соблюдением пропорций (Zoom).

Диалоговое открытие файлов , выбор цвета и шрифта

 

В секции Dialogs панели инструментов Toolbox расположен ряд компонентов, реализующих функциональность многих стандартных диалоговых окон: открытие файла, его сохранение, выбор цвета, шрифта и др. Стоит отметить, что используются локализованные (русифицированные) версии диалогов, что позволяет при их использовании поддерживать полностью русскоязычный интерфейс приложения.

За открытие файлов отвечает диалог OpenFileDialog. Его свойство Filter задаёт фильтр расширений файлов. Файлы, не соответствующие этому фильтру, в окне выбора отображаться не будут. Свойство Title определяет заголовок окна диалога. Метод ShowDialog() отображает диалоговое окно, приостанавливая выполнение программы до тех пор, пока окно не будет закрыто. Функция возвращает значение типа DialogResult, показывающее, был ли файл выбран или нажата кнопка отмены. После этой проверки можно получить полное имя файла с помощью свойства FileName. Если разрешён множественный выбор (свойство Multiselect = true), то имена хранятся в массиве FileNames. Ниже приведён пример программного создания и использования диалога OpenFileDialog.

 

OpenFileDialog dgOpenFile = new OpenFileDialog();

dgOpenFile.Title = "Загрузка изображения";

dgOpenFile.Filter = "Bitmap images (*.bmp)|*.bmp|JPEG images (*.jpg)|*.jpg";

if (dgOpenFile.ShowDialog()==DialogResult.OK)

{

... ... ...

}

 

Подобным же образом организуется работа с диалогами ColorDialog и FontDialog.

 

 

Основные способы заливки геометрических фигур

 

Однотонная заливка

Brush chocolateBrush = new SolidBrush(Color.Blue);

e.Graphics.FillEllipse(chocolateBrush, new Rectangle(120, 90, 50, 50));

 

Штриховая заливка

using System.Drawing.Drawing2D;

HatchBrush myHatchBrush = new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);

e.Graphics.FillEllipse(myHatchBrush, new Rectangle(140, 50, 20, 30));

HatchBrush brush2 = new HatchBrush(HatchStyle.Cross, ForeColor, BackColor);

e.Graphics.FillEllipse(brush2, new Rectangle(140, 90, 20, 20));

 

Текстурная заливка

using System.Drawing.Drawing2D;

Image myImage = Image.FromFile("tips.gif");

TextureBrush myTextureBrush = new TextureBrush(myImage);

e.Graphics.FillEllipse(myTextureBrush, 120, 0, 100, 50);

 

 

Задание. Дополнить реализацию программы из задания лабораторной работы 1 возможностью заливки изображаемой на экране фигуры 3-я способами, в случае текстурной заливки реализовать возможность выбора файла (см. замечание).

 

 

Замечание.

Выбор файла для заливки

OpenFileDialog dgOpenFile = new OpenFileDialog();

dgOpenFile.Title = "Загрузка изображения";

dgOpenFile.Filter = "Bitmap images (*.bmp)|*.bmp|JPEG images (*.jpg)|*.jpg";

if (dgOpenFile.ShowDialog()==DialogResult.OK)

{

Image myImage = Image.FromFile(dgOpenFile.FileName);

// Код, аналогичный коду из п. 4

}

 


Дата добавления: 2019-03-09; просмотров: 388; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!