31/01/2014
Получение/установка путей изображений с помощью .NET API
Для получения и установки путей к файлу изображения используются свойства SourceFileName и ActiveFileName объекта RasterImageDef.Вот пример кода изменяющий пути к файлу изображения
Замечание:
Измените имя файла в коде (для свойств SourceFileName and ActiveFileName ) на существующие.
Код - C#: [Выделить]
- [CommandMethod("editImagePath")]
- public void EditImagePath()
- {
- Database db = HostApplicationServices.WorkingDatabase;
- Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
- PromptEntityOptions peo = new PromptEntityOptions("\nВыберите растровое изображение: ");
- peo.SetRejectMessage("\nВыбранный примитив должен быть растром.");
- peo.AddAllowedClass(typeof(RasterImage), false);
- PromptEntityResult per = ed.GetEntity(peo);
- if (per.Status != PromptStatus.OK)
- return;
- ObjectId imageId = per.ObjectId;
- try
- {
- using (Transaction trans = db.TransactionManager.StartTransaction())
- {
- RasterImage myImage = trans.GetObject(imageId, OpenMode.ForRead) as RasterImage;
- RasterImageDef imageDef = trans.GetObject(myImage.ImageDefId, OpenMode.ForWrite) as RasterImageDef;
- ed.WriteMessage(imageDef.ActiveFileName);
- imageDef.SourceFileName = "C:\\Temp\\Bruno.jpg";
- imageDef.ActiveFileName = "C:\\Temp\\Bruno.jpg";
- imageDef.Load();
- trans.Commit();
- }
- }
- catch (System.Exception ex)
- {
- ed.WriteMessage(ex.Message);
- }
- }
Источник: 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