Добавление изображения в качестве фона в DXF
Contents
[
Hide
]Как добавить изображение в качестве фона в DXF
Проблема: Как добавить изображение в качестве фона в DXF.
Советы: Для этого создайте объект CadRasterImageDef для фона, создайте объект CadRasterImage для вставки фона в чертеже, добавьте объект CadRasterImage в сущности чертежа.
Пример:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CadRasterImageDef rasterImageDef = new CadRasterImageDef("background.jpg", 0, 0); | |
rasterImageDef.ObjectHandle = "RefID"; | |
rasterImageDef.SoftOwner = cadImage.Layouts["Model"].BlockTableRecordHandle; | |
rasterImageDef.FileName = "background.jpg"; | |
// inserts RasterImage inside dxf | |
CadRasterImage rasterImage = new CadRasterImage( | |
rasterImageDef, | |
new Cad3DPoint(2700, 1300, 0), new Cad3DPoint(0.5, 0, 0), new Cad3DPoint(0, 0.5, 0)); | |
rasterImage.ObjectHandle = newObjectID; | |
rasterImage.SoftOwner = cadImage.Layouts["Model"].BlockTableRecordHandle; | |
rasterImage.LayerName = "0"; | |
rasterImage.ImageDefReference = "RefID"; | |
rasterImage.DisplayFlags = 1; | |
rasterImage.InsertionPoint.X = 2700; | |
rasterImage.InsertionPoint.Y = 1300; | |
rasterImage.UVector.X = 0.5; | |
rasterImage.VVector.Y = 0.5; | |
List<CadBaseEntity> entities = new List<CadBaseEntity>(cadImage.Entities); | |
entities.Insert( | |
0, | |
rasterImage); // add to the beginning to fill image with background, entities will be above | |
cadImage.Entities = entities.ToArray(); | |
List<CadBaseObject> objects = new List<CadBaseObject>(cadImage.Objects); | |
objects.Add(rasterImageDef); | |
cadImage.Objects = objects.ToArray(); | |
cadImage.Save(...) |