It’s been awhile since I posted any news on PhotoDemon, but not because work has slowed – just the opposite, in fact! The development version of PD is cranking ahead full-steam, and thanks to a number of outside contributors, the next version will include a wider set of improvements than any previous version. There’s still quite a bit of testing and fine-tuning to do, so this article does not include a downloadable beta release – rather, the article is meant to serve as a preview of the upcoming 6.0 release and all the cool new features it provides. (Of course, developers or anyone with access to Visual Basic 6.0 can compile the latest version themselves by visiting PhotoDemon’s GitHub page. New testers and contributors are always welcome!)
First, an explanation on why the next PhotoDemon release will be version 6.0 instead of the expected 5.6. The next release will break backward compatibility with a number of PhotoDemon files, including any saved macros or filters. This break is necessary to implement a large overhaul of PhotoDemon’s internals – an overhaul that makes the program faster, smaller, more stable, and much easier to develop and maintain. The goal is to have all of PhotoDemon’s specialized file formats (including macros) use XML for storage. This allows both users and other software developers to read and edit PhotoDemon files from any general-purpose text editor. This change will also make it much easier to add new macro features without breaking old macro files. (The current macro format was developed over a decade ago, when the program was only meant for personal use, and it is extremely flimsy and difficult to extend – hence the need for a redesign.)
The downside of this change is that any current macros will need to be re-recorded in version 6.0, as version 4.X and 5.X macros will no longer be supported. I apologize for this inconvenience, and I promise to do my best to avoid breaking backward compatibility in the future.
The 6.0 release will also include important interface changes – such as a redesigned main menu and tool window – further supporting the switch to a new major version number, and for developers, the program’s central action processor has been redesigned from the ground up, making it easier than ever to get involved in development.
So with that out of the way, let’s talk about the good stuff, namely: what’s coming in 6.0? Here is a list of features and updates that are already finished and available in the current development build (again, downloadable at https://github.com/tannerhelland/PhotoDemon).
Italian language support
Courtesy of talented contributor GioRock is a new Italian language option for PhotoDemon. Many thanks to GioRock for this huge contribution.
Other internationalization improvements
With the help of GioRock and Frank Donckers (you may remember Frank as the brilliant developer behind PhotoDemon’s language translation engine), a number of other improvements are now available for international PhotoDemon users:
- The comma “,” is now supported as a decimal separator in all tools. Previously, use of a comma could lead to critical errors.
- Translated text is now automatically resized if it is larger than its tool window. This helps text in verbose languages remain fully readable.
- Translations that span multiple lines (such as long tooltips) are now automatically handled by the program. This reduces the burden on translators to manually fit translated text longer than its English equivalent.
New feature: advanced selection tools
PhotoDemon 6.0 includes a completely redesigned selection tool engine. At present, the following dedicated selection tools are available:
- Rectangular and Square selections (with optional rounded corners, including variable corner radii)
- Elliptical and Circular selections
- Line selections: unique to PhotoDemon, this tool allows you to select a line-shaped area, very helpful for things like tilt-shift effects (see below)
Each selection tool supports the following features:
- Live selection coordinate and size display
- On-canvas resizing by click-dragging nodes
- Selections can be nudged or moved via text entry
- Shift can be held to lock a 1:1 aspect ratio (e.g. squares or circles)
- Live smoothing options: none, antialiased, or variable radius feathering (live feathering is only available on Windows 7)
- Live selection types: interior, exterior, or bordered, with live border radius selection
In addition to these dedicated tools, a new Selection menu is available with additional selection-related features.
- Select All and Select None
- Invert Selection (switch selected and un-selected pixels, with full feathering support!)
- Grow/Shrink Selection
- Border selection, which takes the current selection and selects only its border
- Feather and sharpen selection
- Load and save selections
Thanks to the selection engine redesign, these features will automatically work with future selection tool implementations, including polygon/free-draw and “magic wand” selections.
Another huge improvement is integrating all selection actions into the Undo/Redo engine. If you create, move, resize, or apply any other action to a selection, you can now Undo/Redo that operation.
Selections are now fully integrated into the Record Macro tool.
Copy and Crop now support selections of any shape, making it trivial to crop circular or rounded-rectangle regions, or copy them for use in another program. (Feathered selections are automatically converted to 32bpp images, with the feathering applied in the alpha channel.)
Finally, the core Selection tools have been rewritten to use vector coordinates. This means that selections loaded from file are automatically resized to fit the current image, making them extremely useful for Batch Processing operations.
New image metadata (EXIF, XMP, IPTC) support
PhotoDemon now includes the marvelous ExifTool project as an optional plugin. ExifTool is the most comprehensive image metadata handler currently available, and PhotoDemon makes full use of its ability to handle every known type of image metadata, from the popular EXIF format (used in JPEGs) to obscure maker notes for all major DSLR brands.
A new integrated metadata browser automatically sorts metadata by category, and it allows the user to see actual or human-friendly metadata tags. The browser fully integrates with ExifTool’s multilanguage capabilities, sparing translators from any extra work!
When saving images, the Preferences manager now provides options for metadata embedding:
Unique to PhotoDemon is a privacy-centric metadata option, which aims to remove any personally identifying metadata entries, like serial numbers or GPS coordinates. By default, the “preserve all relevant metadata” option is recommended, which will remove any metadata not relevant to a file format (such as removing maker notes when saving RAW files to JPEG), but retain all other metadata entries. Metadata can also be fully stripped from exported files.
Also fun is a new Image -> Metadata -> Map GPS Coordinates option, which becomes available if an image contains GPS data. This option will automatically map the photo’s location in Google Maps.
New tools: too many to mention!
As always, the next release will include a host of new image editing tools. Here’s a small sampling of the latest additions to PhotoDemon’s repertoire:
For sake of brevity, I’ll forgo images of the rest of the new tools, namely:
- Max/min channel
- Pan and zoom
- Vibrance (developed by audioglider)
Other improvements and additions for end-users
- Transparent images can now be copied/pasted between PhotoDemon and other software. This means you can take an image with multiple layers in GIMP and paste it into PhotoDemon fully composited.
- Official RAW image format support; more than 20 RAW filetypes are now supported.
- 30-40% speed improvements to Gaussian Blur, Smart Blur, and Unsharp Masking thanks to an Integer-only rewrite of the blur engine.
- Filters and other long-running actions can now be canceled mid-action by pressing ESC.
- Revamped main window interface, as you can see in the screens above. The left-hand toolbar is now images-only, while the right-hand one has been expanded.
- Better validation for all text controls. Invalid entries are automatically circled in red.
- Alt+T will now let you switch between preview and non-preview modes in all tools.
- Many miscellaneous bug fixes, optimizations, and other improvements. For a full list, see the commit log at https://github.com/tannerhelland/PhotoDemon/commits/master
Improvements and additions for developers and contributors
- PhotoDemon can now provide timing reports for all actions passed through the central software processor. Simply enable the DISPLAY_TIMINGS constant when compiling.
- New custom slider/text and up/down controls make it easy to utilize PD’s existing validation and translation abilities in your own tool dialogs.
- A new string-based filter parameter class makes it easy to tie complex tools with many parameters into the software processor (and thus into recorded macros). No longer do you have to convert param lists to complex custom Variant embeddings.
- PhotoDemon now includes a high-performance font rendering class, which makes custom font rendering (with AA) much easier to implement.
- Dev builds, including build number, are now automatically detected by the program, making it easy to see which build you’re currently working with.
- Support tools, including the custom plugin compressor and master translation file generator, are now synched to GitHub in the /Support subfolder.
- A public histogram-generation routine is now available, so you can tap into PhotoDemon’s highly optimized histogram generator for any of your own tools.
Contributors, developers, and translators still welcome!
As always, PhotoDemon can never have enough external contributors, developers, and translators. If you can help with any aspect of the 6.0 release, don’t hesitate to get in touch. Many features in the 6.0 release wouldn’t be possible without outside help, and I’d love to add you to the ever-growing list of talented contributors that make PhotoDemon possible!
If you can’t contribute with coding or translations, donations are another great way to help. Thanks in advance for your small monetary contribution to this completely open-source project, which provides a full-featured photo editor (comprising 60,000 lines of code and more than 50,000 words of translated text in five languages) completely free of charge.