Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по C#.doc
Скачиваний:
259
Добавлен:
08.11.2018
Размер:
5.81 Mб
Скачать
      1. Рисунки PictureBox

Элемент управления PictureBox (Windows Forms) предназначен для отображения графических объектов в различных форматах. Это может быть растровое изображение (файл BMP), пиктограмма (файл ICO), метафайл (файл WMF или EMF), а также файлы GIF и JPEG.

Отображаемое изображение определяется свойством Image, которое может быть задано во время выполнения или в режиме разработки. Кроме того, изображение можно задать путем указания значения свойства ImageLocation с последующей загрузкой изображения в синхронном режиме с помощью метода Load или в асинхронном режиме с помощью метода LoadAsync.

Свойство SizeMode управляет соответствием размеров рисунка и элемента управления.

Создание рисунка на этапе разработки приложения

Чтобы добавить на форму рисунок выполните следующие действия:

  1. Добавьте на форму элемент управления PictureBox.

  2. Откройте одним из следующих способов окно для задания пути изображения:

  • Откройте панель Задачи щелкнув по символу треугольника в правом верхнем углу элемента управления PictureBox и нажмите команду Выберите изображение.

  • Щелкните по символу в свойстве Image для элемента управления PictureBox в окне Свойства.

В результате откроется окно Выбор ресурса.

  1. Нажмите кнопку Импорт, выберите графический файл и нажмите кнопку Открыть.

В результате выбранный файл будет скопирован в папку с проектом; его название появится в окне Выбор ресурса в нижнем списке, а справа появится изображение.

  1. Нажмите ОК.

  2. Отрегулируйте заполнение элемента управления PictureBox выбранным изображением одним из следующих способов:

  • В панели Задачи разверните список Режим изменения размера и выберите подходящий режим.

  • В окне Свойства для элемента управления PictureBox раскройте список SizeMode и выберите подходящий режим отображения рисунка.

Возможные режимы:

  • Normal – рисунок будет находиться в верхнем левом углу элемента управления, если рисунок крупнее элемента управления, то нижний и правый края рисунка будут обрезаны.

  • CenterImage – рисунок будет находиться в центре элемента управления; если рисунок крупнее элемента управления, то края рисунка будут обрезаны. З

  • AutoSize – размер элемента управления изменяется в зависимости от размера рисунка.

  • StretchImage – что размер рисунка изменяется в зависимости от размера элемента управления.

  • Zoom – рисунок будет увеличен или уменьшен с сохранением пропорций и помешен целиком в элемент управления.

Установка изображений во время выполнения (Windows Forms)

Имеется возможность задания рисунка, отображаемого элементом управления Windows Forms PictureBox, программными средствами.

Чтобы задать рисунок программными средствами задайте свойство Image при помощи метода FromFile класса Image, например:

private void button12_Click(object sender, EventArgs e)

{ pictureBox1.Image = Image.FromFile(@"D:\p1002.bmp");

}

Удаление графического объекта

Сначала освободите память, используемую изображением, а затем удалите графический объект следующим образом:

if (pictureBox1.Image != null)

{ pictureBox1.Image.Dispose();

pictureBox1.Image = null;

}

Этот код удалит изображение даже в том случае, если графический объект был загружен в элемент управления в режиме разработки.

Примечание. При наличии проблем с управлением памятью, она будет очищена позднее при сборке мусора.

Установка изображений во время выполнения (Windows Forms) на других элементах управления

Чтобы задать рисунок программными средствами на другом элементе управления задайте соответствующее свойство при помощи метода FromFile класса Image.

Например, фоновый рисунок для формы можно задать с помощью кода:

glob.frm1.BackgroundImage =

Image.FromFile(System.IO.Directory.GetCurrentDirectory()+@"\Ветер.jpg");

Команда System.IO.Directory.GetCurrentDirectory() осуществляет переход в текущую директорию. Текущей директорией является папка с исполняемым файлом, как правило, папка Bin. В данном примере файл Ветер.jpg помещен в папку Bin.

Удаление графического объекта с элементов управления

Удаление рисунка из элемента управления можно осуществить путем присвоения свойству, отвечающему за рисунок, значения null.

Например, фоновый рисунок для формы можно удалить с помощью кода:

glob.frm1.BackgroundImage = null;

Изменение размера рисунка на элементе управления во время выполнения проекта

Отрегулировать размещение рисунка на элементе управления программным путем можно с помощью свойства элемента управления, отвечающего за макет рисунка.

Например, фоновый рисунок для формы можно отрегулировать с помощью кода:

glob.frm1.BackgroundImageLayout = ImageLayout.Stretch;

Размещение изображения и изменение его размера во время выполнения

Чтобы изменить местоположение рисунка в элементе управления или изменить его размеры во время выполнения установите свойству SizeMode значение Normal (по умолчанию), AutoSize, CenterImage, Zoom или StretchImage.

В приведенном ниже примере в уже имеющийся на форме элемент управления PictureBox добавляется рисунок.

private void button12_Click(object sender, EventArgs e)

{ pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

pictureBox1.Image = Image.FromFile(@"D:\p1002.bmp");

}

Примечание. Растяжение границ рисунка (особенно в растровом формате) может привести к ухудшению качества изображения.