mosaic

概述

mosaic插件封装了给图片添加马赛克的功能,支持手指涂抹加马赛克的效果以及直接使整个图片被打码的方式。

open

添加图片

open({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)图片的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    y: 0,   //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    w: 320, //(可选项)数字类型;插件的宽度;默认:所属的 Window 或 Frame 的宽度
    h: 220  //(可选项)数字类型;插件的高度;默认:220
}

bgColor:

  • 类型:字符串
  • 描述:插件的背景颜色,支持rgb、rgba

path:

  • 类型:字符串
  • 描述:要编辑的图片的路径,要求本地路径(fs://、widget://)

contentMode:(IOS支持,Android此插件按图片比例自适应)

  • 类型:字符串
  • 描述:(可选项)图片填充模式
  • 默认值:'scaleToFill'
  • 取值范围:
    • scaleToFill(填充)
    • scaleAspectFit(适应)

isWholePicture:(IOS支持)

  • 类型:布尔
  • 描述:(可选项)是否是整张图片被马赛克,不需要手指涂抹
  • 默认值:false

fixedOn:

  • 类型:字符串
  • 描述:(可选项)插件视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:插件依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)插件是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status: true     //布尔类型;是否打开成功                   
}

示例代码

var mosaic = api.require('mosaic');
mosaic.open({
    rect: {
        x: 0,
        y: 0,
        w: api.frameWidth,
        h: 340
    },
    bgColor:'#fff',
    path:'widget://res/king.png',
    contentMode: 'scaleToFill',
    fixedOn: api.frameName,
    fixed:true
}, function(ret) {
    if (ret.status) {
        alert('打开成功!');
    } else {
        alert('打开失败!');
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

save

保存编辑后的图片

save({params}, callback(ret))

params

path:

  • 类型:字符串类型
  • 描述:(可选项)保存图片路径,要求本地路径(fs://),注意图片后缀名输入完整。若不传或传空,则插件默认将图片保存到临时数据文件夹下

copyToAlbum:

  • 类型:布尔类型
  • 描述:(可选项)是否将结果同时保存到系统相册
  • 默认:false

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   realPath:           //字符串类型;图片保存到指定路径后的绝对路径,若保存失败则该参数为 undefined
   albumPath:          //字符串类型;图片保存到相册后的绝对路径,若保存失败则该参数为 undefined
}

示例代码

var mosaic = api.require('mosaic');
mosaic.save({
    path: 'fs://Mosaic/result.png',
    copyToAlbum: false
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearCache

清除本插件产生的图片文件,本接口仅当 save -> path 参数不传或传空时有效,本接口只清除本插件产生的临时数据,若要清除本 app 缓存的所有数据则调用 api.clearCache

clearCache()

示例代码

var mosaic = api.require('mosaic');
mosaic.clearCache();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2