1

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

4

3 回答 3

0

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

于 2013-08-05T07:46:20.783 回答
0

也许这可以帮助你

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

注意:如果您确定图像是纵向的,当且仅当您的图像高度高于其宽度时,您可以测量它们以找到它的方向。

于 2013-08-05T07:47:26.807 回答
0

您可以像这样检查:Android:如何在设置图像视图时检测从图库中选取的图像方向(纵向或横向)?

于 2013-08-05T07:47:33.537 回答