大型キャンバスのサブセクションからページを印刷しようとすると、ビジュアルブラシを使用して不快感が増えました。一般的には動作しますが、一部の部品をラスタライズする傾向があり、出力が悪くなります。 (私は以前これについて質問してきた)。WPF - コンテントの内容をジオメトリとしてクローン化する
これで、同じ内容のキャンバスのコピーをたくさん作成し、無欠な部分を1ページとして印刷します。これは動作しますが、明らかに遅く、より多くのページでは遅くなります。
でも、うまくいくのはビジュアルブラシに似た何かの方法がありますが、その代わりにある種の新しいジオメトリオブジェクトとして "ビュー"の内容をコピーすることですか?私のキャンバスの内容は、線や画像などの組み合わせです。なので、ブラシのビューを定義し、すべてのベクトルとラスタオブジェクトの交差コピーを新しい何らかの種類の容器。
これにより、1つのキャンバスを使用して、個々のページを印刷するために異なる場所でコンテンツの「スナップショット」を取ることができます。
ええ、ラスタライズを避けることが私の目標です。そうは間違いありません。 –
私の答えに新しい方法、XamlWriterが追加されました。 –