Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-59361
AL2002
2002-10-28 16:55
2002.11.18
Оказывается


1-59159
Durik
2002-11-08 16:31
2002.11.18
Очень простой вопрос


6-59301
IGORka
2002-09-02 19:00
2002.11.18
Имя пользователя


3-59001
VikOss
2002-10-29 10:20
2002.11.18
Copy


14-59384
savva
2002-10-30 16:39
2002.11.18
к проблеме





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский