Re: Cursor position on images
- To: mathgroup at smc.vnet.net
- Subject: [mg129303] Re: Cursor position on images
- From: spamslayer19 at gmail.com
- Date: Sun, 30 Dec 2012 20:49:49 -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> <kboc68$3gq$1@smc.vnet.net>
And of course define ptsList = {}; before anything else. I left out the most important part! On Saturday, December 29, 2012 9:24:56 PM UTC-6, spamsl... at gmail.com wrote: > 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. :)