Tôi đang mờ về mối quan hệ giữa Windows Imaging Component (WIC) và GDI +. Tôi đã làm một số công việc trong quá khứ cho thấy rằng, ví dụ, WIC sản xuất mã hóa GIF trực quan cao cấp, nhưng tôi ngạc nhiên tôi không thấy nhiều người sử dụng nó để xử lý hình ảnh so với GDI +. Tôi biết nó không có các hoạt động vẽ của GDI +, nhưng để mã hóa/giải mã nó có vẻ vượt trội. Vậy tại sao chúng ta không thấy di cư?Mối quan hệ giữa WIC và GDI + là gì?
Trả lời
Mối quan hệ (hay đúng là sự khác biệt giữa) WIC và GDI + là WIC là một khung codec hình ảnh mở rộng cho phép các ứng dụng triển khai khung để nhận hỗ trợ cho các định dạng hình ảnh mới thông qua các codec được cung cấp. GDI + là một thành phần cốt lõi của Windows hỗ trợ các thao tác vẽ như dòng, phông chữ, độ dốc, v.v.
Mặc dù GDI + có hỗ trợ riêng cho một số định dạng hình ảnh phổ biến, nhưng vẫn có thể cung cấp codec WIC.
Tôi hiểu rằng GDI + sử dụng WIC để thực hiện một số tác vụ nhất định. Ít nhất, trong Windows 7 nó.
Hãy xem xét đoạn mã sau:
image.Write(target, ImageFormat.Gif);
Khi tôi chạy mã này trong môi trường Windows XP nó sẽ sử dụng bộ mã hóa GDI + Gif để viết hình ảnh làm Gif. Khi tôi chạy cùng một mã trong Windows 7, nó sẽ sử dụng Bộ mã hóa Gif WIC.
không có Image.Write (...) .Bạn có thể có nghĩa là Image.Save (...) –
- 1. Mối quan hệ giữa Hành khách và Capistrano là gì?
- 2. mối quan hệ giữa masksToBounds và angleRadius là gì?
- 3. mối quan hệ giữa GC, Finalize() và Dispose là gì?
- 4. Mối quan hệ giữa OSGi và Dependency Injection là gì
- 5. Mối quan hệ giữa AppDelegate, RootViewController và UIApplication là gì?
- 6. Mối quan hệ giữa ghc-pkg và cabal là gì?
- 7. Mối quan hệ giữa "đống" và "đống" là gì?
- 8. Mối quan hệ giữa UIView và CALayer
- 9. Mối quan hệ giữa appdelegate và main.m
- 10. mối quan hệ giữa log4j và apache.commons.logging
- 11. Mối quan hệ giữa HttpContext.Request.Cookies và HttpContext.Response.Cookies
- 12. Mối quan hệ giữa GEF và GMF?
- 13. Sqlalchemy, mối quan hệ và mối quan hệ
- 14. Mối quan hệ giữa hệ điều hành Linux và hạt nhân là gì?
- 15. Sự khác nhau giữa GDI và GDI + là gì?
- 16. Chủ sở hữu mối quan hệ nghĩa là gì trong mối quan hệ hai chiều?
- 17. Mối quan hệ của CloseWindow và WM_CLOSE là gì
- 18. mối quan hệ giữa UIView.frame và CALayer.frame là gì? (cả trước và sau một CATransform3D)
- 19. Mối quan hệ giữa nhiều mối quan hệ giữa nhiều mô hình
- 20. Quan hệ giữa Xtext và ANTLR là gì?
- 21. Quan hệ giữa Iterable và Iterator là gì?
- 22. Mối quan hệ giữa môi trường và dự án trong virtualenvwrapper là gì?
- 23. Mối quan hệ giữa mạng bay và mạng thần kinh là gì?
- 24. Mối quan hệ giữa Số và Function.prototype trong javascript là gì?
- 25. Mối quan hệ giữa chặn, khóa và mức cách ly là gì?
- 26. Các mối quan hệ hiện tại giữa Eclipse, Aptana và PyDev là gì?
- 27. Mối quan hệ giữa Enum và Enumeration là gì, nếu có
- 28. Mối quan hệ giữa mẫu C++ và kiểu gõ vịt là gì?
- 29. Mối quan hệ giữa mô hình hóa chủ đề và phân cụm tài liệu là gì?
- 30. HTTP: mối quan hệ giữa pipelining, keep-alive và Server Sent Events là gì?
Vì vậy, ngoài một số mã hóa/giải mã gốc, WIC không thực sự làm gì ngoại trừ việc cung cấp một khuôn khổ để viết nhiều mã hơn? Đối với bộ codec gốc cao cấp như vậy (so với GDI +), bạn nghĩ rằng họ đã cung cấp cầu nối tốt hơn giữa GDI + và WIC. –
Tôi đang nghiên cứu thêm một chút, và dường như có nhiều hơn một chút so với điều đó. WIC là một nền tảng của hầu hết những gì WPF làm (xem http://blogs.msdn.com/dwayneneed/archive/2008/06/20/implementing-a-custom-bitmapsource.aspx), và thực sự WIC dường như quản lý pixel giống như GDI +. –