Форум: "KOL";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизКак преобразовать ICO которая находится в потоке в PBitmap? Найти похожие ветки
← →
BaryVetaL © (2006-01-10 10:21) [0]Кто знает как преобразовать ICO которая находится в потоке в PBitmap?
Спасибо!
← →
BaryVetaL © (2006-01-10 10:26) [1]поток естественно PStream :-)
← →
Igi (2006-01-10 13:48) [2]Может помогет, писал процедуру недавно чтобы текст в трее показывать...
procedure StringToIcon(symb:string;var Icon:PIcon);
{создание значка с надписью из symb}
Var Rect: TRect;
IcoBmp,ANDmask: PBitmap; {переменные типа BitMap}
IcoInfo : TIconInfo;
begin
try
Icon.Free; {если она существовала - удаляем}
except
end;
Rect.Left := 0;
Rect.Right := 17;
Rect.Top := 0;
Rect.Bottom := 17;
// Создали картинку с текстом. Черный текст на белом фоне.
IcoBmp := NewBitmap(0, 0);
IcoBmp.Height:=16; {новая картинка 32х32}
IcoBmp.Width:=16;
IcoBmp.Canvas.Brush.Color:=clWhite; {будущая маска AND}
IcoBmp.Canvas.FillRect(Rect);
IcoBmp.Canvas.Font.Assign(Form1.Form.Font);
IcoBmp.Canvas.Font.Color := clBlack;
IcoBmp.Canvas.TextOut(1,1,symb); {выводим текст значка}
{создали белую картинку с текстом}
{Теперь нужна анд маска - белые писели это прозрачный фон, а черные - это то что можно показыывать}
ANDMask := NewBitmap(0, 0);
ANDMask.Height:=16;
ANDMask.Width:=16;
ANDMask.Assign(IcoBmp);
ANDMask.Convert2Mask(clWhite);
{обеспечиваем прозрачность полностью черной маской XOR}
Icon := NewIcon;
Icon.Add2AutoFree(Form1.Form);
IcoInfo.fIcon := True; {A value of TRUE specifies an icon}
IcoInfo.xHotspot := 0;
IcoInfo.yHotspot := 0;
IcoInfo.hbmMask := ANDMask.Handle;
IcoInfo.hbmColor := IcoBmp.Handle;
Icon.Handle := CreateIconIndirect(IcoInfo); {создали}
Icon.SaveToFile("C:\ico.ico");
IcoBmp.Free;
ANDMask.Free;
end;
Что-то с маской некорректно работает, но то что требовалось мне я от ней добился
← →
Muxaspb © (2006-01-10 16:20) [3]
var
Icon: PIcon;
Bitmap: PBitmap;
Stream: PStream;
...
var
Icon.LoadFromStream(Stream);
Bitmap.Handle:=Icon.Convert2Bitmap(clWhite);
← →
Muxaspb © (2006-01-10 16:22) [4]В предыдущем сообщении лишню var написал.
← →
Vedun (2006-01-10 22:48) [5]Привет BaryVetaL.
Как там твой конвертер VCL->KOL? Как продвигается работа?
← →
BaryVetaL © (2006-01-11 09:38) [6]Все Ok процесс идет ;-)
Но для показа еще не готов (готов но работает не так как хочу я)
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c