Photo Manager Version 0.9.1.1 Released

Photo Manager Version 0.9.1.1 Released – Translucency

Photo Manager version 0.9.1.1 is up for download! The most notable change is the addition of the \”Fix Dates\” feature in the Advanced interface. Allow me to explain its purpose…

If the date setting on a digital camera is incorrect, all the pictures it takes will have an inaccurate timestamp. There’s no way to tell (electronically speaking) that the picture was not in fact taken on that incorrect date. The only way to know would be because you took the picture and you remember when it was. But after a handful of years, will you still remember?

That’s where this feature comes in. You point it at a folder, and it loads all pictures into a spreadsheet-type window. On the left, you see the file name, the camera that took the picture (extracted from metadata), and when it was supposedly taken. If the date’s wrong, you can select the actual date from a calendar, and it will fix the date for you in the metadata. It will also prompt you if you want to fix other pictures automatically that were taken by the same camera. It won’t use the exact date you picked, but instead compute the number of days that the camera’s date is off by and apply that difference to all the pictures.

The code I used to write the metadata was a bit tricky, and it was difficult to find good references online, so I’ll share a snippet here. I think I’ll do a full discussion on this in another post.

 

var SourcePath = ThisRow.Cells[\"FullPath\"].Value.ToString();
System.Drawing.Imaging.PropertyItem DateTaken = null;

TimeSpan DateDifference = dateFixDates.Value - DateTime.Parse(ThisRow.Cells[\"DateTaken\"].Value.ToString());
Image ImageObj = Image.FromFile(SourcePath);

try
{
    DateTaken = ImageObj.GetPropertyItem(36867);
    DateTaken.Value = Encoding.Default.GetBytes(dateFixDates.Value.ToString(\"yyyy:MMd HH:mm:ss\"));
}
catch
{
    DateTaken = ImageObj.PropertyItems[0];
    DateTaken.Id = 36867;
    DateTaken.Value = Encoding.Default.GetBytes(dateFixDates.Value.ToString(\"yyyy:MMd HH:mm:ss\"));

}

ImageObj.SetPropertyItem(DateTaken);

ImageObj.Save(SourcePath + \".fixed\");

ImageObj.Dispose();

ImageObj = null;

File.Delete(SourcePath);

File.Move(SourcePath + \".fixed\", SourcePath);

ThisRow.Cells[\"FixedDate\"].Value = dateFixDates.Value;

Photo Manager Version 0.9.1.1 Released – Translucency

IFFY (I’ll Find Files for You) and Translucent PE are finished and will be up for download soon. I’ll explain those later.

Also, I’m using this new blogging system called Chyrp, which I’m really loving. Feel free to register or leave comments!

 

 

Add comment

Loading