imageMerge

立即使用

概述

本模块封装了图片合成及拼接功能。通过 getImageWidthAndHeight 接口可获取图片的宽高。overlay 可将多张图片以其对角线交点(铆点)安装数组顺序依次叠加起来合成一张图片,同时支持设置各个图片铆点相对结果图片铆点的偏移量(注意此时坐标系)。方便开发者生成群头像以及带背景的用户头像等功能。通过 longImage 接口可将多张图片上下拼接成一张长图片,同时支持自定义设置长图片等宽度。

注意:如果图片太小但是设置的结果图片过大,可能会造成花图问题。

模块接口

getImageWidthAndHeight

获取图片宽高

getImageWidthAndHeight({params},callback(ret))

params

path:

  • 类型:字符串
  • 描述:本地图片路径,支持fs://、widget ://

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    width:,    //数字类型;图片宽
    height:    //数字类型;图片高
}

示例代码

var imageMerge = api.require('imageMerge');
imageMerge.getImageWidthAndHeight({ 
  path:'widget://1.png'
},function(ret){
   api.alert({msg:JSON.stringify(ret)});
})

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

overlay

多张图片叠加合成一张图片

overlay({params},callback(ret))

params

images:

  • 类型:数组
  • 描述:所要叠加的图片组成的数组
  • 注意:offsetX、offsetY为正表示向右下角偏移,均为负表示向左上角偏移,以此类推。
  • 内部字段:
{
   path:'',         //字符串类型;图片路径,要求本地路径(fs://、widget://)
   offsetX:,        //(可选项)数字类型;铆点偏移x坐标;默认:0
   offsetY:,        //(可选项)数字类型;铆点偏移y坐标;默认:0
   scaledWidth:,    //(可选项)数字类型;缩放图片后的宽度;默认:原图宽度
   scaledHeight:    //(可选项)数字类型;缩放图片后的高度;默认:原图高度
}

width:

  • 类型:数字
  • 描述:(可选项)结果图的宽度
  • 默认:images内最宽的图片的宽度

height:

  • 类型:数字
  • 描述:(可选项)结果图的高度
  • 默认:images内最高的图片的高度

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:    //布尔类型;是否合并成功
    path:      //字符串类型;合并后图片的路径
}

示例代码

var imageMerge = api.require('imageMerge');
imageMerge.overlay({
  images:[{path:'widget://res/1.png'},{path:'widget://res/2.png'},{path:'widget://res/3.png'}]
},function(ret){
   api.alert({msg:JSON.stringify(ret)});
})

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

longImage

多张图片上下拼接成一张长图

longImage({params},callback(ret))

params

images:

  • 类型:数组
  • 描述:所要叠加的图片路径组成的数组,要求本地路径(fs://、widget://)

width:

  • 类型:数字
  • 描述:(可选项)结果图的宽度
  • 默认:images内最宽的图片的宽度
  • 注意:拼接后每张图片的高度将同宽度一起等比放大或缩小

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:    //布尔类型;是否合并成功
    path:      //字符串类型;合并后图片的路径
}

示例代码

var imageMerge = api.require('imageMerge');
imageMerge.longImage({
  images:['widget://res/1.png','widget://res/2.png','widget://res/3.png']
},function(ret){
   api.alert({msg:JSON.stringify(ret)});
})

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

addText

图片上添加文字

addText({params},callback(ret))

params

path:

  • 类型:字符串
  • 描述:需要添加文字的图片路径

textPoint:

  • 类型:JSONObject
  • 描述:(可选项)添加文字相对于图片的起始坐标
  • 内部字段:
{
   x:,        //(可选项)数字类型;起始x坐标;默认:0
   y:,        //(可选项)数字类型;起始y坐标;默认:0
}

text:

  • 类型:字符串类型
  • 描述:图片上添加的文本

textColor:

  • 类型:字符串类型
  • 描述:(可选项)文本字体颜色
  • 默认:‘#000000’

textFont:

  • 类型:字符串类型
  • 描述:(可选项)文本字体大小
  • 默认:12

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:    //布尔类型;是否合并成功
    path:      //字符串类型;处理后的图片路径
}

示例代码

var imageMerge = api.require('imageMerge');
imageMerge.addText({
    path:‘’,
    textPoint:{
        x:100,
        y:100
    },
    text:'apicloud',
    textColor:'#000',
    textFont:18
},function(ret){
   api.alert({msg:JSON.stringify(ret)});
})

可用性

iOS 系统,Android 系统

可提供的 1.0.2 及更高版本