Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2012, 12:28
Аспирант
Отправить личное сообщение для shtopor Посмотреть профиль Найти все сообщения от shtopor
 
Регистрация: 02.05.2010
Сообщений: 68

Ошибка в координатах картинки
Подскажите пожалуйста, я создаю canvas, прикручиваю к нему обработчик событий и отлавливаю координаты. Я проверял при помощи разного софта координаты высчитываются правильно, но когда я добавляю картинку с такими же координатами она получается очень сильно смещенной и растягивается. Как с этим бороться?
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2012, 12:38
Аспирант
Отправить личное сообщение для shtopor Посмотреть профиль Найти все сообщения от shtopor
 
Регистрация: 02.05.2010
Сообщений: 68

Вот код добавления картинки:
var q = document.getElementById("id").getContext('2d');
var img =  new Image();
img.src = '/img/qwe.png';
q.drawImage(img, (event.pageX)-(define.GameArea.offsetLeft),  (event.pageY)-(define.GameArea.offsetTop));
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2012, 13:38
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от shtopor
q.drawImage(img, (event.pageX)-(define.GameArea.offsetLeft), (event.pageY)-(define.GameArea.offsetTop));
поскольку всего 2 координаты изображение должно выводиться с его родным размером- растягивать ну никак не может.
Соответственно ошибка со смещением и растяжкой не здесь, если это единственный код вставляющий изображение -значит браузер глючит, если не ед. значит ошибка в алгоритме
да и вообще, изображение вставляется в канву по событию onload img иначе можно вставить ещё не загруженное изображение
var q = document.getElementById("id").getContext('2d');
var img =  new Image();
img.src = '/img/qwe.png';
img.onload=function(){
q.drawImage(img, (event.pageX)-(define.GameArea.offsetLeft),  (event.pageY)-(define.GameArea.offsetTop));
}

Последний раз редактировалось dmitriymar, 18.10.2012 в 13:42.
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2012, 13:55
Аспирант
Отправить личное сообщение для shtopor Посмотреть профиль Найти все сообщения от shtopor
 
Регистрация: 02.05.2010
Сообщений: 68

С браузером все в порядке, проверил в opera и chrome. У меня png изображение шириной 50, а отображается 110. Указал еще две координаты (высоту и ширину) картинка уменьшилась не ее качество стало ужасным

Последний раз редактировалось shtopor, 18.10.2012 в 13:58.
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2012, 13:58
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

а зум у браузера случайно не включен?
Ответить с цитированием
  #6 (permalink)  
Старый 18.10.2012, 14:02
Аспирант
Отправить личное сообщение для shtopor Посмотреть профиль Найти все сообщения от shtopor
 
Регистрация: 02.05.2010
Сообщений: 68

Возможно, а как узнать включен или нет?
Ответить с цитированием
  #7 (permalink)  
Старый 18.10.2012, 14:04
Кандидат Javascript-наук
Отправить личное сообщение для Your Посмотреть профиль Найти все сообщения от Your
 
Регистрация: 03.10.2012
Сообщений: 147

event.target.offsetLeft

event.target.left


Возможно у вас там число не приходит и складываются строки)

Последний раз редактировалось Your, 18.10.2012 в 14:11.
Ответить с цитированием
  #8 (permalink)  
Старый 18.10.2012, 14:07
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

зажать ctrl и покрутить колёсико мыши , либо ctrl +\-
Ответить с цитированием
  #9 (permalink)  
Старый 18.10.2012, 14:10
Аспирант
Отправить личное сообщение для shtopor Посмотреть профиль Найти все сообщения от shtopor
 
Регистрация: 02.05.2010
Сообщений: 68

А это нет конечно, canvas лежит в div с фоном, который отображается как надо
Ответить с цитированием
  #10 (permalink)  
Старый 18.10.2012, 14:44
Аспирант
Отправить личное сообщение для shtopor Посмотреть профиль Найти все сообщения от shtopor
 
Регистрация: 02.05.2010
Сообщений: 68

Всем спасибо, разобрался))
Размеры canvas у меня были указаны тлько в стилях)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение координат от картинки EmDmAl Events/DOM/Window 4 08.11.2009 14:34
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57
IE: неизвестная ошибка выполнения _Kpot_ Internet Explorer 1 03.04.2008 11:00