首先,我們先安裝nuget的需要的有關的Openxml sdk,我們開源了解析pptx的Openxml拍平層,下面兩種方式都可以安裝:
nuget包管理器控制台:
csproj引用:
我這裡用PPTX的7種直線,分别設定7種能夠設定的虛線類型,PPTX的顯示效果是這樣的:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauUzMzETN0EjM00iM5cDMzgjM0EDOyITMxIDMy0SM3IDN5ITMvwlMxEjMwIzLcFzNyQTOyEzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
然後解析代碼如下,解析主要邏輯部分:
PPTX映射成WPF虛線的方法:
最終繪制線條的方法:
最終的效果:
我們可以看到幾乎是接近的效果了,當然你也可以根據我的代碼去微調更精确的值,隻需要稍微改下<code>GetDashArrayByPresetLineDashValues</code>方法内相對應的值即可
實際上,openxml文檔是給出了PresetDash的值的,大緻如下:
但是其值跟WPF的設定Dash的<code>DoubleCollection</code>不對應,是以以上的映射值都是我自己微調的
BlogCodeSample/PptDashConverToWpfSample at main · ZhengDaoWang/BlogCodeSample