Народ у меня JS проверяет, если браузер старый, то посылает обновляться!
Суть в том, чтобы оптимизировать изображение на стороне клиента, перед загрузкой на сервак! Желательно готовая библиотека... |
Цитата:
|
Цитата:
|
Цитата:
|
:D У кого вообще получилось загнать изображение пользователя в canvas?
У меня винда 7-ка вообще даже size не дает! |
:D Пишу оптимизатор) Все вгрузил в canvas вообщем 1 часть кода отрабатывается на 100%) А вот с оптимизацией пока наоборот) Из файла в 5 метров получается файл в 27 метров)
|
Цитата:
там картинка получается в формате dataURL в несколько раз больше чем двоичный файл |
:D Гружу 5 метров изображения в canvas 100 метров оперативы как и не было))))))))))
И так теперь мой скрипт уменьшает изображение до 1024*768, получаю на выходе изображение уже не 5 метров а 1 метр с копейками))) |
Цитата:
|
Цитата:
<!DOCTYPE html> <html> <head> <noscript> <meta http-equiv="refresh" content="0; url=nojs.html"> </noscript> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" content="no-cache"> <link rel="stylesheet" type="text/css" href="css/style.css"> </head> <body> <style> .thumb { height: 75px; border: 1px solid #000; margin: 10px 5px 0 0; } </style> <input type="file" id="files" name="files[]" multiple /> <output id="list"></output> <script> function handleFileSelect(evt) { var files = evt.target.files; //Файллист for (var i = 0, f; f = files[i]; i++) { if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); reader.onload = (function(theFile) { return function(e) { var canvas = document.createElement("canvas"); var ctx = canvas.getContext("2d"); var image = new Image(); image.src = e.target.result; image.onload = function(e) { var MAX_WIDTH = 1024; var MAX_HEIGHT = 768; var width = image.width; var height = image.height; if (width > height) { if (width > MAX_WIDTH) { height *= MAX_WIDTH / width; width = MAX_WIDTH; } } else { if (height > MAX_HEIGHT) { width *= MAX_HEIGHT / height; height = MAX_HEIGHT; } } canvas.width = width; canvas.height = height; ctx.drawImage(image, 0, 0, width, height); } // // document.getElementById("canvasiha").appendChild(canvas); dat=image.toDataURL("image/jpeg"); typ='jpeg'; window.open(dat=imgage.toDataURL()); }; })(f); reader.readAsDataURL(f); } } document.getElementById('files').addEventListener('change', handleFileSelect, false); </script> <div id="canvasiha"> </body> </html> |
Часовой пояс GMT +3, время: 03:07. |