System.Drawing.Imaging Пространство имен

Предоставляет расширенные функции визуализации GDI+. Основные графические функции предоставляются пространством имен System.Drawing.

Классы

Имя Описание
BitmapData

Указывает атрибуты растрового изображения. Класс BitmapData используется LockBits и UnlockBits(BitmapData) методами Bitmap класса. Не наследуется.

CachedBitmap

Представляет копию, зависящую от устройства, Bitmap совпадающую с текущими параметрами текущего устройства (дисплея) указанного Graphics объекта. Избегает переформатирования при отрисовке, что может значительно повысить производительность.

ColorMap

Определяет карту для преобразования цветов. Несколько методов ImageAttributes класса настраивают цвета изображения с помощью таблицы цветовой карты, которая представляет собой массив ColorMap структур. Не наследуется.

ColorMatrix

Определяет матрицу 5 x 5, содержащую координаты пространства RGBAW. Несколько методов ImageAttributes класса настраивают цвета изображения с помощью цветовой матрицы. Этот класс не наследуется.

ColorPalette

Определяет массив цветов, составляющих цветовую палитру. Цвета являются 32-разрядными цветами ARGB. Не наследуется.

Encoder

Объект Encoder инкапсулирует глобальный уникальный идентификатор (GUID), который определяет категорию параметра кодировщика изображений.

EncoderParameter

Используется для передачи значения или массива значений кодировщику изображений.

EncoderParameters

Инкапсулирует массив EncoderParameter объектов.

FrameDimension

Предоставляет свойства, которые получают размеры кадра изображения. Не наследуется.

ImageAttributes

Содержит сведения о том, как точечные изображения и цвета метафайла обрабатываются во время отрисовки.

ImageCodecInfo

Класс ImageCodecInfo предоставляет необходимые элементы и методы хранилища для получения всех соответствующих сведений об установленных кодировщиках изображений и декодировщиках (называемых кодеками). Не наследуется.

ImageFormat

Указывает формат файла изображения. Не наследуется.

Metafile

Определяет графический метафайл. Метафайл содержит записи, описывающие последовательность графических операций, которые можно записывать (создавать) и воспроизводить обратно (отображаемое). Этот класс не наследуется.

MetafileHeader

Содержит атрибуты связанного Metafileобъекта. Не наследуется.

MetaHeader

Содержит сведения о метафайле формата Windows (WMF).

PropertyItem

Инкапсулирует свойство метаданных для включения в файл изображения. Не наследуется.

WmfPlaceableFileHeader

Определяет размещаемый метафайл. Не наследуется.

Перечисления

Имя Описание
ColorAdjustType

Указывает, какие объекты GDI+ используют сведения о настройке цвета.

ColorChannelFlag

Задает отдельные каналы в цветовом пространстве CMYK (cyan, magenta, желтый, черный). Это перечисление используется методами SetOutputChannel.

ColorMapType

Задает типы цветовых карт.

ColorMatrixFlag

Указывает типы изображений и цветов, которые будут затронуты параметрами настройки цветов и серого шкалы ImageAttributes.

ColorMode

Задает два режима для значений компонента цвета.

DitherType

Указывает, как изображения dithered с уменьшенной цветовой палитрой.

EmfPlusRecordType

Задает методы, доступные для использования с метафайлом для чтения и записи графических команд.

EmfType

Указывает характер записей, помещенных в файл расширенного метафайла (EMF). Это перечисление используется несколькими конструкторами в классе Metafile.

EncoderParameterValueType

Указывает тип данных EncoderParameter, используемый с методом Save или SaveAdd изображения.

EncoderValue

Используется для указания значения параметра, переданного кодировщику изображений JPEG или TIFF при использовании методов Save(String, ImageCodecInfo, EncoderParameters) или SaveAdd(EncoderParameters).

ImageCodecFlags

Предоставляет атрибуты кодировщика изображения или декодера (кодека).

ImageFlags

Задает атрибуты данных пикселей, содержащихся в объекте Image. Свойство Flags возвращает элемент этого перечисления.

ImageLockMode

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

MetafileFrameUnit

Задает единицу измерения для прямоугольника, используемого для размера и размещения метафайла. Это указано во время создания объекта Metafile.

MetafileType

Задает типы метафайлов. Свойство Type возвращает элемент этого перечисления.

PaletteFlags

Задает тип цветовых данных в системной палитре. Данные могут быть цветными с альфа-, серыми или полутонными данными.

PaletteType

Задает типы цветовой палитры.

PixelFormat

Задает формат цветовых данных для каждого пикселя на изображении.

Делегаты

Имя Описание
PlayRecordCallback

Этот делегат не используется. Пример перечисления записей метафайла см. в разделе EnumerateMetafile(Metafile, Point, Graphics+EnumerateMetafileProc).

Комментарии

Предостережение

Пространство System.Drawing имен имеет некоторые ограничения для определенных операционных систем и типов приложений.

  • На Windows System.Drawing зависит от собственной библиотеки GDI+, которая поставляется в составе ОС. Некоторые Windows номера SKU, такие как Windows Server Core или Windows Nano, не включают эту собственную библиотеку в составе ОС. Если вы используете это пространство имен и библиотеку не удается загрузить, исключения будут возникать во время выполнения.

  • Некоторые типы в пространстве имен System.Drawing зависят от GDI+, который не поддерживается в службах Windows и ASP.NET Core и приложениях ASP.NET. Эти типы находятся в пакете NuGet System.Drawing.Common и включают System.Drawing.Bitmap и System.Drawing.Font. Однако примитивные типы в пространстве имен, такие как System.Drawing.Color, System.Drawing.SizeSystem.Drawing.Pointи System.Drawing.Rectangle, можно использовать в любом приложении.

  • В .NET 5 и предыдущих версиях пакет NuGet < >System.Drawing.Common пакет NuGet работает на Windows, Linux и macOS. Однако существуют некоторые различия платформы. В Linux и macOS функция GDI+ реализована библиотекой libgdiplus . Эта библиотека не устанавливается по умолчанию в большинстве дистрибутивов Linux и не поддерживает все функции GDI+ в Windows и macOS. Существуют также платформы, где libgdiplus недоступен вообще. Чтобы использовать типы из пакета System.Drawing.Common в Linux и macOS, необходимо установить libgdiplus отдельно. Дополнительные сведения см. в статье Install .NET в Linux или Install .NET в macOS.

  • В .NET 6 и более поздних версиях пакет NuGet System.Drawing.Common пакет NuGet поддерживается только в операционных системах Windows. Дополнительные сведения см. в статье System.Drawing.Common, поддерживаемой только в Windows.

Если вы не можете использовать System.Drawing с приложением, Рекомендуемые варианты включают ImageSharp, SkiaSharp, Windows Компоненты визуализации и Microsoft. Maui.Graphics.

Класс Metafile предоставляет методы записи и сохранения метафайлов. Класс Encoder позволяет пользователям расширить GDI+ для поддержки любого формата изображения. Класс PropertyItem предоставляет методы для хранения и получения метаданных в файлах изображений.

Предостережение

Классы в пространстве имен System.Drawing.Imaging не поддерживаются для использования в Windows или службе ASP.NET. При попытке использовать эти классы из одного из этих типов приложений могут возникнуть непредвиденные проблемы, такие как снижение производительности службы и исключения во время выполнения.

См. также раздел