繁体   English   中英

Android:如何更改图像的方向以在imageview中设置它?

[英]Android: How to change the orientation of an image to set it in imageview?

我正在将图像设置为ImageView,但是未从设备存储中选择图像,而是由服务器发送了图像,我想在将图像设置为imageview之前了解图像的方向。 因此,是否可以使用其URL和ExifInterface检查来自服务器的jpg图像的方向,然后根据设置为imageview的要求更改其方向?

无法确定方向。 您将必须检查宽度和高度,并根据ImageView对齐图像。

也许这可以帮助您

void readAndDisplayMetadata( String fileName ) {
    try {

        File file = new File( fileName );
        ImageInputStream iis = ImageIO.createImageInputStream(file);
        Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);

        if (readers.hasNext()) {

            // pick the first available ImageReader
            ImageReader reader = readers.next();

            // attach source to the reader
            reader.setInput(iis, true);

            // read metadata of first image
            IIOMetadata metadata = reader.getImageMetadata(0);

            String[] names = metadata.getMetadataFormatNames();
            int length = names.length;
            for (int i = 0; i < length; i++) {
                System.out.println( "Format name: " + names[ i ] );
                displayMetadata(metadata.getAsTree(names[i]));
            }
        }
    }
    catch (Exception e) {

        e.printStackTrace();
    }
}

http://johnbokma.com/java/obtaining-image-metadata.html

注意:如果并且仅当图像高度大于宽度时,才能确定图像是纵向的,因此可以对其进行测量以找到其方向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM