canvas中strokeRect的渲染问题strokeRect把一像素的边框渲染成两像素
> 结论写在头
var oC = document.getElementById('c1');
var oGC = oC.getContext('2d');oGC.strokeRect(50,50,100,100);//默认绘制黑色一像素的线
像这个用canvas绘制出一个方形的时候,由于设置的top值和left值是50px,所以canvas会在第50和第51个像素之间从中间开始绘制一像素的线,第50和第51个像素各占0.5像素。
计算机并不能渲染0.5个像素,所以导致第50和第51个像素都被渲染了,渲染的颜色就成了灰色。(白加黑:背景色加线的颜色)
> 解决办法
既然会因为0.5像素的问题而渲染了两个像素,那么在设置top值和left值时,增加或减少0.5像素就可以解决了。想绘制在第51个像素就设置50.5,想绘制在第50个像素就设置49.5。
另外,值得注意的是,画出来的方形大小只有99*99像素,要除去一边线的宽度。
转载于:https://www.cnblogs.com/jacobb/p/6814328.html
canvas中strokeRect的渲染问题strokeRect把一像素的边框渲染成两像素相关推荐
- html5绘制矩形动画,HTML5 Canvas中绘制矩形实例
本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, "The Basic Rectangle Shape". ...
- html5中阴影,HTML5 Canvas 中的颜色、样式和阴影的属性和方法
颜色.样式和阴影的属性与方法 fillStyle 设置或返回用于填充绘画的颜色.渐变或模式 strokeStyle 设置或返回用于笔触的颜色.渐变或模式 ...
- html5怎么转换,HTML5 canvas中的转换方法
转换方法 scale(scalewidth,scaleheight) 缩放当前绘图至更大或更小 scalewidth 缩放当前绘图的宽度 (1=100%, ...
- 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图
一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增,y坐标向下递增. 使用绘图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制 ...
- 在Canvas中绘制圆角矩形
问题的提出 要在Canvas中绘制一个矩形,使用strokeRect或fillRect函数即可. var canvas = document.getElementById("canvas&q ...
- c语言随机选几个球,WebAssembly Demo之Canvas中随机运动圆球
作者:云荒杯倾 1.Demo功能介绍 实现了一个圆球在800px * 600px画布内随机运动,固定时间间隔随机运动一次,运动方向由x和y轴组成的向量决定,这个向量是随机值(后面会称它为随机向量),从 ...
- unity2D学习(14)血条显示、Canvas中Render Mode的三种模式介绍
1 血条素材处理 分割处理:对上一章画出来的血条图片做分割处理 整理素材格式: Sprite Mode选择Multiple:因为一张图片包含多个素材. Pixels Per Unit单位像素为16:与 ...
- java todataurl_利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...
- canvas中的碰撞检测笔记
2019独角兽企业重金招聘Python工程师标准>>> canvas中的碰撞检测笔记 时间 2016-01-19 08:29:00 博客园精华区 原文 http://www. ...
最新文章
- 【Echarts】当页面宽度改变时如何使图表宽度自适应
- 李洪强iOS经典面试题153- 补充
- $@ 与 $* 差在哪?
- ADOQuery的LockType
- python代码设计测试用例_Python单元测试与测试用例简析
- 面试题——栈的压入、弹出顺序
- 为什么java我点击运行却没有_java – 为什么我的jar文件没有双击启动?
- 基金学习201907301
- UVALive - 6436
- 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
- 控制台应用程序中Main函数的args参数
- AIDA64内存与缓存测试过了算稳定吗_买了B460主板的你,究竟需要怎样的内存
- 从菜鸟到架构师(三)
- 小白快速体验之爬虫抓取新浪热搜
- 初中升高中计算机考试题,初中信息技术中学考试excel操作题.doc
- Sailfish 浏览器是基于 Gecko 引擎开发
- 两台电脑直接连接共享资料
- usbserial驱动 带感叹号_STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!...
- 各种 RAID 详解
- 英雄远征Erlang源码分析(1)-源码结构解析
热门文章
- 【实操】Y7000P 2020款安装黑苹果完整步骤记录
- Scala基于Akka模拟Spark Master Worker进程间通信(二):Worker定时向Master心跳
- 使用 Sealos + Longhorn 部署 KubeSphere v3.0.0
- linux cut列截取工具使用示例
- 使用npm init生成package.json
- scala中的构造方法和伴生对象
- Python Django 多表插入之重写save()方法代码示例
- spring boot整合freemarker及freemarker基础语法超详细讲解
- FFmpeg windows下载安装
- 【已解决】Navicat 远程连接 Linux服务器上的MySQL数据库