[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-22 Thread Streets Of Boston
The actual rotation of a full-resolution image is not trivial, but
drawing it with the correct rotation/orientation is not that hard.
Just use a Matrix holding the rotation and assign it to the canvas on
which the image is drawn.

On Dec 21, 6:45 pm, Mark Wyszomierski mar...@gmail.com wrote:
 Alright thanks all, got this working. On 2.0+ devices, I use the
 ExifInterface class to see if the image needs to be rotated. If so, I
 can load the image at a downsampled size and do the rotation myself.
 Like Streets Of Boston pointed out, I don't know of a good way to do
 the rotation of the full high-res image.

 Thanks

 On Dec 21, 1:16 pm, Streets Of Boston flyingdutc...@gmail.com wrote:



  Check by using the content-provider. Do a query on the image-id (can
  be obtained from the image-Uri) and request its value of the column
  'MediaStore.Images.ImageColumns.ORIENTATION'.

  About #2: Yep, doing that in the device using full-resolution will be
  hard to do. Not enough memory available for that. You could do it by
  using a file (RandomAccessFile) as a 'temporary', writing column by
  column to this file and reading it back in row by row. This will be
  very slow.

  On Dec 21, 11:59 am, Mark Wyszomierski mar...@gmail.com wrote:

   Hi Wu-Cheng,

   I'm not following - I'm using the native camera intent with the Droid.
   So if I take a picture while holding the camera in a portrait
   orientation, then it should write a rotation of 90 degrees into the
   exif header of the output jpeg (while not really rotating the image
   data)? If that's the case, I'm not sure how to proceed. Looks like I
   would have to do the following:

     1) Check the exif header to see if this rotation parameter exists
     2) If it does exist, rotate the image myself before display

   #1 could probably be done using the ExifInterface class, but that's
   only been added to the level 5 sdk, while I'm targeting sdk 3 and
   above.
   #2 could also be done after a lot of downsampling. I'm not sure if
   other applications understand exif headers though. So I'd want to
   rewrite the image data with an actual rotation. Doing this at full
   resolution would be difficult on the device.

   Thanks for your help.

   On Dec 21, 10:37 am, Wu-cheng Li (李務誠) wuchen...@google.com wrote:

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.Parame...
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-

Re: [android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-21 Thread 李務誠
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.comandroid-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

[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-21 Thread Mark Wyszomierski
Hi Wu-Cheng,

I'm not following - I'm using the native camera intent with the Droid.
So if I take a picture while holding the camera in a portrait
orientation, then it should write a rotation of 90 degrees into the
exif header of the output jpeg (while not really rotating the image
data)? If that's the case, I'm not sure how to proceed. Looks like I
would have to do the following:

  1) Check the exif header to see if this rotation parameter exists
  2) If it does exist, rotate the image myself before display

#1 could probably be done using the ExifInterface class, but that's
only been added to the level 5 sdk, while I'm targeting sdk 3 and
above.
#2 could also be done after a lot of downsampling. I'm not sure if
other applications understand exif headers though. So I'd want to
rewrite the image data with an actual rotation. Doing this at full
resolution would be difficult on the device.

Thanks for your help.




On Dec 21, 10:37 am, Wu-cheng Li (李務誠) wuchen...@google.com wrote:
 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.Parame...
 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 

[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-21 Thread Streets Of Boston
Check by using the content-provider. Do a query on the image-id (can
be obtained from the image-Uri) and request its value of the column
'MediaStore.Images.ImageColumns.ORIENTATION'.

About #2: Yep, doing that in the device using full-resolution will be
hard to do. Not enough memory available for that. You could do it by
using a file (RandomAccessFile) as a 'temporary', writing column by
column to this file and reading it back in row by row. This will be
very slow.

On Dec 21, 11:59 am, Mark Wyszomierski mar...@gmail.com wrote:
 Hi Wu-Cheng,

 I'm not following - I'm using the native camera intent with the Droid.
 So if I take a picture while holding the camera in a portrait
 orientation, then it should write a rotation of 90 degrees into the
 exif header of the output jpeg (while not really rotating the image
 data)? If that's the case, I'm not sure how to proceed. Looks like I
 would have to do the following:

   1) Check the exif header to see if this rotation parameter exists
   2) If it does exist, rotate the image myself before display

 #1 could probably be done using the ExifInterface class, but that's
 only been added to the level 5 sdk, while I'm targeting sdk 3 and
 above.
 #2 could also be done after a lot of downsampling. I'm not sure if
 other applications understand exif headers though. So I'd want to
 rewrite the image data with an actual rotation. Doing this at full
 resolution would be difficult on the device.

 Thanks for your help.

 On Dec 21, 10:37 am, Wu-cheng Li (李務誠) wuchen...@google.com wrote:



  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.Parame...
  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-
  

[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-21 Thread Mark Wyszomierski
Alright thanks all, got this working. On 2.0+ devices, I use the
ExifInterface class to see if the image needs to be rotated. If so, I
can load the image at a downsampled size and do the rotation myself.
Like Streets Of Boston pointed out, I don't know of a good way to do
the rotation of the full high-res image.

Thanks

On Dec 21, 1:16 pm, Streets Of Boston flyingdutc...@gmail.com wrote:
 Check by using the content-provider. Do a query on the image-id (can
 be obtained from the image-Uri) and request its value of the column
 'MediaStore.Images.ImageColumns.ORIENTATION'.

 About #2: Yep, doing that in the device using full-resolution will be
 hard to do. Not enough memory available for that. You could do it by
 using a file (RandomAccessFile) as a 'temporary', writing column by
 column to this file and reading it back in row by row. This will be
 very slow.

 On Dec 21, 11:59 am, Mark Wyszomierski mar...@gmail.com wrote:



  Hi Wu-Cheng,

  I'm not following - I'm using the native camera intent with the Droid.
  So if I take a picture while holding the camera in a portrait
  orientation, then it should write a rotation of 90 degrees into the
  exif header of the output jpeg (while not really rotating the image
  data)? If that's the case, I'm not sure how to proceed. Looks like I
  would have to do the following:

    1) Check the exif header to see if this rotation parameter exists
    2) If it does exist, rotate the image myself before display

  #1 could probably be done using the ExifInterface class, but that's
  only been added to the level 5 sdk, while I'm targeting sdk 3 and
  above.
  #2 could also be done after a lot of downsampling. I'm not sure if
  other applications understand exif headers though. So I'd want to
  rewrite the image data with an actual rotation. Doing this at full
  resolution would be difficult on the device.

  Thanks for your help.

  On Dec 21, 10:37 am, Wu-cheng Li (李務誠) wuchen...@google.com wrote:

   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.Parame...
   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-
   

[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-19 Thread Mark Wyszomierski
I have a typo in my code listing above, it really reads:

  params.set(rotation, 90);

(90 degrees, not zero),

Thanks

On Dec 19, 5:57 pm, Mark Wyszomierski mar...@gmail.com wrote:
 Hi,

 I'm using this camera code to ask the camera to rotate the captured
 image data:

   Camera.Parameters params = camera.getParameters();
   params.set(rotation, 0);
   camera.setParameters(params);

 this seems to work on all phones, except the Droid. Has anyone else
 seen this? The image data is always landscape, however, the native
 camera app produces portrait images ok. I wonder if the Droid will
 only respect the new Camera.Parameters.setRotation() method, but this
 seems to only be available in sdk level 5?

 Thanks

-- 
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


Re: [android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-19 Thread Mark Murphy
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
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-19 Thread Mark Wyszomierski
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
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Droid - won't rotate image captured from camera? (Camera.Parameters)

2009-12-19 Thread Mark Wyszomierski
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
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en