Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сжатие изображения. (https://javascript.ru/forum/misc/2734-szhatie-izobrazheniya.html)

Boray 05.02.2009 09:44

Сжатие изображения.
 
Здравствуйте!

Столкнулся с задачей сжимать изображение(jpeg, gif, png....) на стороне клиента... Т.е. именно сжимать, а не делать подмену загрузкой нового файла с сервера и т.п.

Может кто-нибудь знает как это сделать? Буду благодарен за любую информацию по этому вопросу...

Boray 05.02.2009 10:14

Такс, поспешил я с созданием темы) Сорри)


Решение проблемки:

function resize(id,xx,yy){
function change_size(elt,img,maxx,maxy){
   var d=Math.min(img.height/maxy,img.width/maxx); 
   elt.style.width=Math.floor(img.width/d)+'px';
   elt.style.height=Math.floor(img.height/d)+'px';
}

var e = document.getElementById(id)
   , img=new Image()
   ,on_complete=function(){
      change_size(e,img,xx,yy);
   };
img.src=e.src;
if (img.complete) on_complete();
img.oncomplete=on_complete;
}


ну и применяем эту функцию где нам нужно... например <body onload="resize('myID')">

ПС. Функция чуток отличает от постановки моего вопроса.

Stas1985 10.10.2017 15:37

Boray
Распишите пожалуйста подробнее как пользоваться вашим скриптом.

Nexus 10.10.2017 15:43

Stas1985, функции "resize" нужно передать идентификатор изображения, максимальную высоту и ширину изображения.

Вообще функция - бред, имхо.


Часовой пояс GMT +3, время: 22:29.