全栈
全栈
  • 发布:2019-06-15 17:30
  • 更新:2019-06-15 18:47
  • 阅读:1500

【报Bug】截屏BUG ,在 bitmap 保存时 若clip设置参数要么错乱或失败

分类:HTML5+

详细问题描述

附上重现demo

在iOS时,top参数无效,left参数设置的是top与left,width和height也是乱来的。
在安卓时,如果设置top或left,直接触发错误回调。

附上主要代码:

document.addEventListener('plusready', function(){
var self = plus.webview.currentWebview();

        var bitmap = new plus.nativeObj.Bitmap('task');  
        self.draw(bitmap, function(){  
                bitmap.save('_downloads/baomode/'+Date.parse( new Date())+Math.random()+'.png',   
                {"overwrite":true, "format":"png", "quality":100, "clip":{top:'0px',left:'100px',width:'100%',height:'50%'}},  
                function(event){  
                    bitmap.clear();  

                    plus.gallery.save(event.target,function() {  
                        alert('保存成功');  
                    }, function() {  
                        mui.toast('保存失败,请重试!');  
                    });  

                }, function(error){  
                    plus.nativeUI.alert('失败:'+error.code+ error.message);  
                } );  

        });  
    });  

[内容]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX 2.0.1.20190615

[运行端是h5或app或某个小程序?]
html5+ APP

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

iPhone6 Plus 和 华为荣誉V9

2019-06-15 17:30 负责人:无 分享
已邀请:
全栈

全栈 (作者) - 90后全栈男

附件内有重现demo

全栈

全栈 (作者) - 90后全栈男

希望能解决这个BUG,这样虽然不能在APP端做到自定义图片合成功能,但可以用截屏来动态合成,不再需要到服务端去处理浪费时间和服务器资源。

全栈

全栈 (作者) - 90后全栈男

quality 参数也无效,是我写法错误了吗?

DCloud_Android_ST

DCloud_Android_ST

"clip":{top:'0px',left:'100px',width:'100%',height:'50%'}
android的报错失败原因是(left + width) 大于原图bitmap宽度了! 不过我们后续会进行优化容错,但是保存的图与你预计的可能会不太一样。

DCloud_Android_ST

DCloud_Android_ST

使用http://www.html5plus.org/doc/zh_cn/zip.html#plus.zip.compressImage 比save要更适合一些。

该问题目前已经被锁定, 无法添加新回复