h5plus截屏并保存至相册

                        var shareContent = cntElem; //需要截图的包裹的(原生的)DOM 对象
                        var width = shareContent.offsetWidth; //获取dom 宽度
                        var height = shareContent.offsetHeight; //获取dom 高度
                        var canvas = document.createElement("canvas"); //创建一个canvas节点
                        var scale = 2; //定义任意放大倍数 支持小数
                        canvas.width = width * scale; //定义canvas 宽度 * 缩放
                        canvas.height = height * scale; //定义canvas高度 *缩放
                        canvas.getContext("2d").scale(scale, scale); //获取context,设置scale 
                        var opts = {
                            scale: scale, // 添加的scale 参数
                            canvas: canvas, //自定义 canvas
                            // logging: true, //日志开关,便于查看html2canvas的内部执行流程
                            width: width, //dom 原始宽度
                            height: height,
                            useCORS: true // 【重要】开启跨域配置
                        };
 
                        html2canvas(shareContent, opts).then(function(canvas) {
                            // H5 plus事件处理
 
                            var context = canvas.getContext('2d');
                            // 【重要】关闭抗锯齿
                            context.mozImageSmoothingEnabled = false;
                            context.webkitImageSmoothingEnabled = false;
                            context.msImageSmoothingEnabled = false;
                            context.imageSmoothingEnabled = false;
                            var dataUrl = canvas.toDataURL("image/jpeg");
 
                            var bitmap = new plus.nativeObj.Bitmap();
                            var result = new Date().getTime();
                            var filename = result + "_picture" + ".jpeg";
                            bitmap.loadBase64Data(dataUrl);
 
                            bitmap.save(
                                "_doc/" + filename, {
                                    overwrite: true
                                },
                                function(i) {
                                    //保存到系统相册
                                    plus.gallery.save(
                                        i.target,
                                        function(d) {
                                            //销毁Bitmap图片
                                            bitmap.clear();
                                            //console.log("保存图片到相册成功");
                                        },
                                        function() {
                                            //console.log("保存保存失败");
                                        }
                                    );
                                },
                                function() {
                                    bitmap.clear();
                                }
                            );
                            plus.nativeUI.closeWaiting();
                            var path = "file://" + plus.io.convertLocalFileSystemURL("_doc/" + filename);
                            shareImage(path); //传入参数调用微信分享接口
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容