Autor Téma: tVirtualImageList - jak získat průhledný obrázek  (Přečteno 437 krát)

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 781
  • Karma: 43
    • Verze Delphi: 10.3
Ahoj,

chtěl jsem zkusit v Delphi 10.3 přidané tImageCollection a tVirtualImageList.

Do tImageCollection jdou ukládat průhledné png obrázky, hurá.

Dají se pak z tVirtualImageList průhledné obrázky (škálované podle dpi formuláře, na kterém tVirtualImageList je) nějak získat? Potřebuji je pak předat TMS komponentě TLargeButtonedItem do ButtonImageDown a ButtonImageDown a zatím jsem nepřišel na to, jak je z tVirtualImageList vylákat. Nainvně jsem zkusil následující, ale průhlednost se ztratí:

Kód: Delphi [Vybrat]
  1.     b:=tBitmap.Create;
  2.     try
  3.      b.PixelFormat:=pf32bit;
  4.      b.Transparent:=true;
  5.      dmImages.imgObrazkyUvodni.GetBitmap(aObrazek, b);
  6.      result.ButtonImageDown.Assign(b);
  7.      result.ButtonImageUp.Assign(b);
  8.     finally
  9.      FreeAndNil(b);
  10.     end;

Díky,

Karel

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2349
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:tVirtualImageList - jak získat průhledný obrázek
« Odpověď #1 kdy: 23-01-2019, 16:03:41 »
Normalne u ostatnich tlacitek je to tak, ze priradis ten virtualimagelist a nastavis Index. To nejde?
Embarcadero MVP - Czech republic

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 781
  • Karma: 43
    • Verze Delphi: 10.3
Re:tVirtualImageList - jak získat průhledný obrázek
« Odpověď #2 kdy: 23-01-2019, 16:08:19 »
Tady ho bohužel není kam přiřadit.

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:tVirtualImageList - jak získat průhledný obrázek
« Odpověď #3 kdy: 23-01-2019, 18:52:11 »
Excellent
Rated 1 time
Jen tak střílím od boku: zkus předávat TIcon bísto TBitmap (pomocí GetIcon).
Embarcadero Technology Partner

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 781
  • Karma: 43
    • Verze Delphi: 10.3
Re:tVirtualImageList - jak získat průhledný obrázek
« Odpověď #4 kdy: 23-01-2019, 20:58:36 »
Excellent
Rated 1 time
Jen tak střílím od boku: zkus předávat TIcon bísto TBitmap (pomocí GetIcon).

Funguje! Děkuju, tohle by mě tedy nenapadlo zkusit...
(No bohužel jsem pak stejně skončil na tom, že TMS komponentu TLargeButtonedItem nějaké HDPI nezajímá...)