Some of you out there have already been taking a look at the WindowsCodecs APIs and have begun building new CODECs for the WindowsCodecs Extensibility System. This is goodness! However, you're probably wondering if the CODEC that you're doing will "play nicely" in a generic application built on top of the WindowsCodecs APIs... one where the app tries to open any image file using the WindowsCodecs arbitration process for choosing a CODEC, displays the image to the screen, and furthermore enumerates all of the metadata in the file and presents that. During our internal development and test process for WindowsCodecs, we hit the same problem. This was, at one point, especially critical as other components that were being built on top of the WindowsCodecs APIs were not ready. So, my team developed a small application to allow us to open images up, view them, and view all of the metadata in them... all using the WindowsCodecs APIs. For lack of a better name we named the tool WICExplorer... with no relation to explorer.exe what-so-ever. WIC standing for "Windows Imaging Component" and Explorer, well, since you want to "explore" the image and its contents. We're making WICExplorer available to those developers out there who are developing their own CODECs or Metadata Handlers.

The tool lets you view the image and all of the metadata contained within it. In the following screenshot you can see:
Left Pane (top):
  • a JPEG with a Thumbnail and an App0, App1, Ifd, Exif, XMP, and Unknown metadata reader
  • a TIFF with an Ifd and an IPTC metadata reader
  • a PNG with a tEXt metadata reader
  • another JPEG with a Thumbnail and an App0, App1, Ifd, Exif, XMP, and Unknown metadata reader (in this one, note the deeply nested structure of the XMP data)
Left Pane (bottom):
  • information about the CODEC used to decode a particular image
Right Pane:
  • path to the file
  • information and image of each frame or thumbnail
  • (non-optimized) code used to open up the image and grab out the metadata
Also, we allow for trans-coding of images. So, you can right click on an image and "Save As..." (or use the File menu). This will bring up a dialog which shows all encoders installed on the machine and allow you to choose one and save to that format:
Code and Additional Information:

In order to build the project you must have Microsoft Visual Studio 2005 Beta 2 installed as well as the WTL 7.5 extensions.

Code (PDC CTP):

Compiled (PDC CTP):