حرکت دادن ترسیم به پایین برای اضافه کردن عنوان
چگونه ترسیم را به پایین حرکت دهیم تا عنوان اضافه کنیم
مسئله: چگونه ترسیم را به پایین حرکت دهیم تا عنوان اضافه کنیم (CADNET-980).
نکات: برای انجام این کار، یک شیء CadText با پارامترها ایجاد کنید، سپس این بلوک را به ترسیم اضافه کنید، سپس ترسیم را با ابعاد جدید با استفاده از UpdateSize بهروزرسانی کنید، یک پلیلاین که قاب اطراف ترسیم است اضافه کنید، پلیلاین را به BlockEntities["*Model_Space"] اضافه کنید و دوباره با UpdateSize بهروزرسانی کنید.
مثال:
using (CadImage cadImage = (CadImage)Image.Load(GetPath(fileName))) | |
{ | |
CadText text = new CadText(); | |
text.DefaultValue = "CAD Drawing"; | |
text.TextHeight = 5; | |
// second alignment point is required in case text is aligned (first alignment point is ignored) | |
text.SecondAlignmentPoint = new Cad3DPoint(cadImage.Width / 2, cadImage.Height - text.TextHeight); | |
text.HorizontalJustification = 1; | |
text.ObjectHandle = "bebebebe";//Guid.NewGuid().ToString(); | |
text.LayerName = "0"; | |
text.SoftOwner = cadImage.Layouts["Model"].BlockTableRecordHandle; | |
cadImage.BlockEntities["*Model_Space"].AddEntity(text); | |
// should be called because we need to add one more entity using new size of image | |
cadImage.UpdateSize(); | |
// add polyline that is a border around the drawing | |
CadLwPolyline lwPolyline = new CadLwPolyline(); | |
lwPolyline.Coordinates = new List<Cad2DPoint>(); | |
lwPolyline.Coordinates.Add(new Cad2DPoint(cadImage.MinPoint.X - 20, cadImage.MinPoint.Y - 20)); | |
lwPolyline.Coordinates.Add(new Cad2DPoint(cadImage.MinPoint.X - 20, cadImage.MaxPoint.Y + 20)); | |
lwPolyline.Coordinates.Add(new Cad2DPoint(cadImage.MaxPoint.X + 20, cadImage.MaxPoint.Y + 20)); | |
lwPolyline.Coordinates.Add(new Cad2DPoint(cadImage.MaxPoint.X + 20, cadImage.MinPoint.Y - 20)); | |
cadImage.BlockEntities["*Model_Space"].AddEntity(lwPolyline); | |
// should be called because adding of new entity may change size of drawing | |
cadImage.UpdateSize(); | |
// remove border polyline after drawing is updated | |
cadImage.RemoveEntity(lwPolyline); | |
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); | |
PdfOptions pdfOptions = new PdfOptions(); | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
cadImage.Save(outPath, pdfOptions); | |
} |