Looking for C/C== ideas/concepts to design home system to sort images ( jpeg/bmp/png's by Friend, User, Date, Purpose, Location,& 2-3 others. -Catch being that I need to also see a large 1"x1" icon of the image as well. (*)
Image Expert Systems are too confining ie can't sort DB so well.
- Sort of like MS Excel with cells containing image-icons and ability to sort on each column,
btw Excel makes/holds a copy of the image, & with 000's, it's quickly becomes over-tasked.
Dbl-Linked list, sure, but how to drag the images along for the ride?
Web TAGs won't work at this point due to the shear volume.
Can code, but I need a good design concept / idea.
Anyone have any thoughts?
(*) Any size is OK,- - like MS windows "Extra Large Icon" size.
{
image * img; //pointer to the image binary file data
date_t date;
string purpose;
... etc all your sortable data
}
then dump the thing into a vector and have the vector sort it off the chosen criteria.
Overload the comparison operators, and have some sort of flag in the object to say which criteria is currently being used. The overloaded operator does the appropriate comparison via the flag. When your setter function sets the flag, you re-sort.
Because the pointers hide the image, sorting this small object should be millions sorted in a second or two. Now, displaying them... that might take a while.
Making the icons... there are a number of very efficient algorithms to resize images. Don't use the high precision ones to make an icon, use the FAST ones. Its going to be blurred and damaged to death anyway, no need to spend all day with a bicubic algorithm to make a blurry icon.
Do you want to sort the images that way, or just be able to look them up by friend/user/date etc?
I use an off the shelf program called ThumbsPlus for my pictures. It stores a thumbnail in a database and lets you add keywords etc. Then you can search by keyword. I store the images in a directory tree that is basically decade/year/PlaceOrEvent/. Between the tree structure and the keywords I can find any image within about 30 seconds.