1

我从一系列图像文件创建了一个 Impress 演示文稿。我可以创建一个Page并插入GraphicObjectShape没有任何问题,但是当我必须调整包含图像的形状时卡住了。

我的问题是我不知道应该使用什么尺寸。当然我可以尝试和错误的过程,但这不会很专业吗?

我的问题:Page我创建的新像素的大小是多少?如何访问图片上下文菜单中的“原始尺寸”功能?

在页面设置中,我看到 11.02" x 8.27" 的尺寸 - 当我在其中创建新文档和新页面时,是否可以保证所有未来版本都将使用此尺寸?

知道图像文件的大小应该适合整个页面会很有趣。

4

1 回答 1

1

光栅图像似乎以 96 DPI 分辨率加载。如果您使用 Impress 的默认页面大小(11.02" x 8.27"),那么完全适合的光栅图像大小(以像素为单位)为:

1058 x 794

此外,如果您坚持使用此大小(因为它可能是最兼容的选择,例如当您保存到 PPT 时),请不要依赖这是默认值这一事实。创建文档后,您可以通过设置任何页面的WidthandHeight属性来设置幻灯片的大小(似乎在您调整其中一个页面后所有其他页面都会跟随)。

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);
于 2011-07-17T09:37:17.340 回答