Введение
Основы C++
ООП на C++
OpenGL
Основы Java
Основы C#
Дистанционное
Разное
Информация
|
Задания
Задание 13
Загрузка картинок Image может производиться в C# несколькими способами.
Самым простым способом является статическая загрузка картинки через ресурс.
В данном варианте нет необходимости писать программный код, каритнка
загружается в компонент WindowsForm - PictureBox через свойство Image (по умолчанию в нем написано none).
Недостатком такой загрузки является отсутствие выбора пользовательской каринки для загрузки.
Вторым вариантом загрузки картинки является загрузка картинки в pictureBox
из файла либо с помощью Image.FromFile()
pictureBox4.Image = Image.FromFile("neutral.png");
Возможно динамическое создание в памяти PictureBox
с помощью класса Bitmap()
и дальнейшей визуализацией на форме Controls.Add().
private PictureBox MyBox2;
MyBox2 = new PictureBox();
MyBox2.Image=new Bitmap("neutral.png");
MyBox2.Location = new System.Drawing.Point(250, 10);
MyBox2.Size = new System.Drawing.Size(100, 100);
Controls.Add(MyBox2);
Третьим вариантом загрузки картинки является выбор картинки пользователем
с помощью компонента OpenFileDialog
private PictureBox imgPhoto;
imgPhoto = new PictureBox();
imgPhoto.Width = 100;imgPhoto.Height = 100;
imgPhoto.Left = 400; imgPhoto.Top = 10;
imgPhoto.SizeMode = PictureBoxSizeMode.StretchImage;
this.Controls.Add(imgPhoto);
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{ imgPhoto.Image = new Bitmap(dlg.OpenFile()); };
dlg.Dispose();
Скачать задание 13
Задание 14
На сайте http://www.codersource.net собраны интересные примеры обработки изображений.
Рассмотрим смысл примера конвертирования цветного изображения
в изображение с оттенками серого цвета. Для этого необходим класс Bitmap,
работающий с массивом пикселей (например, через функции GetPixel и SetPixel):
this.pb_color = new System.Windows.Forms.PictureBox();
this.pb_grayscale = new System.Windows.Forms.PictureBox();
pb_color.Image = new Bitmap(""first.bmp");
Bitmap grays = (Bitmap)pb_color.Image;
int width = grays.Size.Width;int height = grays.Size.Height;
for (int j=0; j < height; j++){
for (int i=0; i < width; i++)
{Color col; col = grays.GetPixel(i, j);
grays.SetPixel(i,j,Color.FromArgb((
col.R+col.G+col.B)/3,
(col.R+col.G+col.B)/3,
(col.R+col.G+col.B)/3
));
}}
pb_grayscale.Image = grays;
Много аналогичных примеров содержится в разделе .NET для работы с формами
http://www.codersource.net/csharp_custom_window_forms.aspx
Скачать задание 14
<<Назад>>
|