光栅图像似乎以 96 DPI 分辨率加载。如果您使用 Impress 的默认页面大小(11.02" x 8.27"),那么完全适合的光栅图像大小(以像素为单位)为:
1058 x 794
此外,如果您坚持使用此大小(因为它可能是最兼容的选择,例如当您保存到 PPT 时),请不要依赖这是默认值这一事实。创建文档后,您可以通过设置任何页面的Width
andHeight
属性来设置幻灯片的大小(似乎在您调整其中一个页面后所有其他页面都会跟随)。
API 使用 100/mm 刻度。11.02 iches 是 280 毫米,所以宽度是 280 * 100 = 28000,高度是 21000。
将演示文稿的大小调整为11.02" x 8.27"并插入(最好是 4:3)图像以适应整个页面的Java 示例:
XDrawPage page;
XMultiServiceFactory factory;
// ... setting up the environment and opening document
// resize the page (and all other pages) to our default size
XPropertySet pagePropSet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, page);
pagePropSet.setPropertyValue("Width", 28000);
pagePropSet.setPropertyValue("Height", 21000);
// create GraphicObjectShape with the size of the page in the top-left corner
Object picture = factory.createInstance("com.sun.star.drawing.GraphicObjectShape");
XShape pictureShape = (XShape)UnoRuntime.queryInterface(XShape.class, picture);
pictureShape.setSize(new Size(28000, 21000));
pictureShape.setPosition(new Point(0, 0));
// load the image file into our the shape
XPropertySet propSet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, pictureShape);
propSet.setPropertyValue("GraphicURL", new File("c:\\Users\\Vbence\\Downloads\\slide.png").toURI().toURL().toString());
// add the shape to the page
page.add(pictureShape);