20/09/2007JPEGEncoder

W AS3, dzięki klasie ByteArray, mamy możliwość operowania danymi binarnymi. Wykorzystując tą możliwość, powstało szereg przydatnych bibliotek, które umożliwiają bezpośrednio we flashu np. kompresję zip, jpg, png, etc. Mnie na razie najbardziej zainteresowała klasa JPEGEncoder.

Aby w AS2 wygenerować obrazek w postaci JPG i zapisać go na serwerze lub dysku, musieliśmy najpierw wysłać wszystkie dane (bajt po bajcie) do skryptu php, który to generował plik. Jak łatwo się domyślić, za każdym razem trzeba było przesłać astronomiczną liczbę danych. Np. generując kolorowy obrazek 640×480, trzeba było przesłać ok. 921kB danych. W przypadku AS3 i JPEGEncodera, również musimy przesłać dane najpierw na serwer a następnie z serwera na dysk lokalny. Przesyłamy już jednak skompresowane dane, czyli kilkanaście lub kilkadziesiąt razy mniej.

Do komunikacji Flash <-> PHP zostało wykorzystane AMFphp. Jest to narzędzie RPC (zdalne wywoływanie procedur) dla PHP. AMFphp znacznie ułatwia wymianę danych, zapewnie elementarną autentykację i można go w prosty sposób rozbudowywać.

JPEGEncoder można wykorzystać na wiele sposobów. Pierwsze pomysły jakie się nasuwają, to generowanie avatarów i kartek. Ja wpadłem na inny pomysł, którego wersję beta można znaleźć tutaj:

Jestem w tv

Już niedługo bardziej rozbudowana wersja. Miłej zabawy. :)

dodajdo