Ich bin unscharf auf die Beziehung zwischen Windows Imaging Component (WIC) und GDI +. Ich habe in der Vergangenheit einige Arbeiten durchgeführt, die gezeigt haben, dass WIC zum Beispiel visuell überlegene GIF-Kodierungen produziert, aber ich bin überrascht, dass ich nicht mehr Leute sehe, die es für die Bildverarbeitung im Vergleich zu GDI + verwenden. Ich weiß, dass es nicht die Zeichenoperationen von GDI + hat, aber für die Kodierung/Dekodierung scheint es überlegen. Warum sehen wir keine Migration?Was ist die Beziehung zwischen WIC und GDI +?
Antwort
Die Beziehung (oder besser gesagt der Unterschied zwischen) WIC und GDI + ist, dass WIC ein erweiterbares Imaging-Codec-Framework ist, mit dem Anwendungen, die das Framework implementieren, Unterstützung für neue Bildformate über bereitgestellte Codecs erhalten. GDI + ist eine Kernkomponente von Windows, die Zeichenoperationen wie Linien, Schriftarten, Verläufe usw. unterstützt.
Während GDI + native Unterstützung für mehrere gängige Bildformate bietet, können WIC-Codecs für jedes Bildformat bereitgestellt werden.
Ich habe verstanden, dass GDI + WIC verwendet, um bestimmte Aufgaben auszuführen. Zumindest in Windows 7 tut es.
Bitte beachten Sie den folgenden Code ein:
image.Write(target, ImageFormat.Gif);
Wenn ich diesen Code unter Windows XP wird es den GDI + GIF-Encoder das Bild als Gif schreiben verwenden. Wenn ich denselben Code unter Windows 7 ausführe, wird der WIC Gif Encoder verwendet.
es nicht Image.Write ist (...). Sie meinen wahrscheinlich Image.Save (...) –
Anders als einige native Kodierung/Dekodierung, macht WIC nicht wirklich etwas anderes als ein Framework für mehr Code zu schreiben? Für solch einen überlegenen Satz von nativen Codecs (verglichen mit GDI +) würde man meinen, dass sie eine bessere Brücke zwischen GDI + und WIC geschaffen hätten. –
Ich sucht dieses ein bisschen mehr, und es scheint es, als dass ein wenig mehr zu sein. WIC ist eine Grundlage für das meiste, was WPF macht (siehe http://blogs.msdn.com/dwayneneed/archive/2008/06/20/implementing-a-custom-bitmapsource.aspx), und tatsächlich scheint WIC Pixel zu verwalten genau wie GDI +. –