Ok ho avuto molta sfortuna usando un visualbrushper provare a stampare pagine da sottosezioni di una tela di grandi dimensioni. Funziona in generale, ma tende a rasterizzare alcune parti e crea un output scadente. (Ho già fatto domande al riguardo).
Quindi ora sto creando un mucchio di copie ditela con lo stesso contenuto e pizzicando verso il basso su porzioni singole da stampare come una singola pagina. Funziona, ma ovviamente è lento e diventerà più lento solo con più pagine.
Quindi ciò che potrebbe funzionare bene è, c'è un modo per farlofare qualcosa di simile a un pennello visivo, ma invece fargli copiare i contenuti dalla sua "vista" come un nuovo oggetto di geometria di qualche tipo? I contenuti della mia tela sono una combinazione di linee, immagini, ecc. Quindi sarebbe bello poter definire la vista di un pennello e dirgli di rendere visibile una copia di intersezione di tutti gli oggetti vettoriali e raster in un nuovo contenitore di qualche tipo.
Ciò mi consentirebbe di utilizzare un'unica tela e di scattare "istantanee" dei contenuti in luoghi diversi da utilizzare per la stampa delle singole pagine.
risposte:
0 per risposta № 1È possibile utilizzare RenderTargetBitmap per ottenere una copia bitmap dell'area di disegno, quindi ritagliare la porzione desiderata. Se si desidera specificamente una copia vettoriale, è necessario scrivere la tela su XPS.
Modificare: Se vuoi una copia vettoriale, hai provato a usare XamlWriter.Save, modifica Xaml e quindi XamlReader.Load?