Most of the time I design and code user interfaces.
Flash, CSS, iPhone, you name it. Involved with this industry since 1996.
In my spare time I draw things
and shoot photos.
And I am a father, husband and altogether pretty happy guy,
currently living with his family around Prague, Czech Republic.
Dnes jsem zjistil, že Flex vůbec není pro grafiky. Že jsou programátoři z úplně jiné galaxie než grafici je jasné. Lidé v Adobe na tom asi nejsou jinak. Flash je pro grafiky a Flex pro programátory.
Programátory asi totiž moc nezajímá, jak se obrázky a zvuky z Flexu exportují. Není totiž žádná možnost jak nastavit kvalitu a kompresi přidávaného obrázku či zvuku, používají se základní hodnoty – které navíc ani nejsou nikde popsané, řekl bych, že se obrázky komprimují na 70 % JPEG.
Flex je naštěstí docela soudný a tak dokáže rozpoznat, kdy je vhodné obrázek komprimovat bezztrátově PNGem a kdy ho prohnat JPEG kompresí. Kdekdo by ale asi docela ocenil, kdyby to bylo možné někde vyladit. Není. U obrázků se to dá přežít, u zvuků je to ale horší. MP3jku, do které se váš zvuk zkomprimuje, nijak neovlivníte. To mi přijde jako opravdu největší amatérismus.
Co s tím?
Naštěstí je zde metoda, jak toto vše nastavit – potřebujete na to Flash. Zkrátka si připravíte SWF se všemi potřebnými třídami s obrázky a zvuky a použijete interní komprimaci Flashe, která se – bohudík – dá nastavit odjakživa.
Ale je tu problém: průhledné obrázky. Ve Flashi jsme si všichni zvykli používat průhledné obrázky komprimované JPEGem, aniž bychom přemýšleli, jak to vlastně s tou kompersí je. Popravdě – to je jasná věc – průhledný JPEG neexistuje. Jak to tedy Macromedia vyšpekulovala?
Pokud do Flashe nacpete průhledný PNG a necháte ho při exportu komprimovat jako JPEG, Flash ho rozloží na dva obrázky: barevný 24bitový a 8bitovou alphu ve škále šedi. Oba zkomprimuje jako JPEG a Flash Player to pak při přehrávání zkombinuje a pustí na obrazovku.
Jenže tohle přesně neumí Flex. Při embedování nepochopí, co to ty dva obrázky vedle sebe v SWF jsou a hodí chybu, ze které se moc nedozvíte. Dnes mi zabralo půl dne, než jsem na to přišel.
Řešení?
Jsou dvě: nepoužívat JPEG pro kompresi průhledných obrázků (a tedy komprimovat do PNGu, který umí 8bitovou alphu odjakživa) anebo počkat, co s tím Adobe udělá. Napíšu jim bug report.
Young & Rubicam Prague site created together with Flier Creation. I've prepared whole client side, client-server bridge, tweaked media recompression settings and helped to design parts of UI and UX.
Flex a Embed
Dnes jsem zjistil, že Flex vůbec není pro grafiky. Že jsou programátoři z úplně jiné galaxie než grafici je jasné. Lidé v Adobe na tom asi nejsou jinak. Flash je pro grafiky a Flex pro programátory.
Programátory asi totiž moc nezajímá, jak se obrázky a zvuky z Flexu exportují. Není totiž žádná možnost jak nastavit kvalitu a kompresi přidávaného obrázku či zvuku, používají se základní hodnoty – které navíc ani nejsou nikde popsané, řekl bych, že se obrázky komprimují na 70 % JPEG.
Flex je naštěstí docela soudný a tak dokáže rozpoznat, kdy je vhodné obrázek komprimovat bezztrátově PNGem a kdy ho prohnat JPEG kompresí. Kdekdo by ale asi docela ocenil, kdyby to bylo možné někde vyladit. Není. U obrázků se to dá přežít, u zvuků je to ale horší. MP3jku, do které se váš zvuk zkomprimuje, nijak neovlivníte. To mi přijde jako opravdu největší amatérismus.
Co s tím?
Naštěstí je zde metoda, jak toto vše nastavit – potřebujete na to Flash. Zkrátka si připravíte SWF se všemi potřebnými třídami s obrázky a zvuky a použijete interní komprimaci Flashe, která se – bohudík – dá nastavit odjakživa.
Ale je tu problém: průhledné obrázky. Ve Flashi jsme si všichni zvykli používat průhledné obrázky komprimované JPEGem, aniž bychom přemýšleli, jak to vlastně s tou kompersí je. Popravdě – to je jasná věc – průhledný JPEG neexistuje. Jak to tedy Macromedia vyšpekulovala?
Pokud do Flashe nacpete průhledný PNG a necháte ho při exportu komprimovat jako JPEG, Flash ho rozloží na dva obrázky: barevný 24bitový a 8bitovou alphu ve škále šedi. Oba zkomprimuje jako JPEG a Flash Player to pak při přehrávání zkombinuje a pustí na obrazovku.
Jenže tohle přesně neumí Flex. Při embedování nepochopí, co to ty dva obrázky vedle sebe v SWF jsou a hodí chybu, ze které se moc nedozvíte. Dnes mi zabralo půl dne, než jsem na to přišel.
Řešení?
Jsou dvě: nepoužívat JPEG pro kompresi průhledných obrázků (a tedy komprimovat do PNGu, který umí 8bitovou alphu odjakživa) anebo počkat, co s tím Adobe udělá. Napíšu jim bug report.
Related Posts. Probably.
Vancura-AS3-Libs Na Kypr! #8: Jídlo Papervision3D: Cube Na Kypr! #3: Kypr a děti Na Kypr! #2: Jsme tady! Aplikace #1: Charles Na Kypr! #11: Severní Kypr MumboJumboT: Done