EMF con antialiasing forzato
-
07-07-2019 - |
Domanda
Il nostro programma deve generare grafica vettoriale e per questo abbiamo scelto EMF. Tuttavia, sembra che altri programmi rendano queste immagini non antialias. Ho scoperto che il formato SVG ha un flag per indicare che alcuni / tutti gli oggetti dovrebbero essere antialias.
Esiste un tipo di flag o comando all'interno del formato EMF per indicare che vogliamo avere l'antialias? In tal caso, come generare quel comando usando System.Drawing .Imaging.Metafile class?
Grazie.
Soluzione
Il file EMF è un elenco di comandi GDI. Quindi non sarà anti-alias, anche se sotto GDI +, metti una chiamata SmoothingMode () prima del disegno. Dovrai enumerare i comandi GDI, quindi tradurli in comandi GDI +.
In Vista / Seven, è possibile utilizzare la funzione GDI + 1.1 denominata GdipConvertToEmfPlus / ConvertToEmfPlus. Se si desidera che il programma funzioni con XP, è necessario scrivere la propria enumerazione, quindi la conversione in comandi GDI +. Abbiamo fatto in Delphi , forse il codice sorgente potrebbe aiutarti.