ADN Open CIS
Сообщество программистов Autodesk в СНГ

31/01/2014

Получение/установка путей изображений с помощью .NET API

Для получения и установки путей к файлу изображения используются свойства SourceFileName и ActiveFileName объекта RasterImageDef.

Вот пример кода изменяющий пути к файлу изображения

Замечание:
Измените имя файла в коде (для свойств SourceFileName and ActiveFileName ) на существующие.

Код - C#: [Выделить]
  1. [CommandMethod("editImagePath")]
  2. public void EditImagePath()
  3. {
  4.     Database db = HostApplicationServices.WorkingDatabase;
  5.     Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
  6.  
  7.     PromptEntityOptions peo = new PromptEntityOptions("\nВыберите растровое изображение: ");
  8.     peo.SetRejectMessage("\nВыбранный примитив должен быть растром.");
  9.     peo.AddAllowedClass(typeof(RasterImage), false);
  10.  
  11.     PromptEntityResult per = ed.GetEntity(peo);
  12.     if (per.Status != PromptStatus.OK)
  13.         return;
  14.  
  15.     ObjectId imageId = per.ObjectId;
  16.  
  17.     try
  18.     {
  19.         using (Transaction trans = db.TransactionManager.StartTransaction())
  20.         {
  21.             RasterImage myImage = trans.GetObject(imageId, OpenMode.ForRead) as RasterImage;
  22.             RasterImageDef imageDef = trans.GetObject(myImage.ImageDefId, OpenMode.ForWrite) as RasterImageDef;
  23.  
  24.             ed.WriteMessage(imageDef.ActiveFileName);
  25.  
  26.             imageDef.SourceFileName = "C:\\Temp\\Bruno.jpg";
  27.             imageDef.ActiveFileName = "C:\\Temp\\Bruno.jpg";
  28.  
  29.             imageDef.Load();
  30.  
  31.             trans.Commit();
  32.         }
  33.     }
  34.     catch (System.Exception ex)
  35.     {
  36.         ed.WriteMessage(ex.Message);
  37.     }
  38. }

 

Источник: http://adndevblog.typepad.com/autocad/2012/07/getset-image-paths-in-drawing-using-net-api.html

 

Обсуждение: http://adn-cis.org/forum/index.php?topic=498

Опубликовано 31.01.2014
Отредактировано 01.02.2014 в 02:54:50