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

04/08/2015

НПИ (CUI) и прозрачные картинки

До AutoCAD 2014 включительно, AutoCAD использует только формат BMP в CUI. Так как формат BMP не поддерживает прозрачность, AutoCAD использует  RGB-цвет 192,192,192 как прозрачный. Пользователи AutoCAD могут использовать эту особенность в CUI. 

Но это ограничивает возможность использования прозрачности только фоновым цветом 192,192,192. Любые другие фоновые цвета становятся видимыми в CUI.

Начиная с AutoCAD 2015 (и в более новых версиях), вы можете использовать формат PNG для картинок. Так как PNG формат поддерживает прозрачность, вы можете установить прозрачность для картинки и не ограничены только фоновым цветом 192,192,192.

Если у вас есть картинка в формате BMP с фоновым цветом (типа 192,192,192) тогда вызов “Bitmap.MakeTransparent” API поможет конвертировать этот цвет в прозрачный. Следующий код конвертирует BMPс фоновым цветом 192,192,192 в прозрачный PNG

Код - C#: [Выделить]
  1. using (Bitmap myBitmap = new Bitmap(@"C:\temp\transparent.bmp"))
  2. {
  3.     // подразумеваем, что первый пиксель имеет цвет прозрачного фона
  4.     Color backColor = myBitmap.GetPixel(0, 0);
  5.     myBitmap.MakeTransparent(backColor);
  6.     myBitmap.Save(@"C:\temp\transparent.png",
  7.                     System.Drawing.Imaging.ImageFormat.Png);
  8. }

 

Источник: http://adndevblog.typepad.com/autocad/2015/07/cui-and-images-with-transparency.html

 

Автор перевода: Александр Ривилис

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

Опубликовано 04.08.2015