Apache POI ppt。如何在幻灯片中调整图像大小和居中

时间:2014-12-11 12:34:47

标签: apache-poi hslf

我们有一个具有图库功能的应用程序,我们希望将图像导出到powerpoint演示文稿。我能够做到这一点,但是当图像以不同的尺寸和方向进行时,几乎总是图像边界从ppt幻灯片中消失。我如何调整图像大小(我不想在物理上调整它们的大小,只需将它们调整为幻灯片)。并将其放在幻灯片上。

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以在添加到幻灯片之前调整图像大小。

private static byte[] resizeImage(byte[] fileData, Integer img_width, Integer img_height) throws IOException{
    ByteArrayInputStream in = new ByteArrayInputStream(fileData);

    BufferedImage originalImage = ImageIO.read(in);
    int type = originalImage.getType() == 0? BufferedImage.TYPE_INT_ARGB
            : originalImage.getType();

    if(img_height == 0){
        img_height = originalImage.getHeight();
    }

    BufferedImage resizedImage = new BufferedImage(img_width, img_height, type);
    Graphics2D g = resizedImage.createGraphics();
    g.drawImage(originalImage, 0, 0, img_width, img_height, null);
    g.dispose();

    ByteArrayOutputStream buffer = new ByteArrayOutputStream();
    ImageIO.write(resizedImage, "png", buffer);
    return buffer.toByteArray();
}