引用System.Drawing.Imaging命名空间的文档中的内容:
Encoder类使用户能够扩展GDI+以支持任何图像格式。
然而,我找不到任何说明、示例或其他东西来解释如何实现自己的自定义文件格式——大多数搜索返回有关传递EncoderParameters的大量信息,但没有关于实现我们自己的编码器的内容?
理想情况下,我希望能够在C#中实现这个功能,但如果需要,我准备好重拾ATL :)
是否有人找到了任何文档或能够提供任何有关如何处理这个问题的指针?
更新:
我应该提一下我到目前为止尝试过的事情,但都没有成功:
- 查找ImageCodecInfo类返回的GUID,以确定它是否是普通的COM接口(但似乎不是),目的是查看已实现的接口,或者看看它是否只是一个注册表项。
- 进入Image.FromFile方法,发现它只是gdiplus.dll的包装器。
- 进行了大量的谷歌搜索,似乎提供了许多使用现有参数并指定自己的ImageEncoderParamerters的情况;还有一些人通过其他方式实现了自己的编解码器的案例。
- 甚至在news://microsoft.public.win32.programmer.gdi中提问。