October 23, 2020

Image Organizer

 I have created a nice application using Delphi and I provide full source code on GitHub at https://github.com/fpiette/OvbImgOrganizer

OvbImgOrganizer is an application written with Delphi that maintain an index of your images, allow searching with the tags you associate with each image. It also provides a display feature much like Win7 image preview.

I used the following features/components:

- The index is stored in a SQLite database using FireDAC

- The tree is in a VirtualStringTree.

- Image drawing/resizing/rotating/Flipping are done using Direct2D canvas.

- Drag&Drop  is based on this http://stackoverflow.com/questions/4354071

- Translation to other languages using DxGetText.

 Main screen:


 Photo viewer screen:


To start with the application, run the executable. The first time it will ask where to put the data file used for image index.

Then drag images from Windows Explorer and drop them into the main part of the application. Instead of Drag&Drop you can use Menu / Collection / Add images to collection. A dialog opens and you can select one or more files. 

Images are not moved nor copied to the index. Their paths are recorded in the index. If you delete an image, it won't display anymore. The application itself never delete any image. You can remove the index entry but not the image file.

You can create tags by right clicking on the "Available tags" tree on the right. The popup menu has entries to create a full tree of tags. A tag should start with a letter and can contains alphanumeric characters but no space. A tag must be unique in the tree.

You can select images by checking the checkbox under each image. Then you can add tags to all selected images by double clicking on the tag you want in the "Available tags".

You can search for tags by entering one or more tags in the edit box in the upper left corner. When you click on "Search" button, it will search the index for images having all the specified tags (Implicit "and").

When there are to much images to fit the screen, you can click "Load more" button to load more images according to the search criteria.

Usual keyboard shortcuts are active. For example Ctrl+A select all images loaded. Arrows and PgUp/PgDn, Home/End will work as expected.

There are right-click popup menu for almost everything. Try !

To show the files, select (with the checkbox below each image or Ctrl+A to select all) and then click the slide show button on the top-right of the window. An image viewer is shown with the first image. You can then use the arrows or the buttons to navigate thru all selected. The square button make the window full screen and black out the second screen if any to show the images full screen. There are also buttons to flip and rotate the image displayed.


1 comment:

lisasystems said...

This is great open source Delphi code