android区域截图app,5+App Android、iOS 截屏任意区域(解决iOS机型下clip-top无效bug )...

Android机型,截图正常

iOS机型,bitmap.save时,clip的top参数无效,但在plus.webview.currentWebview().draw时,是有效的。

源码示例 https://blog.youkuaiyun.com/qq285679784/article/details/109001187

cedca293f269ba11.jpg

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

dddd

mui.init();

mui.plusReady(function() {

// 截屏图片比例 5:4

let descWidth = document.body.clientWidth;

let descHeight = descWidth / (5 / 4);

var options = {

successCB: function(e) {

console.log(JSON.stringify(e))

},

errorCB: function(e) {

console.log(JSON.stringify(e))

},

quality: 80,

clip: {

top: '20px',

left: '0px',

width: descWidth,

height: descHeight

}

}

drawScreen(options);

});

/* drawScreen.js

参数说明:

参数名 类型 说明 默认值 是否必选

successCB | Function | 成功回调函数 | | Y

errorCB | Function | 失败,回调函数 | Function |

fileName | String | 文件名,不需后缀名 | 当前时间戳 |

imgID | String | 原生图片ID | 当前时间戳 |

overwrite | Boolean | 是否覆盖 | true |

format | String | 保存的格式 | PNG |

quality | Number | 保存质量,1-100,1最低,100最高 | 50 |

clip | Object | 指定截屏区域 | {top:’0px’,left:’0px’,width:’100%’,height:’100%’}

*/

var drawScreen = function(options) {

options = {

successCB: options.successCB || function() {},

errorCB: options.errorCB || function() {},

fileName: options.fileName || Date.parse(new Date()),

imgID: options.imgID || String(Date.parse(new Date())),

overwrite: options.overwrite || true,

format: options.format || 'jpg',

quality: options.quality || 50,

clip: options.clip || {

top: '0px',

left: '0px',

width: '100%',

height: '100%'

}

}

var self = plus.webview.currentWebview();

var bitmap = new plus.nativeObj.Bitmap(options.imgID);

//绘制截图

self.draw(bitmap, function() {

// 保存Bitmap图片

bitmap.save('_doc/' + options.fileName + '.' + options.format, {

overwrite: options.overwrite,

format: options.format,

quality: options.quality,

clip: options.clip //iOS机型,bitmap.save时,clip的top参数无效,但在self.draw时,是有效的。

}, function(i) {

//销毁Bitmap图片

bitmap.clear();

options.successCB({

success: 'success',

details: i.target

});

}, function(e) {

bitmap.clear();

options.errorCB({

error: '图片保存失败',

details: e

});

});

}, function(e) {

options.errorCB({

error: '截屏绘制失败',

details: e

});

},{

clip: options.clip //绘制截图时,设置clip,解决iOS机型下clip-top无效bug

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值