我正在使用最新的cordova框架创建Blackberry10应用程序。
我可以使用框架成功捕获图像,但图像的方向不正确。
阅读文档似乎黑莓不支持' correctOrientation'选项。
这是一种支持正确拍摄方向的方法,还是我应该自己看一下旋转图像?如果是这样,这将如何最好地实现。
由于
丹
navigator.camera.getPicture(function onPhotoDataSuccess(imageData) {
console.log(imageData);
success(imageData);
},function onFail(message) {
alert('Failed because: ' + message);
}
,
{
quality : 100,
destinationType : Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.CAMERA,
allowEdit : true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 100,
targetHeight: 100,
saveToPhotoAlbum: false
});
答案 0 :(得分:0)
很可能你必须自己做。
我自己从未这样做过,但显然可以使用canvas hack在JavaScript中旋转图像,如下所示:
Javascript function to Rotate a base 64 image by X degrees and return new base64
HTML Canvas image to Base64 problem
Canvas仅为partially supported in Android 2.3 and older,但对于BB10,你应该没事。
我宁愿编写一个自定义Cordova插件来从本机代码中执行此操作。然后你像往常一样拍摄照片,只有在BB中你还会将生成的图像数据传递给旋转图像并将校正后的图像返回给JavaScript回调的插件。
最后请注意,如果您需要在将来重复使用代码以获得更大的图像尺寸,请考虑使用FILE_URI
作为目标类型,因为图像可能非常大,编码图像会更大。现在以您的示例为例,100x100图像不应该造成内存问题,但是要将数据从插件中来回传递给JS代码,我认为最好传递文件URI而不是编码字符串。