ГДТЮ. Отдел техники О НАПРАВЛЕНИИ ОБУЧЕНИЯ


Введение

Основы 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




<<Назад>>






О ГДТЮ Об отделе Новости

Контактная информация:
ГОУ "Санкт-Петербургский городской дворец творчества юных"
Отдел техники. тел. (812) 310-81-55
Адрес: Санкт-Петербург, Невский проспект, дом 39.

Направление обучения "C++ и компьютерная графика" email: hadarovg@mail.ru,

Используются технологии uCoz