I'm working on a mod to get item images now.
For now I have it setup like this, the mod will read a file called "map.txt", which will be a CSV file in the format of:
"id,metadatalow,metadatahigh,name"
id = ID of an item/block
metadatalow = if this item/block has damage values, the minum is here (usually 0)
metadatahigh = same as metalow, but this is the max damage value
name = If this is provided, the mod will use this name for the item/block, if it's not provided the mod will attempt to get the item name itself.
The mod will then take an image of all the items/blocks specified in map.txt, and output all the images + a file ("result.txt", CSV) that will hold the ID, metadata, and name of each item/block.
The point of results.txt is so you can easily import a list of blocks/items and their respective names into a database (ex MYSQL).