如何使用 getImageDimensionInPixels() 从 java.awt.Dimension 在 poi ppt 中获取图像大小?

How to get image size using getImageDimensionInPixels() from java.awt.Dimension in poi ppt?

我用下面的方法遍历ppt中的所有图片,

for(XSLFPictureData data : ppt.getAllPictures()){
    byte[] bytes = data.getData();
    String fileName = data.getFileName();       
    int pictureFormat = data.getPictureType();                         
    System.out.println("picture : " + fileName); 
    System.out.println("pictureSize : " + data.getImageDimensionInPixels()); 
}

如文档中所述:Documentation POI getImageDimensionInPixels()

如何使用此方法获取以像素或 height/length 为单位的图像大小?

我做了很多更改以将 HSLF 和 XSLF API 统一为 Common SL - 在您可能抱怨破坏性更改之前,XSLF 和 HSLF 都不在稳定的主 jar 中。 因此对于主干(POI 3.16),示例代码如下:

@Test
public void bugbla() throws Exception {
    XMLSlideShow ppt = XSLFTestDataSamples.openSampleDocument("51187.pptx");
    for(XSLFPictureData data : ppt.getPictureData()){
        byte[] bytes = data.getData();
        String fileName = data.getFileName();       
        PictureType pictureFormat = data.getType();                         
        System.out.println("picture : " + fileName); 
        System.out.println("pictureSize : " + data.getImageDimensionInPixels()); 
    }
}