Экспорт холста в xps vb

Привет, сегодня я попытался экспортировать свой холст в файл. Сначала я попытался экспортировать его в 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.

Существуют ли какие-либо функции для изменения вывода писателя? Кажется, что визуальные объекты сдвинуты ниже, чем текст внутри них.


person DavidVdd    schedule 26.04.2012    source источник


Ответы (1)


Я не знаю почему, но 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>
person DavidVdd    schedule 29.05.2012