[ 
https://issues.apache.org/jira/browse/CB-8879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14512767#comment-14512767
 ] 

Olivier VERMONT commented on CB-8879:
-------------------------------------

I found how to deal with stripes, we need to catch resolution with correct 
aspect ratio (4/3). Here is updated code : 

var resolutions = 
capture.videoDeviceController.getAvailableMediaStreamProperties(Windows.Media.Capture.MediaStreamType.photo);
var maxWidth = 0;
var maxResolution = null;
for(var i=0; i<resolutions.length; i++){
        var ratio = 
Math.round((resolutions[i].width/resolutions[i].height)*100)/100;
        if(Math.round((ratio - 1.33)*100)/100<= 0.01){
                if(resolutions[i].width > maxResolution){
                        maxWidth = resolutions[i].width;
                        maxResolution = resolutions[i];
                }
        }
}
capture.videoDeviceController.setMediaStreamPropertiesAsync(Windows.Media.Capture.MediaStreamType.photo,
 maxResolution)

> [Windows] Camera picture has black/green stripes that crop image
> ----------------------------------------------------------------
>
>                 Key: CB-8879
>                 URL: https://issues.apache.org/jira/browse/CB-8879
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Camera
>    Affects Versions: 3.6.0
>         Environment: windows
>            Reporter: Olivier VERMONT
>            Assignee: Murat Sutunc
>              Labels: camera, resolution, stripes, windows-phone-81
>
> When a photo is taken with Windows Phone 8.1 device Nokia Lumia 735, the 
> picture returned shows black or green stripes on the sides and is out of 
> shape. It seems this is related to photo resolution but I can't get it fixed 
> in JS.
> It seems to be quite a common problem with the Media Capture API and people 
> solved issue in C# here is an illustration : 
> http://stackoverflow.com/questions/23709547/captured-photo-with-stripes
> Here is what I tried without success :
> var resolutions = 
> capture.videoDeviceController.getAvailableMediaStreamProperties(Windows.Media.Capture.MediaStreamType.photo);
> var maxWidth = 0;
> var maxResolution = null;
> for(var i=0; i<resolutions.length; i++){
>       //console.log(resolutions[i].width);
>       if(resolutions[i].width > maxResolution){
>               maxWidth = resolutions[i].width;
>               maxResolution = resolutions[i];
>       }
> }                                     
> capture.videoDeviceController.setMediaStreamPropertiesAsync(Windows.Media.Capture.MediaStreamType.photo,
>  maxResolution)
> Am I missing something ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to