android - Droid 设备 - 不会旋转从相机捕获的图像? (相机.参数)

标签 android android-camera

我正在使用此相机代码要求相机旋转捕获的图像数据:

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

这似乎适用于所有手机,但 Droid 除外。还有其他人看到这个吗?图像数据始终是横向的,但是,Droid 上的 native 相机应用程序可以生成纵向图像。

我想知道 Droid 是否只尊重新的 Camera.Parameters.setRotation() 方法,但这似乎只在 API 级别 5 中可用?

最佳答案

setRotation 在 Nexus One 上似乎也对我不起作用,但我确实按照 android 相机应用程序本身的示例让图像旋转起作用。
源代码可在此处获得: https://android.googlesource.com/platform/packages/apps/Camera

从 Camera.java 开始,但您还将查看 ImageManager.java、Util.java 和其他文件。

基本思想是,您监听方向变化并捕获拍摄照片时的方向。然后,当您在回调中获得图片字节时,您可以操作位图,对位图进行旋转。然后将旋转后的位图转换回 jpeg。完成后,您将不得不从相机应用程序中复制数量惊人的代码来完成此轮换。

关于android - Droid 设备 - 不会旋转从相机捕获的图像? (相机.参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934378/

相关文章:

javascript - 火狐安卓 : how long does a webextensions background script last?

android - 我的首选项屏幕搞砸了

android - 相机预览没有重新启动?

android - 相机预览始终返回 320x240 位图

android - 从 CameraSource 裁剪面部

android - 将一个 ImageView 的位图内容复制到另一个

java - Android中KeyEvent.KEYCODE_BACK的疑问

Android:使用 Apache Commons Compress 7zip 文件夹

android - 如何使用 Stock 相机应用程序通过 Jetpack Compose 拍照?

android-camera - onActivityResult() 没有在 DialogFragment 中执行