27/01/2014
Обновление и модификация растрового изображения
Следующий код показывает как следует модифицировать/обновлять источник растрового изображения. Код просит пользователя указать растровое изображение и находит определение растрового изображения. Обратите внимание, что изменение определения растрового изображения приводит к изменению всех связанных растровых изображений.
Код - C#: [Выделить]
- [CommandMethod("updateImage")]
- public static void updateImage()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Editor ed = doc.Editor;
- PromptEntityOptions options =
- new PromptEntityOptions("\nВыберите растровое изображение для изменения ");
- options.SetRejectMessage("\nВыбирайте только растровые изображения ");
- options.AddAllowedClass(typeof(RasterImage), false);
- PromptEntityResult acSSPrompt = ed.GetEntity(options);
- if (acSSPrompt.Status != PromptStatus.OK)
- return;
- using (Transaction Tx = db.TransactionManager.StartTransaction())
- {
- // Получаем растровое изображение
- RasterImage image = Tx.GetObject(acSSPrompt.ObjectId,
- OpenMode.ForRead) as RasterImage;
- RasterImageDef ImageDef = Tx.GetObject(image.ImageDefId,
- OpenMode.ForWrite) as RasterImageDef;
- ImageDef.SourceFileName = "c:\\temp\\new.jpeg";
- ImageDef.ActiveFileName = "c:\\temp\\new.jpeg";
- ImageDef.Load();
- Tx.Commit();
- }
- }
Источник: http://adndevblog.typepad.com/autocad/2012/07/raster-image-updationmodification-.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=483
Опубликовано 27.01.2014Отредактировано 27.01.2014 в 04:54:18