Just to recap (correct if I'm wrong) - 1. targetWidth & targetHeight are not being interpreted consistently across platforms. 2. What they should do is: - Never grow the image - Shrink the image while maintaining aspect ratio, such that both dimension of the resized image fit within targetWidth & targetHeight.
Certainly sounds good to me! On Fri, Dec 20, 2013 at 10:49 AM, Wargo, John <john.wa...@sap.com> wrote: > Well I've not really received a consensus on anything. One or two people > have spoken up, but not much beyond that. > > John M. Wargo > SCN Blog: http://scn.sap.com/blogs/johnwargo > Twitter: @johnwargo > > > -----Original Message----- > From: Shazron [mailto:shaz...@gmail.com] > Sent: Tuesday, December 17, 2013 1:15 AM > To: dev@cordova.apache.org > Subject: Re: Camera targetWidth & targetHeight > > Thanks John, > Filing the issue on iOS would be great, summarizing what needs to be done > (and the consensus). > > > On Mon, Dec 16, 2013 at 5:30 PM, John M. Wargo <jwarg...@gmail.com> wrote: > > > So, does anyone have an opinion on how this discrepancy should be > > addressed? The methods work differently on different platforms and I > think > > they should work the same. > > > > To me Android works as I expect it should - setting the properties along > > the right axis. Do I need to file JIRA tickets about bringing iOS into > > alignment? > > > > Also, what about when only one parameter is provided? Should we decide > how > > this is supposed to work and implement it across the different platforms? > > I'm for supporting only one parameter, allows me to set the one side and > > let the camera aspect ratio determine the other. > > > > > > -------- Original Message -------- > > Subject: Camera targetWidth & targetHeight > > Date: Mon, 02 Dec 2013 22:15:06 -0500 > > From: John M. Wargo <jwarg...@gmail.com> > > To: Cordova Dev <dev@cordova.apache.org> > > > > > > > > A while back I posted a question regarding Camera targetWidth & > > targetHeight properties and how they worked. After some discussion, the > > conclusion I reached was that the documentation couldn't be correct about > > how it worked since there was no way to determine the camera's resolution > > with the current API but the docs said I had to provide both parameters. > I > > said I'd do some testing and I have finally gotten around to completing > it. > > Here's what I discovered: > > > > I created an application that allowed me to pass in different values for > > targetWidth & targetHeight when taking a picture. I tested at the > following > > image sizes: 640x480, 800x600, 1024x768 as well as setting only the > > targetWidth to 1024 or only the targetHeight to 768. > > > > Here's the results: > > > > Android > > Portrait Landscape > > 480x640 640x480 > > 600x800 800x600 > > 768x1024 1024x768 > > 768x1024 1024x768 > > 768x1024 1024x768 > > > > > > > > iOS > > Portrait Landscape > > 360x480 640x480 > > 450x600 800x600 > > 576x768 1024x768 > > 2448x3264 3264x2448 > > 2448x3264 3264x2448 > > > > > > > > Windows Phone 8 > > Portrait Landscape > > 1836x3264 3264x1836 > > 1836x3264 3264x1836 > > 1836x3264 3264x1836 > > 1836x3264 3264x1836 > > 1836x3264 3264x1836 > > > > > > As you can see, Android properly implements the targetWidth & > targetHeight > > properties. On iOS, it supports setting both properties, but not > instances > > where only one is specified. Windows Phone 8 ignores the parameters > > completely. On iOS, when you turn the device on its side, the Camera API > > applies the target width or height to the wrong axis (Android does this > > well however). > > > > I'm trying to test this on a BlackBerry device, but my development > > environment is giving me fits right now. I'll work on it in the morning > and > > publish my results when I get them. > > > > I would suggest that the android implementation is as expected and that > > the other platforms need their implementations of targetWidth & > > targetHeight adjusted so it works correctly. The documentation should be > > updated as well as it's incorrect today specifying that both properties > > must be provided. > > > > If the group doesn't want to support only providing one of the > properties, > > then I would expect that the onError callback is called when only one is > > provided rather than simply ignoring them as is the case with iOS and > > Windows Phone. > > > > I posted my sample application and a spreadsheet with my results to > > https://github.com/johnwargo/camera_res_test > > > > -- > > John M. Wargo > > @johnwargo <http://twitter.com/johnwargo> > > www.johnwargo.com <http://www.johnwargo.com> > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------ > > > > -- > > John M. Wargo > > @johnwargo <http://twitter.com/johnwargo> > > www.johnwargo.com <http://www.johnwargo.com> > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------------------------------------ > > ------------------------------ > > > > > > >