将画布导出为xps vb

时间:2012-04-26 14:58:19

标签: wpf vb.net xps

您好今天我尝试将我的画布导出到文件中。首先,我尝试将其导出到png并且工作正常,一切看起来与画布上的相同。

之后我修改了我的代码以导出到xps文件。

    Dim thePack As IO.Packaging.Package = IO.Packaging.Package.Open(path.LocalPath,IO.FileMode.Create)
    Dim doc As New Xps.Packaging.XpsDocument(thePack)
    Dim writer As Xps.XpsDocumentWriter = Xps.Packaging.XpsDocument.CreateXpsDocumentWriter(doc)
    writer.Write(mycanvas)
    doc.Close()
    thePack.Close()

代码运行正常,但它没有生成与我的canvas / png完全相同的视图。

是否有任何功能可以改变作者的输出? 看起来像是将视觉对象移动到低于它们内部的文本。

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但是影子阴影给了我一个问题。

       <Border Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Name="rand" Style="{DynamicResource BorderStyle}" >
           <Border.Effect>
               <DropShadowEffect  Direction="45" Color="#DDDDDD"/>
           </Border.Effect>
       </Border>

从我的usercontrol中删除border.effect后,xps文件生成完美。

     <Border Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Name="rand" Style="{DynamicResource BorderStyle}" >
    </Border>