I'd create a subdirectory called "Thumbs" and store the thumb image in that under exactly the same name as the full image.
Then I use this code:
public static Image GetThumbnailImage(string path, int width, int height)
{
using (Image image = Image.FromFile(path))
{
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
return image.GetThumbnailImage(width, height, myCallback, IntPtr.Zero);
}
}
private static bool ThumbnailCallback()
{
return false;
}
All you need then is to call Image.Save to save the thumbnail.