Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2015, 12:24
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Как уменьшить размер изображения с помощью JS?
Добрый день. Хочу поставить на свой сайт готовый скрипт игры "пазлы". Но, хочу немного его доработать. Т.е. добавить возможность загрузки своей картинки из интернета.
Есть проблема. Если картинка имеет слишком большое разрешение, то играть становится не удобно. Как уменьшить эту картинку до адекватного размера, чтобы она не выходила за рамки окна?
Пробовал сделать это через canvas https://jsfiddle.net/mbL2tfvp/
Т.е. сначала загрузить в canvas и уменьшить, затем считать из него же и создать новый тег img.
Выводит ошибку: Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Т.е. браузер начинает ругаться из-за политики безопасности.
Вот сам скрипт пазлов http://www.2meter3.de/jqPuzzle/index.html
Есть какие-нибудь ещё варианты? Грузить сначала на сервак и там уменьшать хотелось бы в последнюю очередь. Потом всё это будет занимать место и нужно будет постоянно чистить. Хотелось бы на клиенте всё реализовать.
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2015, 13:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Dimaz,
проще добавить 5 строк в плагин
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2015, 13:33
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от рони Посмотреть сообщение
Dimaz,
проще добавить 5 строк в плагин
В смысле? Какие 5 строк?)
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2015, 13:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Dimaz,
открыть плагин -- подумать и добавить параметры для высоты и ширины
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2015, 13:52
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от рони Посмотреть сообщение
Dimaz,
открыть плагин -- подумать и добавить параметры для высоты и ширины
$srcImg.css({width:'auto',height:'auto',visibility:'visible'});

Менял эту строчку кода. Изображение не стало меньше, оно просто обрезалось.
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2015, 13:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Dimaz,
направление мысли правильное - и как раз получили нужный размер и никаких обрезаний нету - думайте дальше что же такое "обрезалось" и как это поправить ?
в прочем уже есть готовый вариант и даже под современую jquery
Ответить с цитированием
  #7 (permalink)  
Старый 21.04.2015, 14:05
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от рони Посмотреть сообщение
Dimaz,
направление мысли правильное - и как раз получили нужный размер и никаких обрезаний нету - думайте дальше что же такое "обрезалось" и как это поправить ?
в прочем уже есть готовый вариант и даже под современую jquery
Хорошо, подумаю) Готовый вариант скрипта пазлов? Я видел готовые варианты, даже на canvas, но мне понравился именно этот вариант. В большинстве случаев обычно простые "детские" пазлы, где можно перемещать пазл куда угодно. Это слишком просто
Ответить с цитированием
  #8 (permalink)  
Старый 21.04.2015, 14:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от Dimaz
понравился именно этот вариант
именно этот и есть
осталось добавить в пару мест
backgroundSize и отменить устаревшие методы jquery, желаите сами помучатся или договоримся?
Ответить с цитированием
  #9 (permalink)  
Старый 21.04.2015, 14:29
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от рони Посмотреть сообщение
именно этот и есть
осталось добавить в пару мест
backgroundSize и отменить устаревшие методы jquery, желаите сами помучатся или договоримся?
пока сам попробую) думал как-то о background-size кстати.
Устаревшие методы? Имеете в виду это:
Uncaught TypeError: Cannot read property 'msie' of undefined
Если да, то уже удалил этот код.
P.S. хотя лучше наверно не удалять, а поменять) а хотя IE вообще скоро не будет. В win10 хотят убрать его и поменять на новый браузер Spartan.

Последний раз редактировалось Dimaz, 21.04.2015 в 14:31.
Ответить с цитированием
  #10 (permalink)  
Старый 21.04.2015, 15:18
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сделал. Спасибо за помощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать отключения JS кода через админку ? lamer Серверные языки и технологии 4 08.02.2012 17:23
iframe как правильно динамически встаить с помощью js syegorius Events/DOM/Window 7 05.01.2012 10:24
Как вытащить сведения из другой страницы с помощью js? makregistr Общие вопросы Javascript 6 28.12.2010 14:07
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Как с помощью JS "на-лету" менять часть HTML кода greendoc Общие вопросы Javascript 2 18.03.2008 20:43