Преобразование растровых изображений библиотеки изображений VS 2010 для использования с MS Ribbon Control - PullRequest
1 голос
/ 25 ноября 2010

Я хочу использовать некоторые из этих растровых изображений для элемента управления MS Office Ribbon, например:

лента: RibbonButton x: Name = "btnCollapsed" SmallImageSource = "Images \ Collapsed.bmp"

Следующее от: VS2010ImageLibrary \ Objects \ bmp_format \ Office и VS_MSObjects_24bitColor_bmp_OfficeVS - Readme.html

"Библиотека изображений Visual Studio: объекты (24-битный, формат .bmp, стиль Office и Visual Studio)

24-битное искусство Это искусство 24-битного цвета. Прозрачность должна быть достигнута путем сопоставления RGB: 255,0255 с цветом фона пользовательского интерфейса. "

Я пытаюсь использовать редактор изображений VS 2010, но не могу понять, что мне нужно делать. Я думаю, мне нужно сохранить BMP как PNG, но что еще? Я мог бы вручную изменить RGB: 255,0255 каждого нужного мне растрового изображения на бледно-синий фон ленты, но я думаю, что должна быть более простая техника (например, например, указать прозрачный цвет)

Любая помощь с благодарностью.

Ответы [ 2 ]

2 голосов
/ 25 ноября 2010

Это Color.Fuchsia. Это отличный цвет, который вряд ли когда-либо будет использоваться в растровом изображении. Очень часто используется в старом коде пользовательского интерфейса C / C ++ для создания 24-битных растровых изображений, формата, который не поддерживает прозрачность, в растровые изображения, которые ведут себя так же, как и они. Я избавлю вас от кода C, который необходим для того, чтобы это работало, он довольно запутан.

Многие растровые изображения, которые есть в библиотеке изображений, были получены из внутренних проектов Microsoft, которые использовали этот трюк. Большие куски Windows по-прежнему являются родным кодом C ++, который использует сырой API-интерфейс Win32, GDI вообще не поддерживает прозрачность, поэтому 24-bpp был обычным явлением.

Вам нужен приличный графический редактор, первым делом нужно превратить его в растровое изображение с 32 битами на пиксель. Тогда цвет-замени. Лично я бы использовал быструю .NET-программу, которая использует Bitmap.MakeTransparent (), рисовал на растровое изображение с 32 битами на дюйм и сохранял бы его как .png

0 голосов
/ 25 ноября 2010

Вам необходимо преобразовать изображения в формат PNG с надлежащей альфа-прозрачностью, поскольку WPF не обеспечивает функции прозрачности с помощью цветовых клавиш без использования WritableBitmaps или пользовательских BitmapSources.

Это приложение может преобразовать ваши BMP в правильные прозрачные PNG, выбрав Пурпурный цветовой ключ: http://transparentpng.codeplex.com/releases/view/54303

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...