我使用createJS绘制画布内部。我的画布设置为使用resize()函数占用浏览器窗口,以保持宽高比。如果我调整了我的画布大小,我的createJS文本变得模糊了
这是代码:
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 VS http://i.imgur.com/Xwhf5c5.png
我怎样才能解决这个问题呢?
你能存储原始画布'的大小width'和'高度“,然后根据调整大小计算新的比例,然后通过新的宽度和高度正确重画所有元素?例如。原始宽度= 400原始高度= 400,调整后的宽度现在为800,高度现在为600.像这样运行绘图函数。 'mytext.x = 400 *(canvas.width/originalWidth);然后做同样的高度和字体大小 – Canvas
我试图避免这种解决方案,因为我已经建立了大量的文字和图像吨游戏,我需要为每个游戏构建一个调整大小的功能,也弥补了改变坐标。但如果这是我必须应用的唯一解决方案。 – Condward