gpt4 book ai didi

android - 从安卓相机旋转图片

转载 作者:行者123 更新时间:2023-11-29 15:20:51 25 4
gpt4 key购买 nike

我正在为相机设置旋转:

stopPreview();
Camera.Parameters p = mCamera.getParameters();
p.setRotation(90);
mCamera.setParameters(p);
startPreview();

照片是在设备处于水平方向时拍摄的。我需要将照片旋转到垂直方向。但是当我保存 jpeg 时,它永远不会旋转,它总是水平的。

protected void onJpegPicture(byte[] data, int width, int height) {
saveJpeg(data, file);
}

我错过了什么吗?我不认为我应该在拍摄后手动旋转照片。我认为相机应该能够为我做这件事。

setRotation 参数无关紧要。我尝试了所有可能的值(0、90、180、270)。

最佳答案

假设您在调用 takePicture() 之前调用了 setParameters(),那么您拥有的代码 fragment 应该可以工作。您可以尝试在调用 takePicture 之前设置参数,而不是在开始预览之前设置参数,但这无关紧要。

请注意,您可能不想在此处使用 90,因为图片的方向是相对于传感器的方向而不是您当前的 UI 方向确定的。传感器是否与纵向或横向对齐取决于您的设备 - 您可以使用 CameraInfo.orientation 进行检查.不过,如果您尝试了所有旋转值,您应该会看到效果。

您在哪些设备上看到了这种行为?另外,您如何查看最终图像?一些图像查看器仍然不能正确解释 JPEG 旋转字段,但任何设备上的画廊应用程序确实应该(特别是如果它是默认应用程序)。

关于android - 从安卓相机旋转图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com