Droid respects setRotation. The problem is Droid does not rotate the entire
picture. Droid only sets orientation in the EXIF header. Applications need
to check the orientation in the EXIF header and then rotate it accordingly
before display.

http://developer.android.com/reference/android/hardware/Camera.Parameters.html
public void setRotation (int rotation)
Sets the orientation of the device in degrees. For example, suppose the
natural position of the device is landscape. If the user takes a picture in
landscape mode in 2048x1536 resolution, the rotation should be set to 0. If
the user rotates the phone 90 degrees clockwise, the rotation should be set
to 90. Applications can useOrientationEventListener to set this parameter.
The camera driver may set orientation in the EXIF header without rotating
the picture. Or the driver may rotate the picture and the EXIF thumbnail. If
the Jpeg picture is rotated, the orientation in the EXIF header will be
missing or 1 (row #0 is top and column #0 is left side).

The problem is not related to set("rotation", 90) or setRotation(90). They
are the same except setRotation only exists from 2.0.

On Sun, Dec 20, 2009 at 1:48 PM, Mark Wyszomierski <mar...@gmail.com> wrote:

> It looks like what I might have to do is switch my project to the 2.0
> sdk (it's currently at 4). If I see that the OS level my app is
> running on is less than 2.0, then I make this call:
>
>  Camera.Parameters params = camera.getParameters();
>  params.set("rotation", 0);
>  camera.setParameters(params);
>
> if it's 2.0 or above, I use this call (added in the 2.0 api):
>
>  Camera.parameters.setRotation(int rotation);
>
> is this probably the best way to go? I don't know if I could go the
> other direction (stay at sdk level 4, and if I see the user is running
> 5, try to somehow invoke the 2.0 api which should be present),
>
> Thanks
>
>
> On Dec 19, 9:09 pm, Mark Wyszomierski <mar...@gmail.com> wrote:
> > Thanks, just posted there too. I hope there's a way to get around this
> > innovation in camera.parameters..
> >
> > In the worst case, I guess I could check what platform the user is
> > running on, and use the native camera intent?
> >
> > Thanks
> >
> > On Dec 19, 8:55 pm, Mark Murphy <mmur...@commonsware.com> wrote:
> >
> >
> >
> > > Mark Wyszomierski wrote:
> > > > I got all the parameters from a Droid for the camera - looks like
> > > > rotation is not one of them... how do you get the camera to rotate
> the
> > > > output?:
> >
> > > > picture-size-
> > > > values=1280x960,1600x1200,2048x1536,2592x1936,2592x1456;mot-postview-
> > > > mode=on;zoom=0;antibanding=auto;zoom-
> > > > supported=true;whitebalance=auto;jpeg-thumbnail-height=240;scene-
> > > > mode=auto;jpeg-quality=95;smooth-zoom-supported=true;preview-format-
> > > > values=yuv422i-yuyv,yuv420sp;focus-mode=auto;preview-
> > > > format=yuv420sp;mot-test-command=;mot-zoom-step=0.5;preview-
> > > > size=560x320;picture-format-values=jpeg,jfif,exif;mot-areas-to-
> > > > focus=0;mot-postview-modes=off,on;flash-mode-
> > > > values=off,on,auto;preview-frame-rate-values=5,10,15,20,24,25,30;mot-
> > > > max-areas-to-focus=1;preview-frame-rate=30;flash-mode=off;effect-
> > > > values=none,mono,sepia,negative,solarize,red-tint,blue-tint,green-
> > > > tint;focus-mode-values=off,auto,infinity,macro;picture-
> > > > size=2048x1536;max-zoom=6;effect=none;jpeg-thumbnail-
> > > > width=320;whitebalance-values=auto,daylight,fluorescent,cloudy-
> > > > daylight,incandescent,warm-fluorescent;scene-mode-
> > > > values=auto,action,portrait,landscape,night,night-
> > > > portrait,theatre,beach,snow,sunset,steadyphoto;picture-
> > > > format=jpeg;jpeg-thumbnail-size-
> > > > values=160x90,160x120,176x144,320x180,320x240;mot-zoom-
> > > > speed=99;preview-size-
> > > >
> values=176x144,320x240,352x288,640x480,720x480,720x576,848x480;antibanding-
> > > > values=auto,50hz,60hz
> >
> > > If your problem is unique to the DROID, you may get more assistance by
> > > posting at the MOTODEV boards:
> >
> > >http://developer.motorola.com
> >
> > > Forgive me if you've already tried that...
> >
> > > --
> > > Mark Murphy (a Commons Guy)http://commonsware.com|
> http://twitter.com/commonsguy
> >
> > > _Android Programming Tutorials_ Version 1.0 In Print!
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to