日期:2014-05-17  浏览次数:20932 次

html5 canvas 画一个矩形,在矩形里添加文字。 文字超出矩形怎样自动换行???
JScript code


   var canvas = document.getElementById("demo")
   var ctx = canvas.getContext('2d');
   ctx.font = "32pt Arial";
   ctx.beginPath();
   ctx.lineWidth = "1";
   ctx.strokeStyle = "blue";
   ctx.moveTo(100, 100);
   ctx.lineTo(100, 400);
   ctx.lineTo(400, 400);
   ctx.lineTo(400, 100);
   ctx.closePath();
   ctx.stroke();
   ctx.strokeText("hello world hello world hello world hello world hello world", 120, 200);
   ctx.strokeStyle = "red";
   ctx.stroke();


无法换行啊!!!
有什么方法可以换行???

------解决方案--------------------
CANVAS让文本自动换行恐怕是不可能的,因为绘制的文本和矩形没关系,
只有自己根据矩形,文本的大小和位置计算后,再绘制文本
------解决方案--------------------
计算文本占的宽度来换行
如果担心计算麻烦 可以用等宽的字体