Photo Mandala

PhotoMandala is a piece of software I wrote, which does just one thing, generates simple ‘mandala’ type patterns from a portion of a digital image. You load an image in to the top screen, select a portion with your mouse, and the mandala is displayed in the bottom screen. You can flip, rotate, resize, and move the selection to get the exact pattern you want. And then you save the image. Done.

Windows           Mac

New to 1.6

  • Optimized Mandala generation
  • Updated Undo to support a full undo history
  • Added support for Redo
  • Cleaned up the look of the Move/Resize anchors
  • Horizontal/Vertical split option now saved in app settings
  • Added ‘Verify Exit’ dialog if you have not saved your Mandala
  • Added a basic Help Dialog to list the keyboard shortcuts
  • Added new Nudge Tools
    • Arrow keys : Move Selection 1 pixel (Alt-Arrow moves 10 pixels)
    • Ctrl-Arrow keys : Increase size of selection by 1 pixel (Alt-Ctrl-Arrow increases 10 pixels)
    • Shift-Ctrl-Arrow keys : Decrease size of selection by 1 pixel (Alt-Shift-Ctrl-Arrow decreases 10 pixels)
  • Added new keyboard shortcuts
    • Ctrl-A : Select All
    • Ctrl-N : Select None
    • Ctrl-Y : Redo

New to v1.5.1

  • Mandala generation highly optimized
  • Ability to ’tile’ the mandala (see image below with a 2 x 2 tile setting)
  • Undo new selection, or selection edit
  • Recently opened file list
  • Bug Fixes
    • Undo key
    • Mandala redraw
    • Crash on large Mandala’s



Demo Video

For many years I’ve been doing this manually with image manipulation programs, such as Photoshop and Gimp. I would copy/paste and flip horizontally/vertically, to produce an image like the following (note I also did color adjustment in Gimp):
about_bgBelow is the source image from the 2015 Stanford Pow Wow, from which I grabbed a section between the two feather head dresses. I chose the area due to the curves and colors. with some orange feathers, black feathers, and the greenery from the background. I experimented with the selection, to produce the circle of blue in the center.


I’m sure there are stand alone tools that do this, and plugins for programs like Photoshop and GIMP. But, sometimes I just want to write a new piece of software to ‘have done it’. To gain experience in the problem space, as well as verify my perception of my skill set. In this case, it was an exercise in how quickly I could turn out a simple tool like this, based on the software toolkit I use called JUCE. This is an amazing toolkit, which provides cross-platform C++ classes for all major subsystems (including abstracting audio plugins which can produce VST, VST3, AU, AAX, formats).

Over the course of three evenings, I produced the first version of PhotoMandala on Windows, supporting what I consider the basic feature set to be of use. To be ‘professional’, I used GIT, to locally track my changes. Which I then pushed up to a remote repository hosted on Bitbucket, and pulled the code down from there onto a Macbook Pro. Using a tool provided with JUCE, I generated an XCode project, loaded it up, and a few minutes later I was running PhotoMandala on a Mac! Ta da! I love this toolkit.

To Do:

  • Write more about my development process
*** Icons made by Freepik from is licensed by CC BY 3.0 ***


yoga 1 dragfishflying yoga