Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

bmp2ico   Найти похожие ветки 

 
XeON   (2003-10-24 12:54) [0]

Дарова мастера! Подскажите пожалуйста, как бы мне сделать .ico из .bmp? Только пожалуйста реальный пример, а не статью... Я статей штук 5 прочёл уже! Токо там нихрена не работает! Получается какая-то красная, круглая иконка. Заранее благодарен.


 
SEvgeniy   (2003-10-24 19:01) [1]

запихиваеш в ImageList свои bmp а потом делаеш:

var
ic:ticon;
begin
ic:=TIcon.Create;
ic.Width:=your_icon_Width;
ic.Height:=your_icon_Height;
ImageList.GetIcon(index_of_your_icon,ic);
ic.SaveToFile("icon_name.ico");
ic.Free;
end;
но с цветами, по моему, все равно проблемы будут...


 
Mihey   (2003-10-24 20:17) [2]

Точно работающий способ - загрузить в TPicture и сохранить при помощи TPicture.Graphic.SaveToFile, указав ".ico" в расширении.


 
XeON   (2003-10-25 18:38) [3]

Только если указать расширение .ico, то это уже будет не икнока...


 
XeON   (2003-10-26 07:16) [4]

А может ещё кто подскажет как сделать 16и бутную иконку?


 
Mihey   (2003-10-26 22:42) [5]

> Только если указать расширение .ico, то это уже будет не икнока...

Ага, это будет DOC. Ты открыл недокументированные возможности.


 
Mihey   (2003-10-26 22:46) [6]

function BitmapToIcon(Bitmap: TBitmap): TIcon;
var
IconSizeX, IconSizeY : integer;
IconInfo: TIconInfo;
IconBitmap, MaskBitmap: TBitmap;
x, y: Integer;
TransparentColor: TColor;
begin
IconSizeX := GetSystemMetrics(SM_CXICON);
IconSizeY := GetSystemMetrics(SM_CYICON);
IconBitmap:= TBitmap.Create;
IconBitmap.Width:= IconSizeX;
IconBitmap.Height:= IconSizeY;
IconBitmap.Canvas.StretchDraw(Rect(0, 0, IconSizeX, IconSizeY), Bitmap);
IconBitmap.TransparentColor:= Bitmap.TransparentColor;
TransparentColor:= IconBitmap.TransparentColor and $FFFFFF;
MaskBitmap:= TBitmap.Create;
MaskBitmap.Assign(IconBitmap);
for y:= 0 to IconSizeY - 1 do
for x:= 0 to IconSizeX - 1 do
if IconBitmap.Canvas.Pixels[x, y] = TransparentColor then
IconBitmap.Canvas.Pixels[x, y]:= clBlack;
IconInfo.fIcon:= True;
IconInfo.hbmMask:= MaskBitmap.MaskHandle;
IconInfo.hbmColor:= IconBitmap.Handle;
Result:= TIcon.Create;
Result.Handle:= CreateIconIndirect(IconInfo);
MaskBitmap.Free;
IconBitmap.Free;
end;

Хотя мой способ лучше и работает, надо только не лениться.



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.03 c
14-80121
Вадим
2004-02-02 14:59
2004.02.25
Upgrade


1-79969
Nucl
2004-02-06 15:06
2004.02.25
ActiveX Exe


14-80273
BlackLord2003
2004-02-04 09:12
2004.02.25
MyDoom


3-79621
Newb
2004-02-01 00:46
2004.02.25
DBGrid как изменить значение ячейки при изменении другой


1-79966
plintus
2004-02-13 16:10
2004.02.25
Как из TWebBrowser вытащить HTML код страницы?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский