Конференция "KOL" » Изображение с прозрачностью на форме [Lazarus, Windows]
 
  • Turbidit (09.12.07 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 (10.12.07 03:01) [1]
    Ссылка не окрывалась, правильная так: http://www.turbid.land.ru/tmp/picture.jpg

    КОЛ не поддерживает 24-битную графику?
  • Jon © (10.12.07 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 (16.12.07 19:24) [3]
    Up
 
Конференция "KOL" » Изображение с прозрачностью на форме [Lazarus, Windows]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]