Javascript Canvas 渲染错误
Javascript Canvas bad rendered
我刚刚尝试了一下Javascript和HTML5画布,当我在浏览器(chrome)中看到它时,我意识到它的渲染不是很漂亮。之后,我在Internet Explorer中看到了它,在那里它看起来更加粗糙。我举了一个小例子:http://ios.xomz.de/我刚刚在 html 代码中声明了画布对象
<canvas id="mycanvas" width="1000px" height="600px"/>
并渲染到其中
var canvas = document.getElementById("mycanvas");
var context = canvas.getContext("2d");
context.beginPath();
context.rect(200, 200, 600, 200);
context.lineWidth = 5;
context.strokeStyle = 'black';
context.stroke();
context.font = "40pt arial";
context.fillStyle = "black";
context.fillText("Hello World!", 220, 380);
例如。
你能解释为什么渲染不好吗?
不要使用"px",我也建议不要使用自闭合标签:
<canvas id="mycanvas" width="1000" height="600"></canvas>
http://jsfiddle.net/c2KeD/
此问题与在基于浮点的网格(尤其是垂直和水平线以及矩形)上绘制对象的方式有关。
有关解释和架构,请参阅此处:http://canop.org/blog/?p=220
根据对象的大小,您需要为形状使用整数或中整数坐标和大小,目标是在两个维度上填充完整的像素。
例如:
- 对细线使用中间整数(一个像素宽)
- 对 2 像素宽的线使用整数坐标
(并扩展矩形的逻辑)
在您的情况下,线宽为 5,您可以使用以下内容获得更清晰的矩形:
context.rect(200.5, 200.5, 600, 200);
演示:http://jsfiddle.net/dystroy/TyNBB/
相关文章:
- HTML5 Canvas访问控制允许原始错误
- 在fabric.js中以PNG格式下载Canvas,给出网络错误
- canvas.toDataURL()安全性错误
- 未捕获的类型错误:ctx.fillText 不是一个函数(Javascript Canvas)
- Javascript Canvas 渲染错误
- HTML5 Canvas游戏有错误,点击时第一个拼图块会变成不同的块
- canvas.toDataURL()生成错误的DataURL
- Canvas:drawImage方法失败,没有错误
- Chrome for Android 28:HTML Canvas RadialGradient渲染错误
- 使用Arc的HTML5 Canvas Clip剪辑错误
- canvas.toDataURL() 和 drawImage() 的安全错误
- javascript中Canvas为null错误
- 未捕获的类型错误:canvas.toDataUrl不是一个函数
- 从canvas的链接集调用JavaScript函数会打开一个带有错误的新选项卡
- 在jquery/canvas中预加载图像"Uncaught TypeError:类型错误"
- ASP.使用HTML5 Canvas的.NET绘图应用程序.保存到服务器.JavaScript错误
- 错误信息" Domado: canvas drawImage尚未实现"在谷歌应用程序脚本-不允许绘制图像
- Canvas Kineticjs -鼠标位置错误
- Canvas / kinetic内存不足错误
- Canvas getImageData使用graident给出错误的结果