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实现浏览器截图的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

介绍html5+canvas调用手机拍照功能实现图片上传(下篇)

canvas跨域的解决方案介绍

分享h5 canvas圆圈进度条的实例代码

浏览器兼容html5和css3的问题

html5中canvas与svg有什么区别

h5canvas实现刮刮乐效果代码

h5 canvas中fill 与stroke文字效果实现实例

h5 canvas api中drawimage(图像进行缩放或裁剪)的使用实例

canvas基础的学习

实现弹幕效果的方法总结(css和canvas)

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




打赏

取消

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

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

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

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

评论

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