css3 - canvas画对角线很模糊
大家讲道理
大家讲道理 2017-04-17 11:20:52
[CSS3讨论组]

使用canvas画一个p的对角线,先算pwidthheight,再赋给canvaswidthheight,然后建立一个2d画布开始画,为什么画出的斜线很模糊,改成直线就还好?感觉没有被因为p和画布的大小不同而放大或缩小

            var canvasDom = document.querySelector(".canvas_line");
            var w = parseInt($(canvasDom).css("width"));
            var h = parseInt($(canvasDom).css("height"));
            canvasDom.width = w;
            canvasDom.height = h;
            var context = canvasDom.getContext('2d');;
            context.beginPath();
            context.moveTo(0,0);
            context.lineTo(w, h);
            context.lineWidth = "1";
            context.strokeStyle = "red";
            context.stroke();
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
大家讲道理

如果你使用的设备太高清了,你可以尝试下这样的操作:

  1. 对canvas使用css样式(style属性)来确定在页面内的高宽

  2. 设置canvas的width和height属性的值为css样式的高宽的2倍

  3. 开始享受你的绘图

ringa_lee

尝试 moveTo(0.5,0.5);

PHPz

找到一篇文章,希望对你有帮助:HTML5 Canvas 如何取消反锯齿绘图

PHPz

楼主你好,你需要在canvas元素里面给width和height属性。如果你在css里面定义canvas的width和height就会出现线条模糊的情况,因此你的更改JS

     原:var w = parseInt($(canvasDom).css("width"));
     改:var w = parseInt($(canvasDom).style("width"));

同理,height部分也需要这样改动

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号