ios - 在代号一中旋转显示的图像
问题描述
我正在为 iOS 开发一个 Codename One 应用程序。
我让用户可以选择拍照或从设备的图库中加载它们。之后,应用程序在标签中显示图片(封装在 BoxLayout 中)。当我以纵向模式拍照时,一切正常,但当我以横向模式拍照时,该图片显示为旋转(旋转 90°)。
这是代码:
String filePath = Capture.capturePhoto();
if (filePath != null) {
try {
Image img = Image.createImage(filePath);
if (img != null){
setImageToContainer(img);
}
}
catch (IOException err) {
ToastBar.showErrorMessage("Problemi con le immagini: " + err.getMessage());
completeImageName = null;
fileImageName = null;
}
}
private void setImageToContainer(Image img){
Label imgLbl = new Label();
Style s = UIManager.getInstance().getComponentStyle("Button");
FontImage p = FontImage.createMaterial(FontImage.MATERIAL_PORTRAIT, s);
EncodedImage placeholder = EncodedImage.createFromImage(p.scaled(p.getWidth() * 3, p.getHeight() * 4), false);
imgLbl.setIcon(placeholder);
list.add(imgLbl);
//Scalo l'immagine
if(img.getWidth() > imgLbl.getParent().getWidth())
img = img.scaledWidth(imgLbl.getParent().getWidth());
if(img.getHeight()> imgLbl.getParent().getHeight())
img = img.scaledHeight(imgLbl.getParent().getHeight());
imgLbl.setIcon(img);
list.repaint();
}
阅读该答案,我了解Image.createImage(filePathToImage)方法考虑了 EXIF 数据,以便正确旋转图像。
我该如何解决我的问题?有没有办法获取 EXIF 数据?
解决方案
推荐阅读
- python - 仅调整图片的宽度
- javascript - 为 Jest 测试设置 `Date.prototype.toLocaleString` 的语言环境
- c++ - 单行函数模板c ++的内联性保证
- c++ - 如何从 C++ 的输出中排除 SENTINEL 值?
- javascript - Javascript 功能仍然无法正常工作.. 测试并失败
- python - 通过 python 列表循环并在烧瓶中显示结果
- reactiveui - 在另一个 ViewModel 中配置 ViewModel 实例时
- c# - 一次加载所有数据表时引发 System.OutOfMemoryException
- paypal - 在现有和已执行的计费协议中更改贝宝下一个付款日期?
- uwp - Xbox Live Creators Program 发布配置。发布失败