[RESOLVED] OSS for mirrored edging on canvas wrap prints ?


My printing is done through GIMP and TurboPrint. Terrific combination. Lately, I’ve been doing more canvas prints, and find that manually setting up the mirrored edges (for the wrap) is very timeconsuming. Any other software suggestions ? I’ve posted in GIMP forums, but wondering if there are alternatives for creating mirrored edges.

Thanks for any shared experience !

(Mica) #2

This seems like something in G’MIC’s wheelhouse, but I don’t think it currently has that feature. Perhaps @David_Tschumperle, @afre, or @garagecoder can shed some more light or even code up something quick!

It might also help if you explained what you need in slightly greater detail.

(Alan Gibson) #3

With ImageMagick, we can add a mirrored border 25 pixels wide like this:

magick toes.png -virtual-pixel Mirror -set option:distort:viewport %[fx:w+50]x%[fx:h+50]-25-25 -distort SRT 0 +repage out.jpg


G’MIC’s inclusion of mirrored edges would be powerful.

So, when printing most prints, the image is on a media that is mounted flat. Canvas media is mounted by stretching over a frame. That means that some of the image rolls over the edge of the frame. Lots of times, it’s not a big deal to lose an 1" around the image.

However, many images don’t have the luxury to roll off 1" off the image sides. So for that circumstance, an artificial 1" edging is added, and mirroring the edge is a psychological trick to the eye (it doesn’t look too odd, because it happens at the edge). It would also be possible to extend an 1" black border – but the alignment for stretching and mounting on a frame is tricky.

So that’s why mirrored edges are very common on canvas prints.


And… ImageMagick has real potential, ImageMagick is appropriately eponymous.

But… while it’s installed on my Ubuntu, there is no “magick” command, or ImageMagick or imageMagick.

“display” doesn’t offer the same mirror syntax, and neither does “convert.”

Can you identify the appropriate shell syntax ?



In gmic it’s:

gmic image.png crop -10%,-10%,110%,110%,3

(Bill Ferguson) #7

convert worked for me (Ubuntu 16.04, ImageMagick


Thank you. Yes, convert does run. Great. I had done a site scan for mirror (mirror site:imagemagick.org) and didn’t find it.

So, I tried it but I can’t see any difference when I ran it against a test image. I did find

the documentation and I’m just not familiar enough with the values and settings to follow it.

So, here’s an example image which prints 12x9 at 300 PPI. Any idea what the syntax would be, if a 1" mirrored edge was added ? (Making the final image 14x11")


Just change the geometry here:

-set option:distort:viewport %[fx:w+50]x%[fx:h+50]-25-25

So, the 50s would be 600 and the 25s 300 like so:

-set option:distort:viewport %[fx:w+600]x%[fx:h+600]-300-300

I.e., 1" = 300px.

Same with G’MIC:

crop -10%,-10%,110%,110%,3

would become

crop -300,-300,{w+299},{h+299},3

Note the 299s. It is because the coordinates begin at (0,0).


That would make a good first pixls.us quick tip for the new quick tip library on the main site which I just invented :wink:.

(G'MIC staff) #11

I’m preparing a filter for the G’MIC plug-in, should be available in a few minutes.

(G'MIC staff) #12

So, here is my attempt.
I’ve added a new filter Frames / Frame [mirror] that may be of little help.

Available after a filter refresh.
Let me know what you think about it.

**EDIT : ** Just added new options to be able to shrink/dilate image data for each sub-frame.


This is very powerful. I have to wait a few days before I can get time on it, but this is beyond what I had hoped for, and is tremendously useful. I’ll post the results, here, and I think in DPReview.com (GIMP 2.10.x is a game changer – especially with G’MIC).

(Tobias) #14

I would suggest to use one of the inpainting methods from gmic instead of mirroring. I think that will give you better results for your printings.


I suggest that you add an option to smooth the edge transition if it is too abrupt. Maybe dilate / shrinking already does that to a certain extent…


Similar suggested on another forum. but using resynthesizer + heal-transparency.py plugins

before https://i.imgur.com/gdLsM0O.jpg

after https://i.imgur.com/knGyTQE.jpg very-very slow.

That new gmic filter is fast.


Mind. Blown. Last night I refreshed the G’MIC filters and ran the mirror frame on a test image. It worked perfectly. While I appreciate the efforts to run ImageMagick or G’MIC in a prompt, having a GIMP/G’MIC integrated solution is a solution that is easily adopted by anyone. This is going to be fun to promote.

Very appreciated.

(Thomas) #18

@rich2005 Here an example with G’MIC impaint multiscale (default, 8 scales). With the exception of part of the upper right edge, I like the result very much. The result strongly depends on the image, but I think it’s always worth a try :slight_smile: .


So, all the comments have been quite helpful and encouraging. Thank you. And, I agree that there will be times that inpainting is the best choice (and I am always amazed by inpainting), it’s specifically a mirrored edge that is needed for an edge wrap. The mirroring is an aesthetic that both highlights the edge of the wrap, and provides continuity.

On the other hand, it may be that in a few years everyone will say that mirrored edges are so mundane (remember when selective color was all the rage for B/W images and one part was in color).


Just wanted to repeat my appreciation for the mirror addition to G’MIC. The customer was very satisfied with the final product that I printed and mounted.