我想知道如何使用.NET中的数字墨水自动注释PowerPoint幻灯片(使用c#)。目前,我使用自由形状做同样的事情,这很简单但有一些问题。当选择Office.MsoEditingType.msoEditingAuto作为编辑类型时,自由格式是平滑的,但是在构造它们然后转换为形状(当由多个点组成时)需要很长时间(以下方法会大概5s!)
PowerPoint.Shape Shape = builder.ConvertToShape();
使用Office.MsoEditingType.msoEditingCorner时,生成的形状要快得多,但生成的形状是锯齿状的(惊喜!)。
我发现以下代码示例使用数字墨水执行相同操作:
DrawingAttributes drawingAttributes1 = new DrawingAttributes();
drawingAttributes1.Color = Colors.Green;
StylusPoint stylusPoint1 = new StylusPoint(100, 100);
StylusPoint stylusPoint2 = new StylusPoint(100, 200);
StylusPoint stylusPoint3 = new StylusPoint(200, 200);
StylusPoint stylusPoint4 = new StylusPoint(200, 100);
StylusPoint stylusPoint5 = new StylusPoint(100, 100);
StylusPointCollection points = new StylusPointCollection(
new StylusPoint[] { stylusPoint1, stylusPoint2, stylusPoint3,
stylusPoint4, stylusPoint5 });
Stroke newStroke = new Stroke(points, drawingAttributes1);
InkPresenter inkPres = new InkPresenter();
inkPres.Strokes.Add(newStroke);
但是,不是PowerPoint插件专家(实际上甚至不是初学者),我不知道如何将墨水预告器连接到当前幻灯片。理想情况下,将创建一个新的墨水预告器。每张幻灯片保留(所以我不必担心每张幻灯片上的重新绘图)
我知道可以使用设计器创建一个墨水画布,然后绘制它,但是那个画布是否会附加到整个演示文稿或仅当前幻灯片?它是否允许用户在画布上绘图(这不是目标;绘图会自动完成)?
我花了很多时间寻找相关的代码示例,但是它们似乎都没有按照我的意图行事。例如,如上所述,我并不打算允许用户在幻灯片上绘图,而是自动为幻灯片添加注释。
谢谢,
威廉