不同的拍照设备(iOS或者Android相机),拍照的时候是有一个设备方向的,和相机的厂商有关。当我们按下快门的时候,图片会自带一个方向信息。当然,在 iOS 系统框架内显示或者预览的时候是没有问题的,系统已经帮我们处理好了。但是当我们把照片传到网上时,就会导致一些图片方向与预期不符的情况,这时候我们就需要利用图片里的方向信息来进行旋转(本插件 fixOrientation 接口)。关于图片方向的详情可参考博文iOS照片方向问题由来。
rotateImage 接口可按照指定方向旋转调整图片,也可以反转镜像图片。rotatedImageByDegree 接口可根据自定角度旋转图片。
获取图片宽高
getImageWidthAndHeight({params},callback(ret))
path:
ret:
{
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 及更高版本
iOS设备拍摄的照片在 Android 或 Windows 等其它设备上查看,往往方向不对。可通过本接口纠正后再传到其它设备查看。
fixOrientation({params},callback(ret))
path:
ret:
{
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({params},callback(ret))
path:
orientation:
ret:
{
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({params},callback(ret))
path:
degree:
ret:
{
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 及更高版本