在PowerPoint .NET中使用数字墨水

时间:2014-10-31 16:33:35

标签: c# .net wpf api powerpoint

我想知道如何使用.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插件专家(实际上甚至不是初学者),我不知道如何将墨水预告器连接到当前幻灯片。理想情况下,将创建一个新的墨水预告器。每张幻灯片保留(所以我不必担心每张幻灯片上的重新绘图)

我知道可以使用设计器创建一个墨水画布,然后绘制它,但是那个画布是否会附加到整个演示文稿或仅当前幻灯片?它是否允许用户在画布上绘图(这不是目标;绘图会自动完成)?

我花了很多时间寻找相关的代码示例,但是它们似乎都没有按照我的意图行事。例如,如上所述,我并不打算允许用户在幻灯片上绘图,而是自动为幻灯片添加注释。

谢谢,

威廉

0 个答案:

没有答案