Re: Cursor position on images
- To: mathgroup at smc.vnet.net
- Subject: [mg129299] Re: Cursor position on images
- From: spamslayer19 at gmail.com
- Date: Sat, 29 Dec 2012 22:25:42 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <kbnijt$1bh$1@smc.vnet.net>
On Saturday, December 29, 2012 2:08:29 PM UTC-6, King, Peter R wrote: > I am sure this is straightforward but I cannot quite see how to do this. I have an image (jpg file, but could be any format if that matters). I want to be able to left click on the image and mark the point with a dot of some sort and collect the coordinates of the point (the coordinate system is fairly arbitrary). I then want to be able to repeat this as many times as required and end up with a list of the coordinates of the points clicked on for further manipulation. Clickpane should do the trick but I can't work out how. > > > > Any suggestions, thanks. > > > > Peter Try this: image = ExampleData[{"TestImage", "Girl3"}]; ptColor = Yellow; ptSize = Large; Panel@Grid[ { { Dynamic@ClickPane[ Show[ { image, Graphics[{PointSize[ptSize], ptColor, Point[ptsList]}] } ], AppendTo[ptsList, #] &], SpanFromLeft }, { PopupWindow[Button["View Points", ImageSize -> 100], Dynamic@ptsList], SpanFromLeft }, { Button["Reset", ptsList = {}, ImageSize -> 100], SpanFromLeft } }, Alignment -> {Right, Baseline} ] If you don't like the popup window, you can just evaluate Dynamic@ptsList in a separate cell. I'm sure someone has a more elegant solution, but this works. :)