Re: Drawing on an image in Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg126385] Re: Drawing on an image in Mathematica*From*: Julian Francis <julian.w.francis at gmail.com>*Date*: Sun, 6 May 2012 03:23:11 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jnven4$8ee$1@smc.vnet.net> <jo0avr$cb2$1@smc.vnet.net>

Hi Jens, Thanks very much for your reply. I think what you've suggested is pretty close to what I am looking for. The only thing is that when you use the drawing tool, it draws a thin line across the (what is effectively a matrix) picture. It would be better if it actually filled in the whole pixels. I realise I'm not explaining myself very well! You know how if you zoom in using a paint program to a portion of a picture and then draw on it. You don't get a thin drawing line, because the picture doesn't have that resolution at that scale. Instead the program alters the pixels behind the picture which looks like blocks. I'll try another way of explaining it. Supposing you have a matrix of 16x16 of (black n white). You have it magnified on screen say to physically take up 256x256 pixels so that you can see it properly. So each element of the matrix takes up a physical block on screen of 16x16 pixels. If you click on the mouse to draw on the matrix, a whole screen 16x16 block should change, which corresponds to 1x1 in the matrix. I hope that makes sense! It's one of those things that much easier to demo than explain! Thanks, Julian. On May 4, 11:28 am, JUN <noec... at gmail.com> wrote: > 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 th= e 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 Grap= hics 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 r= esult 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 sp= ace I left in the Rasterize command. The result is again an image of the or= iginal dimensions. > > Jens