2009-01-18 32 views
7

Để trích dẫn documentation for the System.Drawing.Imaging namespaceMở rộng danh sách các định dạng ảnh được hỗ trợ trong GDI +

Lớp mã hóa cho phép người dùng mở rộng GDI + để hỗ trợ bất kỳ định dạng hình ảnh.

Tuy nhiên, tôi không thể tìm thấy tài liệu, ví dụ hoặc bất kỳ điều gì khác giải thích cách tôi thực hiện định dạng tệp tùy chỉnh của riêng mình - hầu hết các tìm kiếm đều trả về nhiều thông tin về mã hóa EncoderParameters. ?

Lý tưởng nhất, tôi muốn yêu để có thể thực hiện điều này trong C#, nhưng tôi sẵn sàng giảm bụi ATL của tôi nếu có nhu cầu được :)

Có ai đi qua bất kỳ tài liệu hoặc có thể cung cấp bất kỳ con trỏ về cách tiếp cận điều này?

Cập nhật:
tôi có lẽ nên đề cập đến những điều tôi đã cố gắng cho đến nay, không có kết quả:

  • Looking for GUIDs trả lại trong lớp ImageCodecInfo để xem nếu nó là một COM bình thường giao diện (nhưng nó không xuất hiện được), ý định được nhìn vào các giao diện thực hiện, hoặc xem nếu nó chỉ là một mục đăng ký.
  • Được chuyển thành phương thức Image.FromFile để tìm nó chỉ là một trình bao bọc cho gdiplus.dll
  • Rất nhiều tìm kiếm của Google, có vẻ như cung cấp nhiều trường hợp sử dụng hiện tại với chỉ định ImageEncoderParamerters của riêng bạn; và một số trường hợp người thực hiện their owncodecs bằng các phương tiện khác.
  • Thậm chí hỏi trong news://microsoft.public.win32.programmer.gdi

Trả lời

7

Được rồi, đây là một số thông tin tôi được quản lý để khai thác. Có vẻ như cách được đề nghị (bởi Microsoft) để thực hiện những gì bạn muốn là develop a WIC-enabled codec cho định dạng của bạn. API Windows Imaging Component (WIC) được tích hợp sẵn trong Vista, nhưng cũng có sẵn cho XP và Win Server 2003, hoặc trong .NET 3 hoặc dưới dạng tải xuống riêng biệt.

Tuy nhiên, dường như cũng tồn tại một cách khác để mở rộng danh sách codec GDI +, nhưng những vùng nước đó có nhiều tiếng rên. Nếu bạn mở gdiplus.dll trong một trình soạn thảo hex, bạn sẽ tìm thấy một tham chiếu đến khóa registry sau đây:

Software\Microsoft\Imaging\Codecs 

Googling cho khóa đó sẽ đưa bạn đến một MSDN article nói về đăng ký codec hình ảnh của riêng bạn trên Windows Nền tảng CE và Windows Mobile. Điều thú vị là gdiplus.dll trên XP có khóa đăng ký được mã hóa cứng trong đó. Tôi đã không kiểm tra xem nó sử dụng nó, mặc dù và tôi đã không cố gắng phát triển codec của riêng tôi, hoặc cho WIC hoặc cho GDI +.

Tôi hy vọng thông tin này sẽ giúp ít nhất giúp bạn bắt đầu.

+0

Điều này chắc chắn là gần với những gì tôi đã sau - lý tưởng là tôi sau khi một cái gì đó để hỗ trợ v2 của khung như tối thiểu, nhưng tôi chắc chắn sẽ nhìn vào cách tiếp cận của WIC. –

Các vấn đề liên quan