Blog | Photography | Highlights | Contact | About | Atom & RSS Feeds
Blogs in the Category Development
  • Blog
  • Development Blogs

16 Posts
Fotofly PhotoViewer is now available on CodePlex
This week I published onto Codeplex my Silverlight PhotoViewer , my third Open Source Project. Using my Fotofly metadata library , this reusable control displays the photo, people regions and a map of the location. You can use it on your own site to light up all that metadata locked in the file. Here’s what the control looks like.  
Tassography v4.0 Goes Live Using ASP.Net MVC
Late last year I set out to completely rewrite the front end of based on ASP.Net MVC . Well it’s finally done and now available for everyone’s viewing pleasure. As well as changing the underlying code the most important change I made was a switch to an entirely new SEO -friendly URL schema. Gone are all the ugly, impossible to understand /ViewCollection.aspx?c=20100214 because that’s now /photography/2010-02-14-wandering-around-pier-39 . I’ve also refactored my Silverlight controls into cleaner reusable components. One of the aims I had was to release the photo viewer onto Codeplex to complement my Fotofly metadata library . I’m close to finishing this work and hope to have something to share later this week.  
Fotofly v0.5 now available on Codeplex
I’ve just published v0.5 of Fotofly on Codeplex . This new version includes the first batch of bug fixes as a result of community feedback. Additionally I’ve started the work to expand the code to deal with multiple GPS sources (exif and xmp). This will be the main focus for v0.6 which I hope to finish sometime this week. I also spent a little time creating a logo. It’s simple but I spent ages rattling through fonts to find something I liked!    
Getting Started with Fotofly
It’s been about two months since I posted Fotofly on Codeplex and I’ve had plenty of feedback and it’s been download over 100 times! What I haven’t written is a simple introduction on how to use the library. So that’s the aim of this blog. Step 1 – Download the Library First you need to download the DLL (or download the source code and build it yourself): Follow this link to download the DLL and save it somewhere you can reference it from your Visual Studio project.  
When and how to use the right BitmapCacheOption setting
I keep stumbling across the consequences of changing which BitmapCacheOption I use. Despite the fact that metadata in a file isn’t really that big in the grand scheme of things, changing which caching option you use can have annoying consequences. The two typical issues I run into are: running of our memory when process lots of files or not having any data to work with. Let’s look at the code:  
Reading Geotagging in Photos Using Windows Imaging Component
In this blog I’m going to explain how Geotagging metadata can be read and written using Windows Imaging Component. First lets look at all the queries. These are the common ones, there are plenty more but I have not found any immediate need to use them.  
Fotofly v0.1 available for Download on Codeplex
After several years of evolving my photo metadata code I’m finally ready to put it online. Being the nice corporate citizen that I am, I’m using CodePlex and you can find Fotofly here for download. My somewhat lofty description of the project is: “A comprehensive C# library for reading, manipulating and writing metadata stored in jpg photos using WPF and the Windows Imaging Component. Includes support for Windows Live Photo Gallery People Tags, GPS Coordinates and most EXIF, XMP & IPTC properties.” Hopefully I’ll get lots of downloads and feedback to help improve it further.    
Reading and Creating Exif Rationals
Quite why Jeida who created Exif decided to use Rationals is beyond me but they did so you have to work with them if you’re playing with jpg metadata. In this blog post I’ll share my Rational class so you don’t have to go through all the pain I went through in creating it. It’s amusingly short now I look at it here but it took way too long to work it out. The class has two constructors, one for the value you’ve retrieved from BitmapMetadata, the second when you’re creating your own rationals.  
Basic Editing of Photo Metadata Using Windows Imaging Component
In my previous posts I’ve provided examples on using Windows Imaging Component to Read & Write jpg metadata. In this post I’ll explain how to use ContainsQuery , GetQuery , SetQuery and RemoveQuery . As an added bonus I’m going to use the IPTC address fields as my example. Whilst BitmapMetadata does provide some standard properties like Subject and Title, it is far from comprehensive. In order to get at the other data you have to provide the right query.  
Writing Photo Metadata Using Windows Imaging Component
In this blog I’m going to build on my previous posting on Reading Metadata and explain how to write metadata stored in a jpg file using Windows Imaging Component . You can find all my blogs on Windows Imaging Component here . If you want to change any of the metadata, the first thing you have to do is make sure there’s room for your changes. This is done by adding padding to the metadata. If you don’t do this, I guess it’s possible to remove data or change it to the exact same size but you can’t add new data. The general recommendation appears to be around 5k, so I normally use 5120.  
Reading Photo Metadata Using Windows Imaging Component
I still see a lot of questions on the Internet and at work on how to read (& write) metadata in Photos. There are plenty of examples out there but they all appear to have some pitfalls. To be quite honest, the code I’ve been using for a number of years now is mature enough that it solves almost all the problems I’ve seen. This blog is the first in a series that document how to read (this blog), write and manipulate photo metadata.  
The Very Useful IIS Search Engine Optimization (SEO) Toolkit
I’ve done my best to make my site ‘indexable’ by Search Engines but I’ve never really tried to optimise it. Martin Peck got me thinking about it more when I shared my analysis of my IIS logs last year. Back then my referrer list looked something like this:  
Tag Clouds Revisited, Refactored and Improved
About a year ago, I added a Tag Cloud to allow you to navigate tags associated with the photos on the site, but I’ve never been happy with the algorithm used. I spent some time Friday working out the problems and updating my code. The Problems 1) Tags were distributed across ten buckets, each bucket containing the same number of tags. But even with 1800 tags the frequency isn’t linear.  
Using WIC & C# to read Windows Live Photo Gallery’s People Tags
In my last posting I talked about how Windows Live Photo Gallery (WLPG) stores People tags in XMP. In this post I’m going to extend the Windows Imaging Component code from Robert Wlodarczyk’s Blog to read the data. The code is pretty simple to use, just make sure you have PresentationCore registered in your project and the System.Windows.Media.Imaging namespace.    
Understanding how Windows Live Photo Gallery’s People Tags are Stored
Since writing tags have been an important part of my workflow. For as long as I can remember I have been using Microsoft’s Digital Image Pro 2006. With the release of the new version of Windows Live Photo Gallery (WLPG), I took this Christmas the time to switch over and take advantage of some of the cool new features. The most compelling new feature for me is the new people tagging capabilities.  
Copying Jpeg Metadata using C# and Windows Imaging Component
It’s a scenario I keep finding myself in, I have two copies of the same photo but I want all metadata changes from one file in the other. For example, I want update my backup with changes I’ve made to metadata but don’t want to touch the source image, or I have the original and a small version of the same file. I haven’t found any reliable way to do this, so I finally sat down and wrote my own using plenty of excellent data on Robert Wlodarczyk’s Blog and the Windows Imaging Component. First, let’s look at the metadata stored in my two files using WICExplorer :    

This website, all photography & other content is Copyright © Ben Vincent. Unauthorised use of images is strictly prohibited.
Last Updated: Thu, 15 Dec 2011, 00:30:58    |    Website Version v4.0.4138.41239    |    Content v7.002