HTML5 Canvas图片模糊问题

2 篇文章 0 订阅
2 篇文章 0 订阅

关于canvas图片模糊问题最好的办法就使用Window.devicePixelRatio

  1. Window 接口的devicePixelRatio返回当前显示设备的物理像素分辨率与CSS像素分辨率之比。
  2. 此值也可以解释为像素大小的比率:一个CSS像素的大小与一个物理像素的大小。
  3. 简单来说,它告诉浏览器应使用多少屏幕实际像素来绘制单个CSS像素。

当处理标准显示器与HiDPI或Retina显示器之间的差异时,这很有用,后者使用更多的屏幕像素绘制相同的对象,从而获得更清晰的图像。

语法:

value = window.devicePixelRatio;

初始化例子:

在 canvas 中修改分辨率

HTML

<canvas id="canvas"></canvas>

JavaScript

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

// 设置显示大小(css 像素)。
var size = 200;
canvas.style.width = size + "px";
canvas.style.height = size + "px";

// 设置内存中的实际大小(缩放以考虑额外的像素密度)。
var scale = window.devicePixelRatio; // 在视网膜屏幕上更改为 1 以查看模糊
canvas.width = Math.floor(size * scale);
canvas.height = Math.floor(size * scale);

// 标准化坐标系以使用 css 像素。
ctx.scale(scale, scale);

上面HTML跟JavaScript这两步是必填项,后面的就根据自己需求去添加了!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

土拨鼠的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值