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. :)