Я не совсем понимаю взаимосвязь между Windows Imaging Component (WIC) и GDI+. В прошлом я проделал некоторую работу, которая показала, что, например, WIC производит визуально превосходные кодировки GIF, но я удивлен, что не вижу большего числа людей, использующих его для обработки изображений по сравнению с GDI+. Я знаю, что у него нет операций рисования GDI+, но для кодирования/декодирования он кажется лучше. Так почему же мы не видим миграцию?
Какая связь между WIC и GDI+?
Ответы (2)
Связь (или, скорее, разница между) WIC и GDI+ заключается в том, что WIC представляет собой расширяемую структуру кодеков изображений, которая позволяет приложениям, реализующим структуру, получать поддержку новых форматов изображений с помощью предоставленных кодеков. GDI+ — это основной компонент Windows, который поддерживает операции рисования, такие как линии, шрифты, градиенты и т. д.
В то время как GDI+ имеет встроенную поддержку нескольких распространенных форматов изображений, кодеки WIC могут быть предоставлены для любого формата изображения.
Я понял, что GDI+ использует WIC для выполнения определенных задач. По крайней мере, в Windows 7 это так.
Пожалуйста, рассмотрите следующий код:
image.Write(target, ImageFormat.Gif);
Когда я запускаю этот код под Windows XP, он будет использовать кодировщик GDI+ Gif для записи изображения в виде Gif. Когда я запускаю тот же код под Windows 7, он будет использовать WIC Gif Encoder.