移动端Html5页面生成图片解决方案


当前第2页 返回上一页

1

2

3

4

5

6

function DPR() {

        if (window.devicePixelRatio && window.devicePixelRatio > 1) {

            return window.devicePixelRatio;

        }

        return 1;

    }

这个DPR函数就是获取设备的像素比, 那获取像素比之后要做什么呢?

1

2

3

4

5

6

7

8

9

10

11

12

13

var canvas = document.createElement('canvas');

        // 设定 canvas 元素属性宽高为 DOM 节点宽高 * 像素比

        canvas.width = width * scaleBy;

        canvas.height = height * scaleBy;

        // 设定 canvas css宽高为 DOM 节点宽高

        canvas.style.width = `${width}px`;

        canvas.style.height = `${height}px`;

 

        // 获取画笔

        const context = canvas.getContext('2d');

 

        // 将所有绘制内容放大像素比倍

        context.scale(scaleBy, scaleBy);

3.获取设备像素比之后将canavs.width 和 canvas.height 去乘以设备像素比 也就是 scaleBy; 这个时候在去设置canvas.style.width 和 canvas.style.height 为dom的宽和高。想想为什么要这么写?最后在绘制的饿时候将所绘制的内容放大像素比倍

举个例子iphone6S是设备宽高是375 X 667 ,6S的 window.devicePixelRatio = 物理像素 / dips(2=750/375)所以设计师一般给你的设计稿是不是都是750*1334的?所以如果按照一比一去绘制在高清屏下就会模糊,看图说话6S DPR=2

6plus DPR=3

4.最后调用canvas.toDataURL("image/png");赋值给image.src,由于微信里面无法保存图片,所以只能生成图片文件,调用微信自带的长按保存到图片到相册功能,如图:

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问Html5视频教程!

相关推荐:

php公益培训视频教程

HTML5图文教程

HTML5在线手册

以上就是移动端Html5页面生成图片解决方案的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

html5怎么实现拖拽

html5web存储实例代码

h5中文件上传下载实例

h5最全面解读

doctype html 什么意思?

总结html5中新表单元素的使用方法及实例教程

html5编码怎么设置

h5新标签浏览器的兼容问题

如何使用html5 canvas绘制动态线性渐变

html5的深入了解

更多相关阅读请进入《移动端》频道 >>




打赏

取消

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

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

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

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

评论

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