Рисование 2D-графики с использованием библиотеки GDI+ (System.Drawing)
В этом разделе
Сборка Vintasoft.Imaging.dll определяет интерфейсы (
IRegion,
IDrawingPen,
IDrawingBrush,
IDrawingSolidBrush,
IDrawingHatchBrush,
IDrawingImageBrush,
IDrawingLinearGradientBrush) и абстрактные классы (
RasterDrawingEngine,
DrawingFactory,
DrawingFont,
DrawingFontMetrics,
GraphicsPathBase) для рисования 2D-графики.
Сборка Vintasoft.Imaging.Gdi.dll содержит реализации интерфейсов и абстрактных классов для рисования 2D-графики с использованием библиотеки System.Drawing (GDI+):
- GdiPen - определяет перо на основе System.Drawing.Pen, которое используется для рисования линий и кривых.
- GdiBrush - определяет абстрактный базовый класс кисти для рисования на основе System.Drawing.Brush, который используется для заполнения внутренней части графических фигур, таких как прямоугольники, эллипсы, круги, многоугольники и пути.
- GdiSolidBrush - определяет сплошную кисть на основе System.Drawing.SolidBrush, которая используется для заливки внутренних частей графических фигур одним цветом.
- GdiLinearGradientBrush - определяет кисть линейного градиента, которая основана на System.Drawing.Drawing2D.LinearGradientBrush и рисует область линейным градиентом.
- GdiHatchBrush - определяет кисть для штриховки на основе System.Drawing.Drawing2D.HatchBrush.
- GdiImageBrush - определяет кисть на базе изображения на основе System.Drawing.TextureBrush, которая использует изображение для заполнения внутренней части фигуры.
- GdiFont - определяет шрифт, основанный на System.Drawing.Font.
- GdiFontMetrics - предоставляет класс, содержащий измерения для GdiFont.
- GdiRegion - определяет область на основе System.Drawing.Region, которая используется для описания внутренней части графической фигуры, состоящей из прямоугольников и путей.
- GdiGraphicsPath - определяет графический путь на основе System.Drawing.Drawing2D.GraphicsPath, который представляет серию соединенных линий и кривых.
- GdiGraphics - предоставляет 2D движок рисования, основанный на поверхности рисования GDI+.
- GdiGraphicsFactory - представляет фабрику рисования для GdiGraphics.
Также сборка Vintasoft.Imaging.Gdi.dll содержит кодеки изображений, которые реализованы в библиотеке System.Drawing (GDI+):
.NET-сборка Vintasoft.Imaging.dll больше не зависит от библиотеки System.Drawing и поэтому класс ImagePrintDocument, который реализует печать изображений и документов с использованием библиотеки System.Drawing (GDI+), был перенесен в .NET-сборку Vintasoft.Imaging.Gdi.dll.
Также .NET-сборка Vintasoft.Imaging.Gdi.dll содержит статический класс GdiConverter, который содержит методы для преобразования Vintasoft-объектов в объекты GDI+ и наоборот.
VintaSoft Imaging .NET SDK 12.0 и более ранние версии содержали метод VintasoftImage.GetImageAsBitmap, который позволял преобразовать объект VintasoftImage в объект System.Drawing.Bitmap. Начиная с VintaSoft Imaging.NET SDK 12.1 .NET-сборка Vintasoft.Imaging.dll не содержит метода VintasoftImage.GetAsBitmap, поскольку .NET-сборка Vintasoft.Imaging.dll больше не зависит от библиотеки System.Drawing.
Для обратной совместимости .NET-сборка Vintasoft.Imaging.Gdi.dll имеет расширения для класса VintasoftImage, т.е. класс VintasoftImage будет иметь метод GetAsBitmap (и все остальные методы, которые зависят от библиотеки System.Drawing), если в проекте есть ссылка на .NET-сборку Vintasoft.Imaging.Gdi.dll. Также .NET-сборка Vintasoft.Imaging.Gdi.dll содержит расширения для классов ImageCollection и JpegFile.
По умолчанию SDK будет искать и использовать .NET-сборку Vintasoft.Imaging.Gdi.dll для рисования 2D-графики, если SDK используется в Windows.
Также можно явно указать, что SDK должен использовать библиотеку System.Drawing (GDI+) для рисования 2D-графики, используя следующий код:
/// <summary>
/// Sets the GDI drawing factory as a default drawing factory.
/// </summary>
public static void SetGdiSdkDrawing()
{
// GDI - Windows graphics
Vintasoft.Imaging.Drawing.Gdi.GdiGraphicsFactory.SetAsDefault();
}
''' <summary>
''' Sets the GDI drawing factory as a default drawing factory.
''' </summary>
Public Shared Sub SetGdiSdkDrawing()
' GDI - Windows graphics
Vintasoft.Imaging.Drawing.Gdi.GdiGraphicsFactory.SetAsDefault()
End Sub