Scroll Ornament Generator plugin for Paint.NET
From wikipedia, under Scroll (art): "The scroll in art is an element of ornament and graphic design featuring spirals and rolling incomplete circle motifs, some of which resemble the edge-on view of a book or document in scroll form, though many types are plant-scrolls, which loosely represent plant forms such as vines, with leaves or flowers attached. Scrollwork is a term for some forms of decoration dominated by spiralling scrolls, today used in popular language for two-dimensional decorative flourishes and arabesques of all kinds, especially those with circular or spiralling shapes."
The scroll motif is ubiquitous in the decorative traditions all over the world. Unfortunately, it's a pain to draw by hand, and the more complex of a design you want, the harder it is to plan out where and how to place the next swirl to keep it from looking stunted or artificial. I felt like the process could be improved with a bit of computation, and decided to give it a try with this plugin for Paint.NET (there's also a standalone app version to be found at https://github.com/annayudovin/ScrollPatternGen)
The plugin binary is a .DLL which needs to be placed in Paint.NET installation directory under /Effects. There's a .bat file included which should do it for you. After that, the plugin will show up in the Effects menu under Render->Scroll Ornament.
Here are some screenshots:
![demo](https://private-user-images.githubusercontent.com/104697144/275090310-c8ceffa7-cb79-4b0d-87a0-e047f8af916d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjQ2MTIsIm5iZiI6MTczOTIyNDMxMiwicGF0aCI6Ii8xMDQ2OTcxNDQvMjc1MDkwMzEwLWM4Y2VmZmE3LWNiNzktNGIwZC04N2EwLWUwNDdmOGFmOTE2ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMTUxNTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NDI3OGUxMjBkOTMxMWM5ZWQzOGQzZmNkNzQ1MDRkYmU2MDdmZGM5YjAyNzM3NzRlY2E4ZjVlMzMyMzhmNzEzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RICH0XlDLDNiMOPaRgvXn8bDMNndBYhzh1XKTdVkyTg)
![style](https://private-user-images.githubusercontent.com/104697144/275090342-3c14edc8-9c03-4506-9d15-7a60709ace75.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjQ2MTIsIm5iZiI6MTczOTIyNDMxMiwicGF0aCI6Ii8xMDQ2OTcxNDQvMjc1MDkwMzQyLTNjMTRlZGM4LTljMDMtNDUwNi05ZDE1LTdhNjA3MDlhY2U3NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMTUxNTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01YjEyZWFjOTgzNGVkYjJhY2JkNmVmYjZiNDM5YTc4ZGI4N2M5M2Y4NGRlZjRkYmMzZjFlMTI3ZTE0MGNhM2U1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.qEHUa5uCB42clgfE1F62-d5mqY4AwG5dEu5cHuouf2Q)
![style2](https://private-user-images.githubusercontent.com/104697144/275090344-267aaad1-5ead-4539-a1c8-723306a7ff3b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjQ2MTIsIm5iZiI6MTczOTIyNDMxMiwicGF0aCI6Ii8xMDQ2OTcxNDQvMjc1MDkwMzQ0LTI2N2FhYWQxLTVlYWQtNDUzOS1hMWM4LTcyMzMwNmE3ZmYzYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMTUxNTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMzU5MTVlNWNjYzJjNzU2NWEzYmZhYzAxOGI0N2MxYzA0MWFiYjk3YThkZDEwODk3ZWVlMTg2ZTRiZjBlMDYxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.iDeKWYeIQpf-zVt1k0Z9yBG1gk33W3ZzE9K55a6a33w)
![random](https://private-user-images.githubusercontent.com/104697144/275090355-d398c3b7-12f0-4afb-8c42-322af63f909b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjQ2MTIsIm5iZiI6MTczOTIyNDMxMiwicGF0aCI6Ii8xMDQ2OTcxNDQvMjc1MDkwMzU1LWQzOThjM2I3LTEyZjAtNGFmYi04YzQyLTMyMmFmNjNmOTA5Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMTUxNTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05OTMwZmVkY2ZkYTcwMzc2MjI4OTAzNmI0MWU3NWQyZGE5ZTUzMDE5MGE2ZTk3ZDQ4NjRkM2Q2OTczNDI2OWRiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.LIRPGZr1fh-wuLQrEqzgi09vQk6fu_uFbPlfWzQmxSM)
![color](https://private-user-images.githubusercontent.com/104697144/275090367-f9048f26-00f8-4798-b0b5-f326984d35e3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjQ2MTIsIm5iZiI6MTczOTIyNDMxMiwicGF0aCI6Ii8xMDQ2OTcxNDQvMjc1MDkwMzY3LWY5MDQ4ZjI2LTAwZjgtNDc5OC1iMGI1LWYzMjY5ODRkMzVlMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMTUxNTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNTExMmFiYWU2NmRjZDZjOWM3ZjY0MjlkNTk0MWZjOTk1ZjgyNjk0NWUzNWU0ODQ4YzRjYWQwM2JjZjllOTBjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.adQHWJlYNVawgTGjvDIechyBMFf-B3lQQ2_b5Q6lVxA)
![more](https://private-user-images.githubusercontent.com/104697144/275090371-8c416147-1048-4f59-8ddd-c8aa6df9f914.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMjQ2MTIsIm5iZiI6MTczOTIyNDMxMiwicGF0aCI6Ii8xMDQ2OTcxNDQvMjc1MDkwMzcxLThjNDE2MTQ3LTEwNDgtNGY1OS04ZGRkLWM4YWE2ZGY5ZjkxNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMFQyMTUxNTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mZjdlODU0YTliNTI1OWYyZjFlYTRjNGU4ZmVhY2NmN2EyYjZiZGI5ZDJkMGQ4YjQxMjM4NmM4NjBiY2FjNDkyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.uXQ0qOorMHzV6holVeJpXnIHbAJQR16dcByMw319w08)