Re: Drawing on an image in Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg126372] Re: Drawing on an image in Mathematica*From*: JUN <noeckel at gmail.com>*Date*: Fri, 4 May 2012 06:26:58 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jnven4$8ee$1@smc.vnet.net>

On Thursday, May 3, 2012 7:25:40 PM UTC-7, Julian Francis wrote: > Dear all, > > I have a binary image in which I'd like to use the mouse to draw > (freehand) on top of the image, and use this in Mathematica. > > Presently, I can import the image into a painting program, use its > sketching facilities, then cut and paste into Mathematica. I can > extract the matrix if I wish by using ImageData. > > Is there a way of drawing on the image directly in Mathematica to save > me cutting and pasting between programs? > > I've worked out how to create a graphic and draw into it using the > Mathematica graphics drwaing tools, but my problem is either the > graphic is far too large, or if I shrink it down > (I want to work on matrices 16x16), the resulting picture is far too > small. I want to draw into a matrix 16x16, but it be large enough for > me to see easily. > > Thanks, > Julian. The image has to be put into a Graphics box, and you can do that using the Inset command: im = RandomImage[1, {16, 16}]; Graphics[Inset[im, Automatic, Automatic, Scaled[1]]] Here I've just used a random image and scaled it to fill the default Graphics width. Now you can double-click on the graphic and press Control-t to get the drawing tools, and they should work as you want. I think what you want to do after you're done editing is to convert the result back to an image. To do that, you could type: Rasterize[ , "Image", ImageSize -> 16] and copy the edited graphic from the previous cell back into the empty space I left in the Rasterize command. The result is again an image of the original dimensions. Jens