No entiendo la relación entre Windows Imaging Component (WIC) y GDI +. He hecho un trabajo en el pasado que demostró que, por ejemplo, WIC produce codificaciones GIF visualmente superiores, pero me sorprende que no vea más personas que lo usen para el procesamiento de imágenes frente a GDI +. Sé que no tiene las operaciones de dibujo de GDI +, pero para la codificación/decodificación parece superior. Entonces, ¿por qué no vemos una migración?¿Cuál es la relación entre WIC y GDI +?
Respuesta
La relación (o más bien la diferencia entre) WIC y GDI + es que WIC es un marco de códec de imágenes extensible que permite a las aplicaciones que implementan el marco recibir soporte para nuevos formatos de imagen a través de códecs proporcionados. GDI + es un componente central de Windows que admite operaciones de dibujo como líneas, fuentes, degradados, etc.
Mientras que GDI + tiene soporte nativo para varios formatos de imagen comunes, los códecs WIC se pueden proporcionar para cualquier formato de imagen.
Entiendo que GDI + usa WIC para realizar ciertas tareas. Al menos, en Windows 7 lo hace.
Por favor, considere el siguiente código:
image.Write(target, ImageFormat.Gif);
Cuando ejecuta este código en Windows XP usará el codificador GIF de GDI + para escribir la imagen como GIF. Cuando ejecuto el mismo código en Windows 7 usaré WIC Gif Encoder.
no hay Image.Write (...). Probablemente quieras Image.Save (...) –
- 1. ¿Cuál es la diferencia entre GDI y GDI +?
- 2. ¿Cuál es la diferencia entre la relación Composición y Asociación?
- 3. ¿Cuál es la relación entre "un" montón y "el" montón?
- 4. ¿Cuál es la relación entre docutils y Sphinx?
- 5. ¿Cuál es la relación entre bitbucket.org y bytebucket.org?
- 6. ¿Cuál es la relación entre el campo 'SYSTEM_PROPERTIES_MODE_ENVIRONMENT' y PropertyPlaceHolderConfigurer?
- 7. ¿Cuál es la relación entre entornos y proyectos en virtualenvwrapper?
- 8. ¿Cuál es la relación entre Passenger y Capistrano?
- 9. nginx, ¿cuál es la relación entre worker_connections, keepalive_timeout y $ conexión
- 10. ¿Cuál es la diferencia/relación entre AVR y Arduino?
- 11. ¿Cuál es la relación entre las redes bayesianas y neuronales?
- 12. ¿Cuál es la relación entre UIView y CALayer
- 13. ¿Cuál es la relación entre __getattr__ y getattr?
- 14. ¿Cuál es la relación entre AppDelegate, RootViewController y UIApplication?
- 15. ¿Cuál es la relación entre masksToBounds y cornerRadius?
- 16. ¿Cuál es la relación entre GTK, GTK + y GTK2?
- 17. ¿Cuál es la relación entre OSGi y Dependency Injection
- 18. ¿Cuál es la relación entre Xtext y ANTLR?
- 19. ¿Cuál es la relación entre GC, Finalize() y Dispose?
- 20. ¿Cuál es la relación entre ContentPane y JPanel?
- 21. ¿Cuál es la relación entre Selenium RC y WebDriver?
- 22. Cuál es la relación entre píxeles y píxeles escalados
- 23. ¿Cuál es la relación entre ghc-pkg y cabal?
- 24. ¿Cuál es la relación entre Iterable e Iterator?
- 25. ¿Cuál es la relación entre la plantilla de C++ y la tipificación de pato?
- 26. ¿Cuál es la relación entre la palabra clave using y la interfaz IDisposable?
- 27. ¿Cuál es la relación entre la recursión y la prueba por inducción?
- 28. ¿Cuál es la relación entre PATH_MAX y NAME_MAX, y cómo puedo obtenerla?
- 29. ¿Cuál es la relación entre gl_Color y gl_FrontColor en sombreadores de vértices y fragmentos
- 30. ¿Cuál es la relación entre la metaclase de clase Base y Derivada en Ruby?
De modo que, aparte de la codificación/decodificación nativa, WIC realmente no hace nada excepto ofrecer un marco para escribir más código. Para un conjunto tan superior de códecs nativos (en comparación con GDI +), uno pensaría que habría proporcionado un mejor puente entre GDI + y WIC. –
Estoy investigando esto un poco más, y parece que hay un poco más que eso. WIC es la base de la mayoría de lo que WPF hace (ver http://blogs.msdn.com/dwayneneed/archive/2008/06/20/implementing-a-custom-bitmapsource.aspx), y de hecho WIC parece administrar píxeles al igual que GDI +. –