css3 - canvas画对角线很模糊
问题描述
使用canvas画一个p的对角线,先算p的width和height,再赋给canvas的width和height,然后建立一个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();
问题解答
回答1:如果你使用的设备太高清了,你可以尝试下这样的操作:
对canvas使用css样式(style属性)来确定在页面内的高宽
设置canvas的width和height属性的值为css样式的高宽的2倍
开始享受你的绘图
回答2:尝试 moveTo(0.5,0.5);
回答3:找到一篇文章,希望对你有帮助:HTML5 Canvas 如何取消反锯齿绘图
回答4:楼主你好,你需要在canvas元素里面给width和height属性。如果你在css里面定义canvas的width和height就会出现线条模糊的情况,因此你的更改JS
原:var w = parseInt($(canvasDom).css('width')); 改:var w = parseInt($(canvasDom).style('width'));
同理,height部分也需要这样改动
相关文章:
1. dockerfile - 为什么docker容器启动不了?2. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?3. 前端 - 这段代码一直生效不了,查半天因为 top: 0px; 分号后一个隐藏的东西,也不是占位符...删了就可以生效,这是什么情况。。4. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题5. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下6. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????7. mac连接阿里云docker集群,已经卡了2天了,求问?8. javascript - sublime快键键问题9. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””10. debian - docker依赖的aufs-tools源码哪里可以找到啊?

网公网安备