Форум: "KOL";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
ВнизИзображение с прозрачностью на форме Найти похожие ветки
← →
Turbidit (2007-12-09 12:55) [0]Хочу просто отобразить некое изображение на форме (формат ico 24 бита). Нашел 2 способа:
1. Кладу на форму TKOLImageShow, привязываю к нему TKOLImageList с той самой иконкой.
2. Просто в свойстве TKOLImageShow.Brush.Bitmap выбираю это изображение.
Но в том и в другом случае какие-то траблы с прозрачностью фона.
Игрался с разными параметрами на обоих компонентах, но желаемого эффекта так и не достиг. Наверно, я что-то не понимаю.
Чтобы не быть голословным - вот скриншот: http://www.turbid.land.ru/tmp/picture.jpg. Первая - TImage на VCL (как должно быть). Вторая - TKOLImageShow.Brush.Bitmap. Третья - TKOLImageShow c TKOLImageList.
← →
Turbidit (2007-12-10 03:01) [1]Ссылка не окрывалась, правильная так: http://www.turbid.land.ru/tmp/picture.jpg
КОЛ не поддерживает 24-битную графику?
← →
Jon © (2007-12-10 06:38) [2]Use TIconInfo to convert bitmap and mask to transparent icon:
program BMP2ICO;
uses
Windows, KOL;
procedure btnClick(Dummy: Pointer; Sender: PObj);
var
Icon: PIcon;
bmpMask, bmpColour: PBitmap;
IconInfo : TIconInfo;
begin
Icon := NewIcon;
Icon.Size := 16;
bmpColour := NewDIBBitmap(16,16,pf24bit);
bmpMask := NewDIBBitmap(16,16,pf1bit);
bmpColour.Canvas.Brush.Color := clRed;
bmpColour.Canvas.Pen.Color := clWhite;
bmpColour.Canvas.Ellipse(2,2,Icon.Size,Icon.Size);
bmpMask.Assign(bmpColour);
bmpMask.Convert2Mask(clBlack);
IconInfo.fIcon := True;
IconInfo.hbmMask := bmpMask.Handle;
IconInfo.hbmColor := bmpColour.Handle;
Icon.Handle := CreateIconIndirect(IconInfo);
bmpMask.Free;
bmpColour.Free;
Applet.Icon := Icon.Handle;
Icon.Free;
end;
begin
Applet := NewForm(nil,"");
NewButton(Applet,"Icon").OnClick := TOnEvent(MakeMethod(nil,@btnClick));
Run(Applet);
end.
← →
Turbidit (2007-12-16 19:24) [3]Up
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.053 c