Поделиться через


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

Расширенные функциональные возможности для создания двухмерной и векторной графики.

Классы

AdjustableArrowCap

Представляет настраиваемое завершение отрезка в форме стрелки. Этот класс не наследуется.

Blend

Определяет шаблон смешивания для объекта LinearGradientBrush. Этот класс не наследуется.

ColorBlend

Определяет массивы цветов и позиций, используемые для интерполяции смешения цветов в многоцветном градиенте. Этот класс не наследуется.

CustomLineCap

Инкапсулирует определяемое пользователем завершение отрезка.

GraphicsContainer

Представляет внутренние данные графического контейнера. Этот класс используется при сохранении состояния объекта Graphics с помощью методов BeginContainer() и EndContainer(GraphicsContainer). Этот класс не наследуется.

GraphicsPath

Представляет последовательность соединенных линий и кривых. Этот класс не наследуется.

GraphicsPathIterator

Предоставляет возможность перемещаться по субконтурам в объекте GraphicsPath и проверять типы фигур, содержащихся в каждом субконтуре. Этот класс не наследуется.

GraphicsState

Представляет состояние объекта Graphics. Этот объект возвращается путем вызова методов Save(). Этот класс не наследуется.

HatchBrush

Задает прямоугольную кисть со стилем штриховки, основным цветом и цветом фона. Этот класс не наследуется.

LinearGradientBrush

Инкапсулирует объект Brush с линейным градиентом. Этот класс не наследуется.

Matrix

Инкапсулирует аффинное представление с матричным преобразованием 3 на 3, представляющим геометрическое преобразование. Этот класс не наследуется.

PathData

Содержит графические данные, составляющие объект GraphicsPath. Этот класс не наследуется.

PathGradientBrush

Инкапсулирует объект Brush, заполняющий градиентом внутреннюю область объекта GraphicsPath. Этот класс не наследуется.

RegionData

Инкапсулирует данные, составляющие объект Region. Этот класс не наследуется.

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

CombineMode

Указывает, каким образом могут быть объединены различные области отсечения.

CompositingMode

Указывает, как исходные цвета объединяются с фоновыми цветами.

CompositingQuality

Указывает уровень качества, используемый в процессе компоновки.

CoordinateSpace

Указывает систему для использования при обработке координат.

DashCap

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

DashStyle

Задает стиль пунктирных линий, нарисованных с помощью объекта Pen.

FillMode

Указывает, как заполняется внутренняя часть замкнутого контура.

FlushIntention

Указывает, завершаются (очищаются) ли команды в графическом стеке немедленно или выполняются как можно быстрее.

HatchStyle

Указывает различные шаблоны, доступные для объектов HatchBrush.

InterpolationMode

Перечисление InterpolationMode определяет алгоритм, используемый при масштабировании или повороте изображения.

LinearGradientMode

Определяет направление линейного градиента.

LineCap

Задает доступные стили отрезка, с помощью которых объект Penзавершает строку.

LineJoin

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

MatrixOrder

Указывает порядок операций матричных преобразований.

PathPointType

Указывает тип точки в объекте GraphicsPath.

PenAlignment

Определяет выравнивание объекта Pen по отношению к теоретической линии, ширина которой равна нулю.

PenType

Задает тип заполнения, который объект Pen использует для заполнения линий.

PixelOffsetMode

Задает смещение пикселей в процессе их отрисовки.

QualityMode

Задает общее качество при отрисовке объектов GDI+.

SmoothingMode

Указывает, применяется ли сглаживание к линиям, кривым и краям заполненных областей.

WarpMode

Указывает тип преобразования перекоса, применяемого в методе Warp.

WrapMode

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

Комментарии

Внимание!

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

  • В Windows System.Drawing зависит от собственной библиотеки GDI+, которая поставляется в составе ОС. Некоторые номера SKU Windows, такие как 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.Size, System.Drawing.Pointи System.Drawing.Rectangle, можно использовать в любом приложении.

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

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

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

В следующей таблице перечислены некоторые важные классы и перечисления в System.Drawing.Drawing2D пространстве имен, сгруппированные по категориям.

Категория класса Подробнее
— Графика и пути к графике Классы GraphicsState и GraphicsContainer сообщают сведения о текущем Graphics объекте . GraphicsPath классы представляют последовательность линий и кривых. Классы GraphicsPathIterator и PathData предоставляют подробные сведения о содержимом GraphicsPath объекта .
— Типы, связанные с матрицей и преобразованием Класс Matrix представляет матрицу для геометрических преобразований. Перечисление MatrixOrder задает порядок матричных преобразований.
— Классы кистей Классы PathGradientBrush и HatchBrush позволяют заполнять фигуры градиентом или штриховкой соответственно.
— Перечисление, связанное со строками Перечисления LineCap и CustomLineCap позволяют указать стили заголовков для строки. Перечисление позволяет LineJoin указать способ соединения двух строк в пути. Перечисление PenAlignment позволяет указать выравнивание подсказки при рисовании линии. Перечисление PenType указывает шаблон, которым должна быть заполнена строка.
— Перечисления, связанные с заполнением фигур и путей Перечисление HatchStyle задает стили заливки для HatchBrush. Класс Blend задает шаблон смешения для LinearGradientBrush. Перечисление FillMode задает стиль заливки для GraphicsPath.

Внимание!

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

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