Необходимо в xaml-окне вывести определенную системную иконку.
Проблема в том, что иконка выводится в 256-ти цветах.
Как можно вывести именно 24-х битное изображение?
Код:
xaml
<Image x:Name="MessIcon" VerticalAlignment="Top" Stretch="None" />
c#
Icon _icon = SystemIcons.Application;
BitmapImage _bit = new BitmapImage();
MemoryStream _buffer = new MemoryStream();
_icon.Save(_buffer);
MessIcon.Source = _bit;
Здравствуйте, shushara, Вы писали:
S>Необходимо в xaml-окне вывести определенную системную иконку.
S>Проблема в том, что иконка выводится в 256-ти цветах.
S>Как можно вывести именно 24-х битное изображение?
S>Код:
S>xaml
S>S><Image x:Name="MessIcon" VerticalAlignment="Top" Stretch="None" />
S>
S>c#
S>S>Icon _icon = SystemIcons.Application;
S>BitmapImage _bit = new BitmapImage();
S>MemoryStream _buffer = new MemoryStream();
S>_icon.Save(_buffer);
S>MessIcon.Source = _bit;
S>
Как то у тебя все запутанно... и написанный код не работает
по делу, у System.Windows.Media.Imaging.BitmapSource есть статический метод:
public static System.Windows.Media.Imaging.BitmapSource Create(int pixelWidth, int pixelHeight, double dpiX, double dpiY, System.Windows.Media.PixelFormat pixelFormat, System.Windows.Media.Imaging.BitmapPalette palette, System.IntPtr buffer, int bufferSize, int stride)
один из параметров которого System.Windows.Media.Imaging.BitmapPalette palette. И обрати внимание на статический класс BitmapPalettes.
надеюсь это тебе поможет, удачи!