0

我需要能够将图像添加到在 powerpoint 中用 C# 创建的动态表中。有没有办法做到这一点?我现在唯一能想到的就是显示图像并将其覆盖在桌子上,但这不是首选方法......

PowerPoint.Table objTable = objSlide.Shapes.AddTable(1, 2, StartX, StartY, Width, Height).Table;
objTable.Cell(1, 1).Shape.TextFrame.TextRange.Text = "Look at my image -->";
objTable.Cell(1, 1).Shape.TextFrame.TextRange.Font.Size = 14;

Bitmap fileImage = new Bitmap(MyWinApp.Properties.Resources.image);

// ???????????????
objTable.Cell(1, 2). .... = fileImage;
// ???????????????

无法在 Google 上找到答案,而且我没有看到允许图像的单元格的任何属性。

4

3 回答 3

0

我很确定表格不支持像图像这样的嵌入形状。唯一能想到的解决方法是将图片添加为这样的段落的项目符号图像:

tableShape.Table.Cell(i, j).Shape.TextFrame.TextRange. _
    ParagraphFormat.Bullet.Picture ("C:\path\to\image.jpg")

您只需要记住,项目符号的大小(= 图像大小)随段落的字体大小缩放,并且当段落没有文本时,项目符号/图像将被隐藏(但空格字符可以)。

于 2012-07-10T06:49:10.130 回答
0

尝试这个:

objTable.Cell(1, 2).Shape.Fill.UserPicture(fileImage);
于 2016-02-13T13:34:46.120 回答
0

我一直在寻找相同问题的解决方案,并找到了一个这样的解决方案,可能不是最好的解决方案:将图像写入本地磁盘并将图像文件插入 PowerPoint。

正如 Rory 和 Nazim 所发布的,您可以将图像写入临时文件,例如“xx.tmp”。然后

objTable.Cell(1, 2).Shape.Fill.UserPicture("xx.tmp");

这样,您将图像作为背景图像插入到表格单元格中。

此外,您可以将图像插入幻灯片(而不是表格),并手动设置其位置和大小:

slide.Shapes.AddPicture("xx.tmp", MsoTriState.msoFalse, MsoTriState.msoTrue, 50, 60, 30,30);

通过这种方式,您可以像正常的“复制/粘贴”操作一样将图像插入幻灯片。

于 2018-05-15T06:32:15.853 回答