DocumentFormat.OpenXml - 如何找到元素的不透明度

时间:2012-07-17 13:50:03

标签: c# .net powerpoint openxml

我有一个带有单个幻灯片的powerpoint文档,其中包含一个矩形,默认颜色为70%不透明度。

我用

打开它
var doc = DocumentFormat.OpenXml.Packaging.PresentationDocument
  .Open(@"path\to\pptx", false);

对于我的生活,查看doc root中提供的类,我找不到一个属性来指定我的形状的不透明度。

我希望在哪里获得不透明度?

1 个答案:

答案 0 :(得分:2)

刚刚测试过,有效。

using DocumentFormat.OpenXml.Packaging;
using System;
using System.Linq;
using DRAW = DocumentFormat.OpenXml.Drawing;
using DocumentFormat.OpenXml.Presentation;

.....

using (PresentationDocument outputDocument = PresentationDocument.Open(@"C:\Users\YN\Desktop\80.pptx", true))
{

    Slide slide = outputDocument.PresentationPart.SlideParts.First<SlidePart>().Slide;
    CommonSlideData csd = slide.GetFirstChild<CommonSlideData>();
    ShapeTree st = csd.GetFirstChild<ShapeTree>();
    Shape s = st.GetFirstChild<Shape>();
    ShapeProperties sp = s.GetFirstChild<ShapeProperties>();
    DRAW.SolidFill sf = sp.GetFirstChild<DRAW.SolidFill>();
    DRAW.SchemeColor sc = sf.GetFirstChild<DRAW.SchemeColor>();
    DRAW.Alpha a = sc.GetFirstChild<DRAW.Alpha>();
    Console.WriteLine((int)a.Val);

}