Кажется ли сжатие изображений на стороне клиента HTML/javascript разумным и надежным планом?
У меня есть план по добавлению изображений в созданный мною чат, но проблема в том, что у меня небольшая пропускная способность, и я не хочу переоценивать свое приветствие, поэтому эта форма сжатия файлов выглядит законной и безопасный? Если вы откроете инструменты разработчика на любом распространенном инструменте, вы увидите, сколько байтов входит в локальный компрессор и выходит из него, а также истекшее время.
Каждый результат отличается на каждом компьютере при использовании одного и того же изображения, и он использует формат "image / webp", когда Chrome доступен, потому что он использует меньше места, чем любой другой формат. ГИФы теряют свою анимацию, а PNG теряют прозрачность.
Есть что-то, что я пропускаю? Он сочетает в себе HTML5 canvas.toDataURL()
сжатие и сжатие LZW вместе, чтобы обеспечить максимальные результаты. Он работает в Chrome и IE10, и я не смог протестировать его в других браузерах. Моя цель не в том, чтобы сделать его совместимым с любым браузером, а в том, чтобы обеспечить удобную форму сжатия.
2 ответа
Он сочетает в себе HTML5
canvas.toDataURL()
компрессия
Это не "сжатие", это "кодирование", и это плохая идея. Вы ничего не сжимаете, преобразование изображения в URI данных в кодировке base64 приведет к распаковке изображения, поскольку вы можете разместить в base64 намного меньше байтов, чем в реальном 256-битном двоичном кодировании. LZW Сжатие полученного текста будет иметь незначительную выгоду.
Вы можете поместить свое изображение в другой хост. Существует множество бесплатных услуг хостинга изображений.
Ваша пропускная способность будет безопасной, передача данных не требуется. Но это зависит от того, что вам нужно делать с этими фотографиями...