Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航名站网址导航小编为爱好网页hTML5的朋友提供关于网页hTML5的相关知识。

  • 本篇文章的具体介绍如下
接上一篇canvas画线条教程
上次咱们讲到,canvas有时候会出现1像素的线条模糊不清且好像更宽的情况,如下图:
 
这样的线条显然不是咱们想要的。
这篇文章的目的就是弄清楚里面的原理,以及解决它。
大家都知道屏幕上最小的显示尺寸就是1像素,虽然小于1像素的东西可能显示不出来,但计算机可不管,他会试着画一下。
其实像素终究来说也是一个单位,假如咱们把画布放大到足够大,足以看清楚每个像素,会是什么情况呢?大概是这个样子:

l6mAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


每个像素都有起止范围,如图所示,他们的范围从左起,跨过1像素,到右止。
如果咱们画1像素线条的时候,遵循像素的起止范围,那么咱们肯定能得到一个很标准的细线。如下:

l6mAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


但遗憾的是canvas的线条画法不一样,上一篇文章咱们已经说了,canvas的每条线都有一条无限细的“中线”,线条的宽度是从中线向两侧延伸的。如果咱们还是从第2个像素点画一条线,那么线条的中线就会靠齐到第2个像素的起点,然后咱们开始画了,问题也就来了:Canvas 的线条以中线向两侧延伸,而不是向某一边延伸(比如这里,如果只是往右侧延伸,那么咱们的问题就不再是问题了),延伸过后咱们的线条实际上是这样的:

l6mAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


此时又有个问题:计算机不允许出现小于1px的图形,所依他做了一个折中的事:把这两个像素都绘制了。
所依,如此一来,本来1px的线条,就成了看起来2px宽的线条。
失败的原因找到了:Canvas中的line把中线与像素的起点对齐了,而不是像素的中间点。
那么咱们怎么解决这个蛋疼的问题?也许有人已经想到了:既然是因为两个的起点不一样,那咱们就把他们的起点变得一样吧!
咱们让线条的中线和像素的中间点对齐就行了!
像素的中间点很好找,比如第2像素的中间点,依据图上的解释就是1.5像素的位置,那么x像素的中间点就是(x-0.5)px。

 
当然,在不很严谨的场合,您使用x 0.5也是可以的。
现在咱们在canvas上试试咱们的研究结果。

复制具体代码 具体代码如下:
ctx.moveTo(100.5,100.5);
ctx.lineTo(200.5,100.5);
ctx.lineTo(200.5,200.5);
ctx.lineTo(100.5,200.5);
ctx.lineTo(100.5,100.5);
ctx.closePath();
ctx.lineWidth = 1;
ctx.strokeStyle = 'rgba(255,0,0,0.5)';
ctx.stroke();

l6mAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


看起来对了吧?
不过貌似这样一来咱们画线的时候就非常纠结,难道每次都去加这个让人郁闷的0.5?当然不是,因为咱们大部分时间都是用变量保存值的,就不用给每个值加0.5 了
而且,对于lineWidth>1 的线,咱们也不用管它:因为只有线条宽1px的时候,这个问题才最明显。

html5 Canvas画图教程(2)―画直线与设置线条的样式如颜色/端点/l6mAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

l6mAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于网页hTML5的相关知识就说到这里希望可以帮助朋友们。,canvas,1像素线条,模糊

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市