FreePascal (FPC) a Lazarus > Obecné

High-DPI TImageList

(1/4) > >>

Ondřej Pokorný:
Poslední tři dny jsem pracoval na posledním dílu High-DPI skládačky - TImageListu.

Popis: https://bugs.freepascal.org/view.php?id=32967
SVN-branch: https://svn.freepascal.org/svn/lazarus/branches/HiDPIImageList

TImageList teď umí uložit obrázky v různých rozlišeních a komponenty je automaticky dostanou. Programátor se nemusí o nic starat. Když je potřeba rozlišení, které není k dispozici, automaticky se vygeneruje - a pozor, pomocí Mitchelovi interpolace a s podporou alpha-transparence, takže se na to dá i koukat.

+ Dmitry začal pracovat na Cocoa interface (Sphere 10 Software to podpřilo Bounty) - u nás to jede :) Jen škoda, že ta Lazarus foundation nějak nenaplnila očekávání...

Ondřej Pokorný:
A ještě screenshot ImageList editoru a demo aplikace pod Linuxem.

vandrovnik:
Kéž tohle fungovalo i v Delphi... Protože pořád nevím, jak obsloužit situaci, kdy má uživatel víc monitorů, každý jiné dpi, část oken na jednom monitoru, část na druhém...

Delfin:

--- Citace: vandrovnik  11-01-2018, 16:55:29 ---Kéž tohle fungovalo i v Delphi... Protože pořád nevím, jak obsloužit situaci, kdy má uživatel víc monitorů, každý jiné dpi, část oken na jednom monitoru, část na druhém...

--- Konce citace ---

Pomoci udalosti OnBeforeMonitorDpiChanged a OnAfterMonitorDpiChanged vyvolanych pri zmene DPI formu (vcetne presunu na monitor s jinym DPI)? Image listu muzes mit vic, nebo je tvorit a plnit z resources za behu (zbytek je o volbe nejblizsi vhodne velikosti).

Ondřej Pokorný:

--- Citace: vandrovnik  11-01-2018, 16:55:29 ---Kéž tohle fungovalo i v Delphi...

--- Konce citace ---
Třeba si někdo u Embarcadera taky udělá tři dny čas a zapracuje na tom.


--- Citace ---Protože pořád nevím, jak obsloužit situaci, kdy má uživatel víc monitorů, každý jiné dpi, část oken na jednom monitoru, část na druhém...

--- Konce citace ---

Jak psal Delphin - jedině synchronizovat více TImageListů a při změně rozlišení je přehazovat, popř. generovat nová rozlišení (a zvětšovat/zmenšovat komponenty) - což je vopruz :/ Lazarus/LCL se ti postará o všechno.

Navigace

[0] Seznam témat

[#] Další strana

Odpověď

Přejít na plnou verzi