Chr*_*pix 3 camera android rotation
我在android dev论坛上发布了这个,但是想在这里联系.
我们的应用程序中的一项活动是拍照.图片预览在1.5和1.6的屏幕上显示正确的方式,但保存后,它会保存jpg 90旋转.
我可以在显示时实时旋转它,我想我可以在保存后重新保存它.我的问题是我想在拍照时正确保存.
在1.5中编译我的应用程序工作正常.由于图像尺寸,我有一些内存问题w/1.6,这是奇怪的b/c通过拍照/ surfaceholder/imagecapture回调拍照时图像尺寸增加.我似乎通过使用bitmapfactory矩阵调整它们来修复重新显示这些图像.但我的相机现在旋转90度.看来我的覆盖surfaceChanged什么也没做,这就是我将旋转设置为90(我不记得为什么,这是10个月前!).我试过将相机参数参数旋转到90度,0度.它似乎没有做任何事......任何想法?
小智 6
相机驱动程序不知道设备的方向.在1.5和1.6中,您需要调用parameters.set("rotation",degree)以在调用takePicture()之前告知驱动程序有关旋转的信息.在2.0中,有一个新的API setRotation(见下文).请注意,有些设备会为您旋转整个图片,有些设备只会在EXIF标题中设置方向.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setRotation(int)
以度为单位设置设备的方向.例如,假设设备的自然位置是横向的.如果用户以横向模式以2048x1536分辨率拍摄照片,则旋转应设置为0.如果用户将手机顺时针旋转90度,则旋转应设置为90.应用程序可以使用OrientationEventListener设置此参数.相机驱动程序可以在EXIF标题中设置方向而不旋转图片.或者驱动程序可能会旋转图片和EXIF缩略图.如果旋转Jpeg图片,则EXIF标题中的方向将丢失或为1(行#0为顶部,列#0为左侧).
参数
rotation 设备的方向,以度为单位.旋转只能是0,90,180或270
| 归档时间: |
|
| 查看次数: |
6086 次 |
| 最近记录: |