Използвам createJS за рисуване вътре в платното. Моето платно е настроено да заема прозореца на браузъра, поддържайки пропорциите с помощта на функцията resize().
Това е кодът:
mytext = new createjs.Text("Lorem ipsum dolor sit amet 2","19px Calibri","#073949");
mytext.x = 450
mytext.y = 300;
stage.addChild(mytext);
resize = function() {
var canvas = document.getElementById('canvas');
var canvasRatio = canvas.height / canvas.width;
var windowRatio = window.innerHeight / window.innerWidth;
var width;
var height;
if (windowRatio < canvasRatio) {
height = window.innerHeight - 35;
width = height / canvasRatio;
} else {
width = window.innerWidth;
height = width * canvasRatio;
}
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
}()
Това, което се случва, е, че текстът се размазва (намаляване на качеството), когато платното се преоразмерява.
http://i.imgur.com/RQOSajs.png срещу http://i.imgur.com/Xwhf5c5.png
Как мога да разреша този проблем?
width
иheight
, след което в зависимост от преоразмеряването да изчислите новите мащаби, след което да преначертаете всички елементи правилно с новата ширина и височина? Например. оригинална ширина = 400 оригинална височина = 400, след преоразмеряване ширината вече е 800, а височината вече е 600. Стартирайте функцията за рисуване по този начин. `mytext.x = 400 * (canvas.width / originalWidth); след това направете същото за височината и размера на шрифта - person Canvas   schedule 28.09.2015