https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀.由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变.

CanvasRenderingContext2D.imageSmoothingEnabled 是 Canvas 2D API 用来设置图片是否平滑的属性,true表示图片平滑(默认值),false表示图片不平滑。当我们获取 imageSmoothingEnabled属性值时, 它会返回最新设置的值。

以缩放画布为例,这个属性对像素为主的游戏很有用。默认的改变大小的算法会造成图片模糊并且破坏图片原有的像素。 如果那样的话,设置属性值为false。 参见 CSS image-rendering 属性。

语法

ctx.imageSmoothingEnabled = value;

选项

value
一个Boolean 类型的值,表示图片是否平滑。

示例

使用 imageSmoothingEnabled 属性

这是一段简单的代码片段,对缩放的图片使用 imageSmoothingEnabled 属性。

HTML

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

JavaScript

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d"); var img = new Image();
img.src = 'https://mdn.mozillademos.org/files/222/Canvas_createpattern.png';
img.onload = function() {
ctx.mozImageSmoothingEnabled = false;
ctx.webkitImageSmoothingEnabled = false;
ctx.msImageSmoothingEnabled = false;
ctx.imageSmoothingEnabled = false;
ctx.drawImage(img, 0, 0, 400, 200);
};
var img = new Image();
img.src = 'https://mdn.mozillademos.org/files/222/Canvas_createpattern.png';
img.onload = function() {
ctx.mozImageSmoothingEnabled = false;
ctx.webkitImageSmoothingEnabled = false;
ctx.msImageSmoothingEnabled = false;
ctx.imageSmoothingEnabled = false;
ctx.drawImage(img, 0, 0, 400, 200);
};

规范描述

Specification Status Comment
WHATWG HTML Living Standard
CanvasRenderingContext2D.imageSmoothingEnabled
Living Standard  

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 30
webkit (until 29)
(Yes)
moz
bug 768072
(Yes)
ms
? ?

参见

最新文章

  1. ncurses库的一些函数
  2. java 多线程(daemon)
  3. Redis系列三之持久化
  4. QListWidget
  5. php--group_concat()函数总结
  6. android测试(转)
  7. hihocode ---1032
  8. MYSQL 安装更新,使用,管理,备份和安全等
  9. ODCA最佳实践翻译:Architecting Cloud-Aware Applications (一)
  10. 失败经历--在windows下安装meld
  11. elasearch 版本控制
  12. [DP优化方法之斜率DP]
  13. Oracle 重建控制文件
  14. c++字符串的输入的思考
  15. 动态创建angular组件实现popup弹窗
  16. centos7环境下mysql5.7的安装与配置
  17. Python系列之 - 描述符
  18. EBS R12安装升级(FRESH)(四)
  19. iTOP-开发板-MiniLinux-C程序调用shell命令
  20. unittest报告出现dict() -&gt; new empty dictionary错误解决办法

热门文章

  1. 2015 Multi-University Training Contest 3 1006 Beautiful Set
  2. 【转】社区O2O的增量与存量,机会在哪?
  3. Hadoop周边生态软件和简要工作原理(二)
  4. dm8127之核间通信syslink
  5. 杂记之--苹果4s手机呼叫转移怎么设置
  6. ionic 弹窗(alert, confirm)
  7. 写一个SingleTon,(饿最终、懒同步)
  8. GitHub Pages站点官方宣布开始使用HTTPS
  9. 获取Asset下文本内容和读取图片
  10. 使用Mac App Store更新、下载软件时出现未知错误的解决方法