Я использую 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