Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2016, 20:42
Интересующийся
Отправить личное сообщение для Сергей16 Посмотреть профиль Найти все сообщения от Сергей16
 
Регистрация: 29.03.2016
Сообщений: 15

Canvas - изменить размер холста
Пример выложил здесь-http://plnkr.co/edit/QDvD1kiiuDljbnjSlWX6?p=preview, работает только перетаскивание,. если
раскоментировать строки - то размеры холста будут менятся(при изменении в импутах), но старый холст 100*100 не стирается, и
перетаскивание картинки работает не корректно.
Пожалуйста, помогите разобраться.

Последний раз редактировалось Сергей16, 16.07.2016 в 20:49.
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2016, 11:46
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Думаю проблема в том что у тебя там 2 холста

$('#digit01').on('input', function() {
   $('canvas').width(this.value)
});
$('#digit02').on('input', function() {
   $('canvas').height(this.value)
});


так работает
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2016, 17:19
Интересующийся
Отправить личное сообщение для Сергей16 Посмотреть профиль Найти все сообщения от Сергей16
 
Регистрация: 29.03.2016
Сообщений: 15

Да, работает, но картинка растягивается
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2016, 18:33
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Совершенно верно, ты растягиваешь хост, картинка в нем тоже растягивается.
Ответить с цитированием
  #5 (permalink)  
Старый 17.07.2016, 19:00
Интересующийся
Отправить личное сообщение для Сергей16 Посмотреть профиль Найти все сообщения от Сергей16
 
Регистрация: 29.03.2016
Сообщений: 15

После долгих экспериментов , я все таки уверен, что растягивание как-то связано с масштабированием, а здесь его нет. Это странно. Наверняка должен быть способ, чтобы это обойти.
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2016, 19:30
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Почитай больше про canvas, при создании у него задаются свои внутренние размеры (в данном случае кажется 100х100) и если его растянуть до 500, внутри он будет все так же 100х100.

Чтобы этого избежать после изменения размера, для canvas нужно переопределять и его внутренние координаты.
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2016, 20:34
Интересующийся
Отправить личное сообщение для Сергей16 Посмотреть профиль Найти все сообщения от Сергей16
 
Регистрация: 29.03.2016
Сообщений: 15

Spass
Подскажи, как переопределить координаты, или что читать.
Ответить с цитированием
  #8 (permalink)  
Старый 17.07.2016, 20:45
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Я не знаком с используемыми библиотеками (кроме jQuery) и возможно canvas можно настроить в них.

здесь ресайзят холст средствами js
http://stackoverflow.com/questions/1...-to-fit-window

Последний раз редактировалось Spass, 17.07.2016 в 20:49.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить размер Canvas(самого холста)? Сергей16 Общие вопросы Javascript 2 13.07.2016 21:06
изменить размер изображения imediasun1 Элементы интерфейса 13 19.01.2016 07:41
Как изменить цвет и размер шрифта в Java savas332 Серверные языки и технологии 3 09.01.2014 17:02
Изменить размер изображений odlf3 jQuery 1 03.06.2011 07:06
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42