Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 垂直图像作为水平图像加载_Java_Image_Javafx - Fatal编程技术网

Java 垂直图像作为水平图像加载

Java 垂直图像作为水平图像加载,java,image,javafx,Java,Image,Javafx,我正在编写一个简单的应用程序,它基本上加载一些图片,并将它们显示给用户。问题是,当我初始化手机拍摄的垂直图像时,它无法识别图像是垂直的,只是交换宽度和高度 否则,如果我加载一个垂直图像,例如从互联网下载的图像,一切正常 您可以看到我的应用程序和两张加载的图片。左边是下载的,垂直显示。但我手机上的那张照片并没有垂直显示 这是我的课程/代码: import javafx.scene.CacheHint; import javafx.scene.image.Image; import javafx.s

我正在编写一个简单的应用程序,它基本上加载一些图片,并将它们显示给用户。问题是,当我初始化手机拍摄的垂直图像时,它无法识别图像是垂直的,只是交换宽度和高度

否则,如果我加载一个垂直图像,例如从互联网下载的图像,一切正常

您可以看到我的应用程序和两张加载的图片。左边是下载的,垂直显示。但我手机上的那张照片并没有垂直显示

这是我的课程/代码:

import javafx.scene.CacheHint;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;

public class Picture {
    String name;
    String path;
    String res;
    String size;
    ImageView iv;
    Image image;

    public Picture(String name, String path) {
        this.image = new Image("file:" + path);
        this.name = name;
        this.path = path;
        this.res = image.getWidth() + " x " + image.getHeight();

        this.iv = new ImageView(image);
        this.iv.setFitHeight(180);
        this.iv.setFitWidth(180);
        this.iv.setPreserveRatio(true);
        this.iv.setCache(true);
        this.iv.setCacheHint(CacheHint.SPEED);
        this.iv.setStyle("-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.8), 10, 0, 0, 0);");
    }
}
这是我的第一个问题,所以不要因为布局而责备我;)

对我的代码或问题的任何反馈都将不胜感激。 如果您需要完整的代码,请告诉我


感谢您的帮助

我没有听说/遇到过javafx正在旋转图像。我很确定图像是以文件系统中保存的方式显示的。它在图像查看器/编辑器中的显示是否不同?如果不是的话,你的应用程序应该如何区分翻出的图片和普通图片?@fabian-my Iphone SE有时会决定图片应该是水平的还是垂直的,并以这种方式存储信息。视其查看方式而定,会更改其外观旋转。例如,在浏览器中,仅查看图像将正确显示图像,并将其嵌入到网页(论坛等)中,并且图像是横向的。甚至可以/将逐步侧向加载。始终必须在GIMP中打开我的东西,并确保在保存之前正确旋转。OP-为了跟进我对Fabian的评论,检查EXIF数据以获取旋转信息-请参阅@fabian-错误显示的图像在正常的windows目录中看起来很好,但感谢您的回复,我将继续查找solution@ivanivan-我对swing中的BuffereImage进行了同样的尝试,但我一直在寻找最干净的解决方案,所以我会继续寻找。