C# 导出具有真实大小的PowerPoint形状

C# 导出具有真实大小的PowerPoint形状,c#,vsto,powerpoint,C#,Vsto,Powerpoint,我需要将PowerPoint中选择的形状导出为具有真实形状大小的png图像。我使用此代码进行导出: var args = new object[] { filePath, Microsoft.Office.Interop.PowerPoint.PpShapeFormat.ppShapeFormatPNG, 0, 0, Microsoft.Office.Interop.PowerPoint.PpExportMode.ppRelativeToSlide }; objectShape.GetType(

我需要将PowerPoint中选择的形状导出为具有真实形状大小的png图像。我使用此代码进行导出:

var args = new object[] { filePath, Microsoft.Office.Interop.PowerPoint.PpShapeFormat.ppShapeFormatPNG, 0, 0, Microsoft.Office.Interop.PowerPoint.PpExportMode.ppRelativeToSlide };
objectShape.GetType().InvokeMember("Export", System.Reflection.BindingFlags.InvokeMethod, null, objectShape, args); // Export to file on disk
磁盘上的图像比例和高度/宽度不正确。我尝试了PpExportMode枚举参数的不同值,以防我将放大PP更改为100%。但我没有正确的结果。对于基于矩形的形状,它可以正常工作。但例如,对于星形或详图索引形状,实际大小不等于形状高度/宽度属性。这是因为形状底部有一个小舌头


有人知道如何正确导出这些形状吗

检查形状的.Adjustments.Count属性

If Adjustments.Count > 0 Then
For x = 1 to Adjustments.Count
  '  Store the value of Adjustments(x) somewhere
  '  so you can reset it later
  .Adjustments(x) = 0
Next
现在导出形状,然后将其调整重置为以前的值


或者只是复制形状,将其调整设置为0,导出它,然后删除它。

你在哪里找到这个时髦的方法:
objectShape.GetType().InvokeMember(“导出”,
?据说要使用
shape.export(路径名、过滤器、缩放宽度、缩放高度、导出模式)
我已经编辑了你的标题。请参见,“,共识在哪里“不,他们不应该”。Jeremy-我的Microsoft.Office.Interop.PowerPoint.Shape没有导出方法。因此我找到了这篇文章John-谢谢更正。Steve,非常感谢你的回答。它为我提供了搜索方向。我需要导出所有调整的形状,以便我的图像看起来与原始形状相同(所有调整)100%放大PP。