Показать сообщение отдельно
  #677 (permalink)  
Старый 06.01.2015, 23:51
Интересующийся
Отправить личное сообщение для ssadfaf Посмотреть профиль Найти все сообщения от ssadfaf
 
Регистрация: 28.12.2014
Сообщений: 20

Safort, я их по-доброму пожурил.
Я не понимаю, что ты сказал о разных пикселях (типа, размер зависит от того, продаём мы их или покупаем?), но в цитате речь идёт о другом.
Я только начал знакомиться с канвасом и сразу же столкнулся с этой дичью.
Задал канвасу размер цссом:
NewElem.style.width='1em';

А он пургу рисует, при том, что я первый раз общаюсь с канвасом.
Тупо копирую с примеров, а получается не то. При этом я заметил, что картинки получаются хоть и неправильные, но подобные друг другу, т.е. при увеличении размера через цсс в два раза картинка остаётся неправильной, но такой же.
Там наверху по-английски написано, что внутренние координаты канваса определяются его размерами, а если они заданы некорректно, то он устанавливает внутренний размер (и координаты, соотв.) как 300 на 150 точек, которые как бы пиксели.
Т.е., получив размеры через ЦСС, он их не понимает и считает некорректными, и получается пурга. Размер самого канваса через ЦСС будет отрисован корректно (хоть 10ем*10ем, хоть 16пх*200пх), а внутри он всё равно будет рисовать, разбив себя на 300*150 точек.

Т.о, если я хочу привязать размер канваса к относительным величинам, то делаю так:
NewElem2.style.width='1em'; //какой-то элемент
var x100 = NewElem2.clientWidth;
var NewElem = window.document.getElementById(ElemIdName);	// это канвас
	NewElem.width = x100;	
	NewElem.height = x100;

И тогда всё ОК.
Ответить с цитированием