为什么在javafx ImageView中显示某些图像时会旋转?

txu3uszq  于 2023-04-04  发布在  Java
关注(0)|答案(1)|浏览(131)

960x1280的图像是水平旋转的。如何强制它们保持垂直?

ScrollPane sp = new ScrollPane();
sp.setPrefSize(900, 700);

public void showPicture(String str){
  try{
            
             
            File file = new File("pictures\\"+str+".jpg");
            Image image = new Image(file.toURI().toString());
            
            if(image.getWidth()>900)
            {
                Double x=image.getWidth();
                Double y=image.getHeight();
                Double z=x/900;
                if((y/z)>700)
                {
                    z=y/700;
    
                }
                
                
                image = new Image(file.toURI().toString(),x/z,y/z,false,false);
            }
            
            
            
                ImageView imageView = ImageViewBuilder.create()
                .image(image)
                .build();
                
                
                sp.setContent(imageView);
                
   }catch(Exception e){System.err.println(e);}
}

我试图将ScrollPane更改为700x700,没有工作。它只发生在图片960x1280,其他显示正常。文件夹中的图片是垂直的。

7vux5j2d

7vux5j2d1#

代码正常。问题是图片的EXIF方向不正确。
更多详情请点击此处:https://sirv.com/help/articles/rotate-photos-to-be-upright/

相关问题