从我的应用程序捕获的图像仅在三星设备中旋转

苏尼尔·贾恩(Sunil Jain)

我正在使用相机应用程序,在没有使用设备相机的情况下拍照,我这样做了,并且工作正常,但是当我们在三星设备上捕获图像时,我将图像旋转为onPictureTaken回调方法。

请让我知道我应该怎么做才能以与设备方向相同的方向获取图像。

我正在使用以下代码来设置相机旋转,但是在三星设备中却无济于事。

        Camera.CameraInfo info = new Camera.CameraInfo();
        Camera.getCameraInfo(Camera.CameraInfo.CAMERA_FACING_BACK, info);
        int rotation = this.getWindowManager().getDefaultDisplay().getRotation();
        int degrees = 0;
        switch (rotation) {
        case Surface.ROTATION_0: degrees = 0; break; //Natural orientation
        case Surface.ROTATION_90: degrees = 90; break; //Landscape left
        case Surface.ROTATION_180: degrees = 180; break;//Upside down
        case Surface.ROTATION_270: degrees = 270; break;//Landscape right
        }
        int rotate = (info.orientation - degrees + 360) % 360;

        Camera.Parameters param = mCamera.getParameters();
        param.setRotation(rotate); 
        mCamera.setParameters(param);
法鲁克·亚齐奇(Faruk Yazici)

我有一个有趣的建议,我也在我的一个项目中也做了。我假设您正在使用imageView和Bitmap。现在,将您的旋转代码转换为可旋转90度的方法。然后在图像上添加一个透明按钮。每次单击图像(也单击按钮),图像将旋转90度!!例如,您可以编写这样的旋转方法;

public static Bitmap rotateBitmap(Bitmap source)
{
      Matrix matrix = new Matrix();
      matrix.postRotate(90);
      return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}

然后,假设您已在图像上添加了透明按钮“旋转器”,则可以将其设置为onClickListener,如下所示。它都设置了位图和imageView。

rotater.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            originalBitmap=rotateBitmap(originalBitmap);
            imageView.setImageBitmap(originalBitmap);

        }
    });

由于图像的EXIF数据,图像旋转是一个问题。希望这个技巧适合您的需求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从相机获取图像时,Android应用程序仅在三星设备中崩溃

在三星 S9 中卸载应用程序后 SharedPreferences 不清晰

应用程序意外停止,请在三星银河ace中重试

三星SmartThings应用程序中如何实现设备和传感器的类?

在三星智能电视应用程序中创建widgetlist.xml,以进行多次下载

如何告诉 Android 在我的应用程序中在某些设备(例如三星)中打开自定义文件类型

我得到了用于制作应用程序的三星(7.1.1)设备。当我尝试直接在设备上运行应用程序时,显示错误提示

在可绘制文件夹中添加的通用图像不会在三星设备中显示-Android

适用于三星设备的不受监控的应用程序

三星设备自动设置默认的共享意向应用程序

三星配套应用程序:我们需要在手机上使用三星 Gear 应用程序吗?

如何为我的应用程序禁用三星多窗口托盘栏

在我自己的应用程序中使用三星智能滚动功能

三星Gear 2应用程序图标

如何使应用程序支持三星的弹出窗口?

三星Tizen Web应用程序进行测试

Ping 在三星设备上不起作用

当我的应用程序打开时,单击三星设备上的内置菜单按钮会响两次

无法在三星 s8 中扩展图像

Delphi XE7 Firemonkey Android 5.1.1应用程序在三星Galaxy S7上仅通过TEdit崩溃

我的应用程序在Google Play商店中看不到三星银河笔记4

为什么三星android设备中的旋转不起作用?

在三星Chromebook上编程

自定义相机中的三星设备中的图像保存问题

在应用的发行版中,三星设备中未生成FCM令牌

tizen 三星电视上的服务应用程序和/或后台模式

无法将应用程序添加到三星智能电视仿真器

三星游戏午餐者如何将应用程序检测为游戏

为什么不apks自动安装在三星设备上