帖子
帖子
用户
博客
课程
1234下一页
返回列表 发新帖
显示全部楼层
29
帖子
0
勋章
111
Y币

[BUG] FNPhotograph模块BUG

[复制链接]
发表于 2019-2-27 07:35:16
FNPhotograph模块用openCameraView方法打开相机,使用前置摄像头拍照,照片全部是上下颠倒的(例如,拍摄一个站立的人,照片的效果是这个人在玩倒立)。
使用getRotateDegree方法获取图片旋转角度,结果为0,使用JS的方法读取照片旋转角度,结果也为0,直接用工具查看该照片的EXIF信息,发现根本就查询不到这张照片的方向信息。
这个问题很关键,如果有的手机拍摄出来的结果是正的,有些手机拍摄的是倒的,而且在EXIF信息里也无旋转方向信息,那就是连矫正都没法矫正了。

还有一个问题就是照片质量控制的情况,我这测试无论是使用“quality”参数,还是“qualityValue”好像都都没有效果呀。

测试手机MI6 miui10.0
测试代码都是用的官方例程

146
帖子
3
勋章
3684
Y币
ios有这个情况吗?
29
帖子
0
勋章
111
Y币
没有IOS的手机,没测试过
29
帖子
0
勋章
111
Y币
有结果了吗?
177
帖子
0
勋章
1万+
Y币
29
帖子
0
勋章
111
Y币
gigie 发表于 2019-3-4 20:33
用下面俩个做一下处理再试试
https://docs.apicloud.com/Client-API/Device-Access/jpgInfoManager

无法获取到照片的方向信息,我用多种方式查询均无法查询到此类照片的方向信息,应该是在照片生成时就没有写入方向信息。另外又用用荣耀7测试了一下,也是一样结果。
146
帖子
3
勋章
3684
Y币
你发一下你代码,我来试一下
29
帖子
0
勋章
111
Y币
粉红顽皮新 发表于 2019-3-5 15:13
你发一下你代码,我来试一下

测试代码都是用的官方例程代码,作的都是最小化最基础的测试,避免其它情况干扰。
29
帖子
0
勋章
111
Y币
粉红顽皮新 发表于 2019-3-5 15:13
你发一下你代码,我来试一下

var FNPhotograph = api.require('FNPhotograph');
//打开前置摄像头
FNPhotograph.openCameraView({
        rect: {
           x: 0,
           y: 0,
           w: 320,
           h: 300
        },
        orientation: 'portrait',
        fixedOn: api.frameName,
        fixed: true,
        useFrontCamera: true
}, function(ret) {

});

//拍照
FNPhotograph.takePhoto({
        qualityValue: 70,
        path: api.cacheDir + '/tmp/',
        album: false
}, function(ret) {
        //alert(JSON.stringify(ret));
        //获取照片旋转角度
        FNPhotograph.getRotateDegree(
        imgPath:ret.imagePath
        function(retR) {
                if (retR) {
                        alert(JSON.stringify(retR));
                }
        });

});

用MI6和荣耀7测试拍摄出的照片是头下脚上颠倒的,并且获取到的旋转角度是0
146
帖子
3
勋章
3684
Y币
  1.     apiready = function() {

  2.       var FNPhotograph = api.require('FNPhotograph');
  3.       FNPhotograph.openCameraView({
  4.           rect: {
  5.              x: 0,
  6.              y: 100,
  7.              w: 320,
  8.              h: 300
  9.           },
  10.           orientation: 'portrait',
  11.           fixedOn: api.frameName,
  12.           fixed: true
  13.       }, function(ret){
  14.           // alert(JSON.stringify(ret));


  15.       });




  16.     };

  17.     function fntakephoto(){
  18.       var FNPhotograph = api.require('FNPhotograph');

  19.       FNPhotograph.takePhoto({
  20. quality: 'medium',
  21. path: 'fs://FNPhotograph/01.png',
  22. album: true
  23. }, function(ret){
  24. alert(JSON.stringify(ret));
  25. });
  26.     }
复制代码
1234下一页
您需要登录后才可以回帖 登录

本版积分规则