Transparent ImageList DLL

0

Jak uzyskać efekt przezroczystości dla obrazków dodawanych do ImageList?

var
Bitmap : TBitmap;
HND : THandle;
begin
Bitmap := TBitmap.Create;
HND := LoadLibrary('graphics.dll');
if HND <> 0 then
 begin
  Bitmap.LoadFromResourceName(HND,'ID_BITMAP_01');
  Bitmap.TransparentColor := clFuchsia;
  Bitmap.Transparent := true;
  ImageList1.Add(Bitmap,nil);
  FreeLibrary(HND);
 end;
Bitmap.Free;
0

Ustaw jeszcze:
Bitmap.TransparentMode := tmAuto;
powinno pomóc

0

nadal pokazuje z tłem [glowa]

0

jak widzisz imagelist.add ma DWA parametry. ten drugi jest maską przezroczystości.

0

Jeśli chodzi o maskę. Zbytnio nie wiem o co ci chodzi.

Bitmap.Mask(clFuchsia);
 ImageList1.Add(bitmap,bitmap);

Zrobiłem tak, ale teraz wszystko jest szare (i to by się chyba zgadzało, bo Mask powoduje taki właśnie efekt).

Według mnie powinno być

Bitmap.TransparentColor := clFuchsia;
ImageList1.Add(bitmap,nil);

ale ten sposób nie działa !!

0

dobra, już wiem, trzeba zadeklarować oddzielną bitmapę dla maski. Wielkie dzięki za pomoc [cya].

0

albo
ImgList.AddMasked(BitMap , BitMap.TransParentColor);

pozdr.

1 użytkowników online, w tym zalogowanych: 0, gości: 1