本文主要包含mui app.js,mui.js,mui.min.js,mui.picker.min.js,mui.picker.js等相关知识,教程希望在学习及工作中可以帮助到您
");
</div>
很多时候很多api,比如mui中第三方插件map中有一个setIcon传入的必须是本地的图片文件地址,目前的第三方地图系统任然不支持base64的标注图,所以折腾了一晚之后终于在native.js中找到了将base64转化为图片的办法
官网文档请看:http://www.html5plus.org/doc/zh_cn/nativeobj.html#plus.nativeObj.BitmapSaveOptions
将bitmap实现放入app的公共js当中,比如我放在app.js中,并且塞在app这个闭包当中,随出引用调用:
- (function($, owner) {
- //将BASE 64保存为文件
- owner.baseImgFile = function(uid, base64, quality, callback) {
- quality = quality || 10;
- callback = callback || $.noop;
- var bitmap = new plus.nativeObj.Bitmap();
- // 从本地加载Bitmap图片
- bitmap.loadBase64Data(base64, function() {
- // console.log('加载图片成功');
- bitmap.save("_doc/" + uid + ".jpg", {
- overwrite: true,
- quality: quality
- }, function(i) {
- callback(i);
- // console.log('保存图片成功:'+JSON.stringify(i));
- }, function(e) {
- console.log('保存图片失败:' + JSON.stringify(e));
- });
- }, function(e) {
- console.log('加载图片失败:' + JSON.stringify(e));
- });
- }
- }(mui, window.app = {}));
第一个参数是文件名,我直接使用用户id,第二个参数是base64字符串,第三个参数是图片质量1-100,最后一个参数回掉函数,可获取保存图片文件的信息
使用:
- app.baseImgFile(app.getUserInfo().id,my_icon,1,function(i){
- alert(JSON.stringify(i));
- });
也可以直接定义为function xxx(){}这样在调用的时候就不是从闭包中获取,通过原函数名调用
在官方文档中:
bitmap对象下的方法:
其中我们使用的save方法:
官方示例:
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8"/>
- &n