Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Graphics.doc
Скачиваний:
20
Добавлен:
16.11.2019
Размер:
3.1 Mб
Скачать

Применение гамма-коррекции к градиенту

Для кисти линейного градиента можно включить гамма-коррекцию, присвоив свойству GammaCorrection этой кисти значение true. Чтобы отключить гамма-коррекцию, необходимо присвоить свойству GammaCorrection значение false. По умолчанию гамма-коррекция отключена.

Пример

В следующем примере создается кисть линейного градиента, которая затем используется для заливки двух прямоугольников. При заливке первого прямоугольника гамма-коррекция отключена, а при заливке второго включена.

Два нарисованных прямоугольника представлены на следующем рисунке. Верхний прямоугольник, для которого не использовалась гамма-коррекция, в середине кажется темным. На поверхности нижнего прямоугольника, для которого гамма-коррекция была включена, интенсивность цветов распределена более равномерно.

----------------

Компиляция кода

Предыдущий пример предназначен для работы с Windows Forms, для него необходим объект PaintEventArgs e, передаваемый в качестве параметра обработчику события Paint.

Working with Images, Bitmaps, Icons, and Metafiles

GDI+ provides the Bitmap class for working with raster images and the Metafile class for working with vector images. The Bitmap and the Metafile classes both inherit from the Image class.

How to: Load and Display Bitmaps

To load a bitmap from a file and display that bitmap on the screen, you need a Bitmap object and a Graphics object. The Bitmap class supports several file formats, including BMP, GIF, JPEG, PNG, and TIFF. Pass the name of a file to the Bitmap constructor. After you have created a Bitmap object, pass that Bitmap object to the DrawImage method of a Graphics object.

Example

This example creates a Bitmap object from a JPEG file and then draws the bitmap with its upper-left corner at (60, 10).

The following illustration shows the bitmap drawn at the specified location.

Bitmap bitmap = new Bitmap("Grapes.jpg");

e.Graphics.DrawImage(bitmap, 60, 10);

Compiling the Code

The preceding example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler.

Работа с растровыми и векторными изображениями

Интерфейс GDI+ содержит класс Bitmap для работы с растровыми изображениями и класс Metafile для работы с векторными изображениями. Классы Bitmap и Metafile наследуют у класса Image.

Загрузка и отображение растровых изображений

Для загрузки растрового изображения из файла и его вывода на экран следует использовать объекты Bitmap и Graphics. Класс Bitmap поддерживает различные форматы файлов, включая BMP, GIF, JPEG, PNG и TIFF. Имя файла передается в качестве параметра конструктору Bitmap. После создания объекта Bitmap его следует передать как параметр методу DrawImage объекта Graphics.

Пример

В этом примере создается объект Bitmap на основе файла в формате JPEG и на экране рисуется соответствующее растровое изображение с верхним левым углом в точке (60, 10).

На следующем рисунке показано растровое изображение, выведенное на экран в указанном месте.

-----

Компиляция кода

Предыдущий пример предназначен для работы с Windows Forms, для него необходим объект PaintEventArgs e, передаваемый в качестве параметра обработчику события Paint.

How to: Load and Display Metafiles

The Metafile class, which inherits from the Image class, provides methods for recording, displaying, and examining vector images.

Example

To display a vector image (metafile) on the screen, you need a Metafile object and a Graphics object. Pass the name of a file (or a stream) to a Metafile constructor. After you have created a Metafile object, pass that Metafile object to the DrawImage method of a Graphics object.

The example creates a Metafile object from an EMF (enhanced metafile) file and then draws the image with its upper-left corner at (60, 10).

The following illustration shows the metafile drawn at the specified location.

Metafile metafile = new Metafile("SampleMetafile.emf");

e.Graphics.DrawImage(metafile, 60, 10);

Compiling the Code

The preceding example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler.