у меня есть рабочее решение для портретного режима, работающее в 2.1 (проверено на Desire), возможно, меньше.
Ориентация экрана активности установлена на портретную.
(Андроид: screenOrientation = "портрет")
Параметры камеры:
Camera.Parameters p = mCamera.getParameters ();
p.set("jpeg-quality", 100);
p.set("orientation", "landscape");
p.set("rotation", 90);
p.setPictureFormat(PixelFormat.JPEG);
p.setPreviewSize(h, w);// here w h are reversed
mCamera.setParameters(p);
и изображение будет портретным.
SurfaceHolder, который вы используете для камеры, должен быть в размере, совместимом с размером предварительного просмотра телефона
обычное разрешение экрана.
Прикол на Desire 2.2 не работает ...
Вот исправление:
At surfaceCreated(..) or when you have this line
camera = Camera.open();
add
camera.setDisplayOrientation(90);//only 2.2>
Camera.Parameters p = camera.getParameters();
p.set("jpeg-quality", 100);
p.setRotation(90);
p.setPictureFormat(PixelFormat.JPEG);
p.setPreviewSize(h, w);
camera.setParameters(p);