Как стать автором
Обновить

Комментарии 16

javascript атакует, и уже давно :). спасибо за интересную статью...
последнее время вопрос использования схемы data:url стал подниматься все чаще и чаще... но для больших изображений, насколько я знаю (прочитав на сайте http://webo.in), имеются ограничения в размерах, и это очередной камень преткновения! как вы думаете какими способами можно обойти эти ограничения? если бы небыло этого ограничения - было бы довольно просто синтезировать локальный Flash Storage и конвертер изображений в схему data:url - получился бы максимально эффективный локальный сторадж... так как бы обойти ограничения по размеру? может у кого есть умные мысли?
мысль первая: использовать спрайты и соответствующее data:url (чтобы была возможность "нарезать" исходное изображение на внятное число кусков, которые еще были бы полезны по отдельности).

мысль вторая: использовать javascript-кодирование (в принципе, просто бинарное/ascii-сжатие для передачи графической информации). Тут уже ограничений нет (да еще и gzip поверх накладывать можно).

мысль третья: а что такое "локальный сторадж"? В смысле: что за задача стоит?
первая мысль несовсем удобна, а если я хочу 1мб-ую фотку таким образом показать? по поводу мысли второй не понял...
по поводу третьей мысли: почитать что это такое можно тут http://browserpersistence.ru/, посмотреть в действии тут http://fullajax.ru (естественно сначала чтобы увидеть эффект нужно пройтись по ссылкам на сатйе чтобы они закешировались в сторадже)
если я правильно понял, предполагается как-то кодировать-декодировать мегабайтные изображения на клиенте? А это не будет извращением (в смысле, так тормозить?). Вышеописанная технология все же подразумевает небольшой набор цветов, а не полноцвет. На полноцвете достаточного размера браузер сдохнет просто.

Или идея была в чем-то другом?

вторая мысль: что вышеописанный подход можно использовать, практически, безо всяких ограничений на браузер. Вопрос только в том, что и как кодировать
Скорее эта идея не для полноцветных изображений, а для изображений с малым количеством цветов. Для приложений (а не для фотографий) самое то. Очень часто нужно просто цветное изображение, например, иконка из нескольких цветов. Вместо того, чтобы извлекать ее из отдельного графического файла, можно записать ее прямо в код и читать оттуда.
Правда, при изменении ее возникают некоторые неудобства.
в общем, согласен, однако, никаких неудобств вроде не вижу: что нам мешает передавать строку на сервер, который будет формировать изображение, и само изображение формировать на клиенте вышеуказанными методами?

Т.е. все делать на клиенте, а если захочется изображение скачать — тут и оно
само кодирование не причем, я понимаю что статья про кодирование, но в ней затронут и интересующий меня вопрос про data:url, вот я и решил воспользоваться моментом.
Еще раз: суть задачи в том чтобы взять бинарные данные картинки (getImageData) и запихнуть их в локальный сторадж, это сделать на данный момент не проблемно. Но вот положить эти бинарные данные обратно в картинку - предполагается возможным только используя механизм data:url, а если картинка большая - то это не сработает.
Надеюсь понятно описал.
"положить обратно" — это на клиенте или на сервере? если на клиенте, то можно использовать canvas и его заменитель для IE, ибо IE data:url не поддерживает пока
на клиенте, т.е. вы говорите что можно нарисовать бинарные данные картинки на canvas-е?
естественно, об этом и в статье говорится, и сам John Resig недавно выложил замечательные картинки по рисованию на canvas
http://ejohn.org/blog/processingjs/
о, спасибо, не зря вопрос поднял, буду экспериментировать
Интересная сатья.
Зачем указывать явно URL, если он есть под ссылкой? Просто изуродовали абзац длинным словом.
:) Хабр изуродовал ссылку, хотя это и не заметно, на первый взгляд
Для меня это изобретение велосипедов на новой платформе.

Сначала подобные техники применялись на спектрумах, потом их "переизобрели" на консолях, затем первых PC, в последствии их открыли в мобильниках, а теперь мы набдюдаем очередное чудо инженерно мысли: сжатие картинок малой палитры на платформе javascript.

Жду когда начнем играть в Марио на пылесосах. Вот это сенсация будет!
Оффтоп. Не могли бы вы убрать align="justify" из абзацев, страшно уродует текст.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории