You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Jonathan Naguin (JIRA)" <ji...@apache.org> on 2013/09/30 13:24:23 UTC

[jira] [Commented] (CB-2737) WP8: Camera.getPicture(); aspect ratio resize patch

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

Jonathan Naguin commented on CB-2737:
-------------------------------------

Will this be fixed in a future release?

> WP8: Camera.getPicture(); aspect ratio resize patch
> ---------------------------------------------------
>
>                 Key: CB-2737
>                 URL: https://issues.apache.org/jira/browse/CB-2737
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Plugin Camera, WP8
>    Affects Versions: 2.5.0
>         Environment: Windows8. Camera.cs
>            Reporter: Dimitri Adamou
>            Assignee: Steve Gill
>
> Hey there, noticed windows8 phone proj. was missing aspect ratio resize so added it in (Essentially copied iOS code)
> ---
> {code:title=Camera.cs|borderStyle=solid}
>         private struct ResizeDimension
>         {
>             public int width;
>             public int height;
>         }
>         private ResizeDimension ResizeAspectRatio(int oWidth, int oHeight, int tWidth, int tHeight)
>         {
>             ResizeDimension tgt;
>             float widthFactor = (float)tWidth / (float)oWidth;
>             float heightFactor = (float)tHeight / (float)oHeight;
>             float scaleFactor;
>             if (widthFactor > heightFactor)
>                 scaleFactor = heightFactor;
>             else
>                 scaleFactor = widthFactor;
>             tgt.width = (int)Math.Min((float)oWidth * scaleFactor, tWidth);
>             tgt.height= (int)Math.Min((float)oHeight * scaleFactor, tHeight);
>             return tgt;
>         }
> {code}
> ---
> and works via
> ResizeDimension rd = ResizeAspectRatio(image.PixelWidth, image.PixelHeight, cameraOptions.TargetWidth, cameraOptions.TargetHeight);
>             
> image.SaveJpeg(stream, rd.width, rd.height, 0, cameraOptions.Quality);
> Cheers,
> Dim



--
This message was sent by Atlassian JIRA
(v6.1#6144)