当前位置: 首页 > 知识库问答 >
问题:

如何在Android中检查图像是纵向还是横向?

申屠泉
2023-03-14

目前,我正在开发一个处理图片的应用程序。我正在根据图像是纵向还是横向来修改imageview。

我知道我可以通过比较图像的高度和宽度来弄清楚图像是纵向还是横向。

但我面临的问题是,有些图像是纵向的,但图像的宽度大于高度。以下是这些图像:

图像1

图像2

上面的图片是肖像,但如果你计算高度和宽度,你会发现宽度大于高度。

Android中是否有任何方法可以返回图像是纵向还是横向?

共有3个答案

申屠昆
2023-03-14

如果我正确理解了问题,一种方法是使用Picasso

            Picasso.with(this).load(url).into(new Target() {
                @Override
                public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                    <compare width/height of bitmap to check aspect ratio of image>
                }
江志业
2023-03-14

此方法将返回方向

public int getCameraPhotoOrientation(Context context, Uri imageUri, String imagePath){
    int rotate = 0;
    try {
        context.getContentResolver().notifyChange(imageUri, null);
        File imageFile = new File(imagePath);

        ExifInterface exif = new ExifInterface(imageFile.getAbsolutePath());
        int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);

        switch (orientation) {
            case ExifInterface.ORIENTATION_ROTATE_270:
                rotate = 270;
                break;
            case ExifInterface.ORIENTATION_ROTATE_180:
                rotate = 180;
                break;
            case ExifInterface.ORIENTATION_ROTATE_90:
                rotate = 90;
                break;
        }

        Log.i("RotateImage", "Exif orientation: " + orientation);
        Log.i("RotateImage", "Rotate value: " + rotate);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rotate;
}
管杜吟
2023-03-14

我也有同样的问题。我将位图加载到图像视图中,从文件中读取位图,然后查看宽度是否大于高度。

if(bitmap.getWidth() > bitmap.getHeight()){
                //meaning the image is landscape view
                view.setLayoutParams(new FrameLayout.LayoutParams(400, ViewPager.LayoutParams.WRAP_CONTENT));
            }else{
                view.setLayoutParams(new FrameLayout.LayoutParams(250, ViewPager.LayoutParams.WRAP_CONTENT));
            }
 类似资料:
  • 我正在使用jQuery创建一个图片库。是否有任何可能性使用jQuery计算图像是风景还是肖像? 感谢您的支持。

  • 是否有工具来确定PDF是横向的还是纵向的? 旋转:270 “旋转”到底是什么意思?

  • 我正在使用pdfbox-1.8.6库在Java中做项目(它是必须使用的)。我的问题是 如何检查输入的pdf文件是否具有纵向或横向? 如何检查/扫描PDF中的纵向或横向方向,如果两个页面的尺寸相同?例如,两者都是标准的A4尺寸。通过下面的图片你会更清楚。我的风景肖像问题,我只想检查它的内容是旋转或没有。那么我该如何处理上述问题?

  • 我使用Owl Carousel在带有Javascript和jQuery的Carousel中显示图像。我有肖像和风景图片,还有CSS: 横向图像遵守宽度的100%限制,全图显示在屏幕上;肖像图像不符合100%的高度限制,图片显示在一个或两个屏幕上,需要向下滚动。我希望纵向图片能够调整大小,并在横向屏幕上完全显示,就像我希望横向图片能够在纵向屏幕上完全显示一样。 我用CSS尝试了最大高度和最大宽度的解

  • 我在响应式站点上设置了flexSlider。我正在创建的滑块可以拍摄横向和纵向图像。我设置了,以便调整高度以适应图像。 在最大的媒体查询中,flexslider容器的宽度为750px。这对于横向图像很好,但纵向图像太大了。肖像图像的宽度设置为与容器相同的大小-750px宽,因此高度至少是容器宽度的两倍,因此如果不滚动,则无法查看整个图像。 在css中,我尝试设置最大高度:750px,这解决了高度问

  • 问题内容: 除了检查每个可能的扩展名外,我如何检查文件是mp3文件还是图像文件? 问题答案: 您可以使用来识别图像文件。 要查找有关MP3和其他音频/视频文件的更多信息,建议使用 php- mp4info getID3() 。