canvas绘制图片,图片变模糊
canvas绘制图片,图片变模糊
问题:
设定一个一定尺寸的canvas,我这里设置的画布大小是400px*400px。当一张图片完全画到画布上的时候,大概率都会出现图片模糊的情况。
我拿下面一张图片画到canvas上作为例子,看上去应该比较明显的有模糊的感觉。
其实在大学的时候我有做过canvas相关的开发内容,也遇到这种问题,当时太菜不懂。单方面的去修改图片精度,换成更高清的图片,事实证明确实有一丢丢用,但是效果不是很明显。况且我当时那个图片由于是手绘的,大小有5M,也不会切片加载图片,直接整个加载非常耗时。旧事不提。。
那么如何去处理这样的问题呢?
- 生活中应该大家都遇到过这样的情况,同样的1080p的视频,在大屏显示器上看和手机上看效果是不一样的,大屏往往会让人感觉一种模糊感。而在手机小屏幕上,就会感觉异常的清晰。
两个点
- 通过上面的一个例子,我们可以将图片放大,然后再绘制进原先大小的canvas中,这样图片的精度受损会比较小
- 了解canvas的绘制原理(*打星号)
canvas其实就是一张画布,所以如果可以的话,你可以将它放大,可以发现它也是有一个个的像素组成的。
如上图,可以看到一个个的网格。假设我们需要在上面绘制一条1px的线条,就会得到上面的效果。
但是canvas是的绘制方式是从中线开始绘制,并向两侧延伸的。
他会以图中的红线作为中线,向两边延伸,从而得到1px的纵向线条。但是像素是不允许0.5px的出现的,所以它索性就直接再延伸一点,将像素给填满。所以你看到的效果是下面这种canvas绘制图片,图片变模糊相关推荐
- java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片
[Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...
- 小程序 uni canvas绘制圆角图片 圆角矩形
小程序 uni canvas绘制圆角图片 圆角矩形 获取canvas的宽度保证适应屏幕 uni.getSystemInfo({success: (res)=> { // res - 各种参数le ...
- html5 简单图片效果,【HTML5】Canvas绘制简单图片教程,
[HTML5]Canvas绘制简单图片教程, 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象的onload方法,调用context对象的drawIm ...
- 为什么canvas绘制的线条会模糊、有锯齿?
有如下的代码: <style type="text/css">canvas {position:absolute;height : 100%;width : 100%; ...
- canvas引入图片后变模糊
最近用Canvas画一些东西,结果用canvas绘制图片出来是模糊的!!!! 比如这样 完全失真了!!! 这是我写的源代码 //html<canvas id="canvas" ...
- unity3d 为什么清晰的图片会变模糊
写在前面 当我们在Unity中,使用图片进行2D显示时,会发现显示出来的画面有明显的模糊或者锯齿,但是美术给的原图却十分清晰. 要改善这一状况实际上很简单. 造成这样的原因,是Unity在导入图片(或 ...
- 微信小程序保存canvas绘制的图片到本地,拒绝图片授权后继续授权
authorizeSaveImg() { //重新授权相册const that = this;wx.getSetting({success(res) {// 第一,直接调取保存,系统会自动调取授权if ...
- Canvas 绘制圆形图片、绘制圆角矩形图片
前言 在 Canvas 中我们常常遇到的一个需求 绘制一个圆形或者一个圆角矩形图像,常用于展示用户头像,我们知道 CSS 有 border-radius 属性,但是 Canvas 是没有的~
- ps 导出png-8图片会变模糊
出现这种情况的时候,在保存png-8图片的时候,索引色需要改为256,否则保存的图片颜色与原图会不一致. 转载于:https://www.cnblogs.com/hd1992/p/6198093.ht ...
- css解决图片缩小变模糊问题
代码中加上 image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-o ...
最新文章
- unix环境高级编程-线程(2)
- pycharm打开python文件如何自动创建项目_pycharm 怎么自动创建python头文件?
- python -scikit
- EntityModelStudio系列教程5--EMLib框架之Eql
- python md5_Python提取MD5
- 形似棺材的“抗震救生床”,你会要吗?
- 【FFMPEG源码终极解析】void av_packet_unref(AVPacket *pkt)
- LeetCode 1877. 数组中最大数对和的最小值(贪心)
- mysql crud_如何使用Laravel和MySQL构建您的第一个CRUD应用
- REX-Ray 了解
- KindleDrip:从邮件地址到信用卡盗刷的严重漏洞,值$1.8万奖金
- linux文件系统 - 初始化(一)
- Jemalloc源码解析_源码剖析
- 安装SqlServer2008时出现重新启动电脑但是重启电脑也不行
- Egret 骨骼动画
- 软工网络15个人阅读作业1-评分发布
- python多人聊天程序程序代码_Python使用django框架实现多人在线匿名聊天的小程序...
- 问题 C: 百头百脚
- 010201信息收集
- Golang中的格式化输入输出
热门文章
- java switch 参数不能是null
- JavaScript前端精确配置设置与监听器使用
- IDEA中Dependencies红色波浪线报错的解决办法
- Squid代理服务器配置及CDN简介
- Web UI 自动化测试方案(超级干货)
- 基于知识图谱的语义理解技术及应用
- 服务器系统盘50g什么意思,云服务器50g包括系统盘吗
- jango报错django.utils.datastructures.MultiValueDictKeyError
- 【小脑洞】app调整mic音量
- android单元测试Esspresso测试popupwindow,webview
- java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片