0

嗨,今天我尝试将画布导出到文件。首先,我尝试将其导出为 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()

代码运行良好,但它不会生成与我的画布/png 完全相同的视图。

是否有任何功能可以更改编写器的输出?看起来视觉对象比它们内部的文本移动得更低。

4

1 回答 1

0

我不知道为什么,但 dropshadow 给了我一个问题。

       <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>

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

     <Border Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Name="rand" Style="{DynamicResource BorderStyle}" >
    </Border>
于 2012-05-29T14:35:59.230 回答