imageRotation

立即使用

概述

不同的拍照设备(iOS或者Android相机),拍照的时候是有一个设备方向的,和相机的厂商有关。当我们按下快门的时候,图片会自带一个方向信息。当然,在 iOS 系统框架内显示或者预览的时候是没有问题的,系统已经帮我们处理好了。但是当我们把照片传到网上时,就会导致一些图片方向与预期不符的情况,这时候我们就需要利用图片里的方向信息来进行旋转(本模块 fixOrientation 接口)。关于图片方向的详情可参考博文iOS照片方向问题由来

rotateImage 接口可按照指定方向旋转调整图片,也可以反转镜像图片。rotatedImageByDegree 接口可根据自定角度旋转图片。

模块接口

getImageWidthAndHeight

获取图片宽高

getImageWidthAndHeight({params},callback(ret))

params

path:

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

callback(ret)

ret:

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

示例代码

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

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

fixOrientation

iOS设备拍摄的照片在 Android 或 Windows 等其它设备上查看,往往方向不对。可通过本接口纠正后再传到其它设备查看。

fixOrientation({params},callback(ret))

params

path:

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

callback(ret)

ret:

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

示例代码

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

可用性

iOS 系统,Android 系统不支持

可提供的 1.0.0 及更高版本

rotateImage

安装指定方向旋转/镜像图片

rotateImage({params},callback(ret))

params

path:

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

orientation:

  • 类型:字符串
  • 描述:(可选项)旋转方向
  • 默认:up
  • 取值范围:
    • up:竖直(图片底部在下)
    • down:倒转(图片底部在上)
    • left:往左旋转(图片底部在右边)
    • right:往右旋转(图片底部在左边)
    • upMirrored:上镜像,以图片左边为轴垂直于屏幕从右边向左反转180度(类似于翻页)
    • downMirrored:下镜像,upMirrored后旋转180度
    • leftMirrored:左镜像,upMirrored后顺时针旋转90度
    • rightMirrored:右镜像,upMirrored后逆时针旋转90度

callback(ret)

ret:

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

示例代码

var imageRotation = api.require('imageRotation');
imageRotation.rotateImage({
  path:'widget://res/1.png',
  orientation:'left'
},function(ret){
   api.alert({msg:JSON.stringify(ret)});
})

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

rotatedImageByDegree

按照指定角度旋转图片

rotatedImageByDegree({params},callback(ret))

params

path:

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

degree:

  • 类型:数字
  • 描述:(可选项)顺时针旋转的角度,[-360,360]
  • 默认:45

callback(ret)

ret:

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

示例代码

var imageRotation = api.require('imageRotation');
imageRotation.rotatedImageByDegree({
  path:'widget://res/1.png',
  degree:30
},function(ret){
   api.alert({msg:JSON.stringify(ret)});
})

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本