人家都已经用上各种自定义的图片格式了,你还在苦苦守候bmp,jpg,png,只是因为想能在wpf中使用?


实际上wpf的imaging模块设计的一个初衷就是解决GDI绘图api中缺少良好编解码器扩展的缺陷。所以wpf的图片格式不仅仅支持扩展,而且是易于扩展。

WPF的图片的编解码功能来自于wic框架。WIC实际上是一种windows图片处理的API协定,所有实现了WIC接口的编解码器,能够同windows内置编解码器一样得到使用,而无需在对这些支持WIC的程序进行更新。

目前支持WIC的有WPF,Windows Live,Windows Photo等。

所以我们的问题就转换为如何为指定图片格式注册WIC图片编解码器。

这部分涉及到非托管代码,不过不用担心大部分情况下图片格式提供者都会做好WIC的编解码器封装

我们以google的webp图片格式为例。 我们在https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html中找到

1537863359740

然后点击安装

1537863546253

我们发现所有的WPF程序就可以使用webp格式的图片了


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%A6%82%E4%BD%95%E8%AE%A9WPF%E6%98%BE%E7%A4%BA%E9%9D%9E%E9%BB%98%E8%AE%A4%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%9B%BE%E7%89%87.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系