tannerhelland / PhotoDemon

A free portable photo editor focused on pro-grade features, high performance, and maximum usability.
https://photodemon.org
Other
1.4k stars 202 forks source link

enhancement : multiple selections #310

Open mizka76 opened 4 years ago

mizka76 commented 4 years ago

Hello,

First, big WAOUUUHH ! your program , all the enhancements you make these last months are amazing . I am very estonished that it was possible to realize - as you did - such a software with all these possibilities in a so small size !

thanks

jpbro commented 4 years ago

Just wanted to +1 the "WAOUUUHH" and the request for adding to/subtracting from selections (esp. the Lasso). I've used this extensively in PhotoShop years ago, and I've missed it from time to time in PhotoDemon.

tannerhelland commented 4 years ago

Thank you for the kind words, @mizka76 and @jpbro . Sometimes it feels like PhotoDemon development happens in slow-motion, so it makes me happy to hear that people have noticed improvements despite my limited development time this year!

Short answer: multiple selections are high on my to-do list after 8.0 releases. This feature requires me to completely rewrite all selection tool code (sigh), but I have been planning this for some time and I have a detailed plan of attack for the project.

Long answer: selection tools were the first on-canvas tools I added to PhotoDemon. They were available long before features like layers or paint tools, and they were built on some very bad architectural assumptions that make them complicated to modify without breaking the program completely.

Over the years, I have retrofitted selection tools to support things like layers, and as a result the selection tool codebase has only gotten uglier. (Its current state is the source of many headaches!) Selection tools need to be completely rewritten with multiple simultaneous selection objects in mind, and once that's done, a bunch of nice features (like multiple selections) will finally be possible.

In particular, I plan to build the new selection tools atop a generic "shape" engine which will make it trivial to support selections of many different varieties, much more than are currently offered. This same "shape" engine will also underlie a dedicated Shape Tool, so I plan on building the two items in parallel (as much as possible). This relationship has led me to postpone this project multiple times, as it is very large in scope and I really want to get shape tools right the first time, instead of rewriting them over and over again as I've done with many of PhotoDemon's other tools.

That's the current plan. I consider this a "must-have" item for PhotoDemon 9.0

Thank you for preparing this Issue on GitHub as I will use it to document progress when work is underway. I too use multiple selections constantly in other software, so it bothers me greatly that PhotoDemon doesn't offer the same. Hopefully we can rectify this in the coming months/years/decades. 😜

xcme commented 4 years ago

Could I and some little suggestion? It would be great if it had a possibility to add 'waypoints' on the selection we already made. For example, if we finished the selection and it has 7 points on the path, then we can add another point on the path to make it more accurate.

tannerhelland commented 2 years ago

This feature is now available in nightly builds. Thank you to @mizka76 for suggesting this feature several years ago. It has taken me roughly that long to get everything working, but I hope it was worth the wait! 😄

@xcme Thank you for this suggestion. I apologize that I did not reply sooner. I will study the issue and see if it is feasible to "add" new points to an existing selection.