Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
ВнизПроблема с отображением Найти похожие ветки
← →
TankMan (2002-11-05 23:15) [0]Я выдираю иконку из файла,ExtractIcon, и присваиваю полученный хендл, объекту типа TIcon, потом я этот объект перерисовываю на SpeedBtn Canvas.Draw... но проблема в том, что белое содержание иконки просто становиться прозрачным, как этого избежать? В принципе (мне кажется), что просто нужно закрасить icon или SpeedBtn каким-нибудь цветом - отличным от белого, а потом на них иконки рисовать... но как? и правильно ли я думаю? может есть дургой способ...
А и еще... если кто предложит использовать TransparentColor - мне нужно, чтобы было прозрачно все, кроме самого изображения иконки, а белый цвет по краям мне не нужен( впрочем как и любой другой), ну или хотябы, как контролировать цвет по краям...
← →
KSergey (2002-11-06 06:33) [1]На сколько я знаю, при помещении картинки на кнопку за прозрачный принимается цвет леаого ничнего пиксела. (но я не уверен, проверьте)
← →
Separator (2002-11-06 06:44) [2]
> KSergey © (06.11.02 06:33)
Это точно
← →
TankMan (2002-11-06 11:18) [3]Может быть... но как это поможет? Если я закрашу этот пиксель например в зеленый, и зеленый станет прозрачным, но ведь остальная область вокруг эконки, будет белой :( А мне то нужно, чтобы облать была прозрачно, и чтобы сами экноки не портились...
или я не правльно понял?
← →
_Nicola_ (2002-11-06 11:23) [4]Заноси иконку в ImageList, а кнопке присваивай ImageIndex. Если надо подробнее - могу привести код.
← →
TankMan (2002-11-06 21:00) [5]У меня кнопок, неизвестное колличество...
Вобщем у меня неизвестное колличество закладок, а на этих закладках неизвестное кол-во кнопок.. :) (вот так все запущено :) ) ,так что, все это в imagelist заносить муторно будет... темболее все это хранить... Да и в чем принципиальная разница ImageList?
З.Ы.
Ты имеешь ввиду, записывать из объекта типа Icon в ImageList или сразу из ExtractIcon в имейджлист?
Если первое, то я не думаю, что будет разница, потому что у меня такое ощущение (я точно не знаю), что вот эта белая "рамка" у иконки есть сразу же в объекте типа Icon :(...
← →
Набережных С. (2002-11-06 22:15) [6]property TBitmap.TransparentColor. By default, цвет нижней левой точки принимается за transparent. Или Transparent:=false. У кнопки.
← →
TankMan (2002-11-07 02:27) [7]Кусочек кода...
================================================================
PCGames - это табщит
TabsName[i].GamePath[j] - сдесь хранится путь к иконке.
=================================================================
But:=TSpeedButton.Create(PCGames.Pages[i]);
But.Parent:=PCGames.Pages[i];
But.SetBounds(25+inum*65,8,32,32);
inc(inum);
But.Flat:=true;
Icon:=TIcon.Create;
Icon.Width:=32;
Icon.Height:=32;
Icon.Handle:=Extracticon(HInstance,PChar(TabsName[i].GamePath[j]),0);
BitMap:=TBitMap.Create;
BitMap.Width:=32;
BitMap.Height:=32;
//BitMap.TransparentMode:=tmAuto;
BitMap.Canvas.Pixels[0,31]:=$FF0000; <=============
BitMap.Canvas.Draw(-1,-1,Icon);
icon.Free;
but.Glyph:=Bitmap;
but.Name:="btnTab"+inttostr(i)+"Rec"+inttostr(j);
but.OnClick:=btnRunGame;
BitMap.Free;
============================================================
Ну и что получается.... если помеченую строчку убрать, то иконка на кнопке небудет содержать белго, если так как сейчас, то иконка на кнопке на белом фоне. что же делать?
← →
TankMan (2002-11-07 02:42) [8]Эх... не почеловечески конечно...
Я сделал так - просто в цикле, каждый пиксель закрасил нужным цветом...и все ОК, вот только в цикле закрашивать не очень удобно, я вот не знаю, в книжках у меня нет описания этого типа и его методов... есть ли просто заливка цветом?
← →
Separator (2002-11-07 06:11) [9]зайди на algolist.manual.ru и посмотри в разделе графики, может что и откопаешь нужное
← →
TankMan (2002-11-07 17:36) [10]Но там же все на Си++
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c