

ImageList - obrazek s pruhlednym pozadim (Delphi)
Dobry den.
Mam obrazek - obyčejnou tečku v png s pruhlednym pozadim.
Jak ho dostat do komponenty ImageList.
Když ho načtu mam misto pruhledne černe pozadi.
V transparent color mohu změnit ale pruhledna tam neni.
Poradite.
Koľko bitový obrázok máš?
Ak chceš používať 32-bit (24-bit + alfa kanál) PNG ikony/obrázky v TImageList, musíš nastaviť nasledujúce hodnoty vlastností pre TImageList:
- DrawingStyle: dsTransparent
- ColorDepth: cd32Bit
Poznámka: Samozrejme obrázky už musia byť transparentné...
No nějak mi to nefunguje.
Asi špatny odrazek.
Mam ho 32 bit
Dělane v PhotoFiltre Studio X
Dala jsem vytvořit novy.
Bile pozadi.
Nakreslila barevny gombik a pak vyměnila tu bilou za pruhlednou.
Je to jednovrstvy obrazek uložen jako prokladany.
zeleneteka.png
U mňa to vyzerá takto:
![[11413-snap1-png]](/file/view/11413-snap1-png)
1. Najprv som v komponente TImageList nastavil vlastnosti ColorDepth, DrawingStyle, Width, Height...
2. Vložil som Tvoj obrázok - nastavil som TransparentColor - Black
3. Prepojil som ImageList s TMainMenu - TmenuItem - položka sa zobrazuje správne.
4. Po spustení programu a návratu do režimu návrhu, to vyzerá ako na obrázku...
Ide o niečo iné?
Hm.Tak bude problem jinde.
Mam to uplně stejně.
Když však vložim na form komponentu image a do FormCreate dam
ImageList1.GetBitmap(0, Image1.Picture.Bitmap);
Vypada to takto
[img]form.jpg[/img]
Pokud tu tečku vložim přimo do Image-picture je vše ok.
Tak kde dělam kopanec
Standardní ImageList pracuje pouze s Bitmapami.
Jako barva pozadí se bere automaticky barva z levého rohu.
Nepotřebuješ "transparentní" barvu, potřebuješ jako transparentní barvu nastavit tu, která je kolem tečky.
Delphi XE2+ (neviem ako je to u nižších verzií...)
JaFi - nie je čas upgradovať Delphi na vyššiu verziu ???
P.S. je možné použiť komponenty tretích strán, napr. v prílohe...
Vim, ze existuji PNG komponenty pro Delphi, i pro to me prastare. Ale instalovat komponenty jednomu nebo i nekolika puntikum v ImageListu...
S upgradem, uz o tom premyslim delsi dobu. Kdyz jeste chvili pockam, koupim XE12 a budou ovladane hlasem a vysledny EXE se nevejde na disk
Hm.Tak bude problem jinde.
Mam to uplně stejně jak psal pme.
Když však vložim na form komponentu image a do FormCreate dam
ImageList1.GetBitmap(0, Image1.Picture.Bitmap);
Vypada to takto
form.jpg
Pokud tu tečku vložim přimo do Image-picture je vše ok.
Tak kde dělam kopanec
Mas na tom TImage nastaven transparent color?
Navic do ImageListu to ukladas v PNG a ctes jako bitmapu, mozna v tom je problem...
Je tam jen transparent a ten mam na true
Bitmapovy soubor je BMP a ten nepodporuje pruhlednou barvu.
Pokud uložim obrazek PNG ve formatu BMP, tak misto pruhledne je ružova.
V ImageList transparent color vyberu tu ružovou.
Vysledek je stejny,bile rohy.
Musi snad byt nějake řešení jak to přečurat,ne
Pokud tu tečku vložim přimo do Image-picture je vše ok.
Potřebuji aby mi zobrazovala stav.
Zelena = zaple
Červena = vyple
Tak jsem to vyřešila jinak.
2x komponenta image pod sebou
visible.true a visible.false
Ale stejnak by mně zajimalo řešeni.
Pruhledne zobrazovani z ImageListu se pouziva bezne.
Muzes prosim udelat nejaky jednoduchy priklad a poslat ho sem?
696637137
Skús to zmeniť takto:
Vyššie uvedený kód funguje OK s priehľadnou farbou...
Děkují, funguje.
A ja se s tym tak natrapila.