我正在尋找一個可調整大小的畫布項目。我讀過的一些網站推薦使用CSS來重新設計,但是我也看到有人說永遠不要這樣做,因爲它通過伸展東西來模糊文本。但是,如果你只是告訴畫布在JavaScript中調整大小不會填充文本,如下面的例子需要重做?Javascript,Canvas,and Resizing
var canvas = document.getElementById("example");
var ctx = canvas.getContext('2d');
var cornerRadius = 10;
function drawMe() {
ctx.fillStyle = "red";
ctx.strokeStyle = "red";
ctx.lineJoin = "round";
ctx.lineWidth = cornerRadius;
ctx.strokeRect(5+(cornerRadius/2), 23+(cornerRadius/2), 155-cornerRadius, 406-cornerRadius);
ctx.fillRect(5+(cornerRadius/2), 23+(cornerRadius/2), 155-cornerRadius, 406-cornerRadius);
ctx.font = '16pt Arial';
ctx.fillStyle = 'white';
ctx.textAlign="start";
ctx.fillText('Text', 8, 70);
ctx.fillText('Text', 8, 128);
}
function redraw() {
ctx.strokeStyle = 'blue';
ctx.lineWidth = '5';
ctx.strokeRect(0, 0, window.innerWidth, window.innerHeight);
drawMe();
}
window.onload = function() {
redraw();
};
項目的例子。
帆布爲HTML格式設置爲1280 x 800。 編輯成包括https://jsfiddle.net/o1rkg1tf/
如果您可以在問題中提供像jsfiddle/codepen這樣的工作代碼示例,那可能會更好。 – elpddev
好的,補充! https://jsfiddle.net/o1rkg1tf/ – lira153
我不是這方面的專家,但也許js需要動態,並接受設備像素比率的大小而不是常數155,406 .. 像在回答http://stackoverflow.com/questions/15661339/how-do-i-fix-blurry-text-in-my-html5-canvas#15666143 您可以捕捉並重繪畫布的resize事件 – elpddev