Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Некорректное отображение png-иконок


Автор: PPS05 19.3.2008, 19:47
Я создал для элементов TreeView png-изображения с альфа-каналом (в архиве). Но вместо натуральных изображений вижу

user posted image

В чем дело?

Автор: rubbiroid 20.3.2008, 16:14
Что ты имеешь ввиду по "натуральными" изображениями это раз. И было бы интересно взглянуть как ты эти изображения используешь.

Автор: PPS05 20.3.2008, 16:34
Под натуральными понимаю их вид в редакторе / viewer'e. Использую установкой TreeNode.ImageKey, а сами изображения загоняю в ImageList. ColorDepth = Depth32Bit

Автор: rubbiroid 20.3.2008, 23:16
У меня все отображается одинаково.
http://img291.imageshack.us/my.php?image=31545748sh7.jpg
Выложи скриншоты для сравнения. Один в едиторе. второй в готовом приложении

Добавлено.
Кажется понял в чем твоя проблема. В редакторе ты видишь красный, желтый и зеленый. А здесь что-то непонятное. Опытным путем установил, что при смешивании цветов в редакторе цвет заднего фона - белый. А в студии - черный. Соответственно и выводимые цвета разнеые.
Варианта решения проблемы 2 - или изменяй картинки, чтобы сами кружочки не были прозрачными. а только лишние куски, либо перед добавление в коллекцию использую что-нить вроде такого кода:
Код

Bitmap bmp1 = new Bitmap(@"1.png");
Bitmap newbmp1 = new Bitmap(16,16,PixelFormat.Format32bppRgb);
Graphics g = Graphics.FromImage(newbmp1);
Brush newBrush = Brushes.White;
g.FillRectangle(newBrush, 0,0,16,16);
g.DrawImageUnscaled(bmp1, 0,0);
imageList1.Images.Add(newbmp1);
treeView1.Nodes[0].ImageIndex = 0;

Первый вариант куда проще и лучше.

Автор: PPS05 21.3.2008, 14:39
rubbiroid, спасибо, вопрос решен.

Автор: rubbiroid 21.3.2008, 15:57
PPS05, пожалуйста!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)