html2 canvas实现浏览器截图


当前第2页 返回上一页

1、从canvas中直接提取图片元数据


1

2

3

// 图片导出为 png 格式

      var type = 'png';

      var imgData = canvas.toDataURL(type);

2、将mime-type改为image/octet-stream,强制让浏览器直接download


1

2

3

4

5

6

7

8

9

10

11

12

13

/**

 * 获取mimeType

 * @param  {String} type the old mime-type

 * @return the new mime-type

 */

var _fixType = function(type) {

    type = type.toLowerCase().replace(/jpg/i, 'jpeg');

    var r = type.match(/png|jpeg|bmp|gif/)[0];

    return 'image/' + r;

};

    

// 加工image data,替换mime type

imgData = imgData.replace(_fixType(type),'image/octet-stream');

3、图片download到本地


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

/**

 * 在本地进行文件保存

 * @param  {String} data     要保存到本地的图片数据

 * @param  {String} filename 文件名

 */

var saveFile = function(data, filename){

    var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');

    save_link.href = data;

    save_link.download = filename;

    

    var event = document.createEvent('MouseEvents');

    event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

    save_link.dispatchEvent(event);

};

    

// 下载后的文件名

var filename = 'baidufe_' + (new Date()).getTime() + '.' + type;

// download

saveFile(imgData,filename);

相关推荐:

html5浏览器截图的示例

以上就是html2 canvas实现浏览器截图的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

详解canvas实现圆弧、圆环进度条的实例方法

canvas实现高阶贝塞尔曲线

用html5 canvas来绘制三角形和矩形等多边形的方法

如何用canvas实现在线签名的示例代码

canvas绘制各种基本图形

关于html5如何在canvas中插入图片的示例详解

canvas画直角坐标系

html5中如何绘制图形以及清空图像

html5 canvas常用属性方法(介绍)

canvas中线段的端点与连接点详解

更多相关阅读请进入《Firefox》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...