Gibt es eine Möglichkeit, eine EMF-Metadatei (exportiert von einem Zeichenwerkzeug) mit aktiviertem Antialiasing zu zeichnen? Die Tools, die ich ausprobiert habe, sind nicht in der Lage, EMF-Dateien zu exportieren, daher habe ich mich gefragt, ob ich sie manuell wieder aktivieren kann, wenn ich die Emf in der OnPaint-Überschreibung meiner Controls zeichne.Zeichnen emf antialiased
Wenn jemand bestätigen kann, dass technisch möglich ist, antialiased EMF-Dateien zu generieren, wäre eine andere Lösung, ein Zeichenprogramm zu verwenden, das in antialiased EMF exportieren kann, oder einen Konverter von Dritt-Anbietern später tun. Wenn jemand solch ein Werkzeug kennt, lass es mich wissen.
EDIT: Beim Betrachten der emf instructions scheint es nicht, dass EMF selbst die Information tatsächlich speichern kann, ob es antialiased gerendert werden soll oder nicht. Zumindest konnte ich nichts finden. Es ist wahrscheinlicher, dass das Antialiasing von der Wiedergabemaschine ausgeführt wird. Zum Beispiel, wenn ich eine EMF in Word 2007 öffne, wird es antialiased gerendert. Aber nicht wenn ich es mit GDI + "Playback Engine" zeichne (Graphics.DrawImage(...)
). oder wenn ich es den Standard Windows Image Viewer betrachte. Das lässt mich glauben, dass einige Werkzeuge tatsächlich ihre eigene emf-Wiedergabe-Engine haben. Vielleicht gibt es also eine kostenlose .NET-Bibliothek (vorzugsweise mit Quellcode), die mir ein Objektmodell der in der geparsten EMF-Datei gespeicherten emf-Anweisungen liefert, so dass ich es selbst abspielen kann, anstatt Graphics.DrawImage(...)
zu verwenden?
Wenn alles andere fehlschlägt, können Sie es wahrscheinlich mit der vierfachen Größe oder so zeichnen und dann Downsample. – Joey
Ich habe das versucht, bei kleinen Größen sieht das immer noch hässlich aus Auch mit diesem Ansatz gibt es wahrscheinlich einen hässlichen Speicheraufwand. (Ich werde viele solcher UserControls auf einmal anzeigen). – bitbonk
Duplizieren: http://stackoverflow.com/questions/1422949/emf-with-forced-antialiasing – liori