Re: interactive dragrect over a raster image
- To: mathgroup at smc.vnet.net
- Subject: [mg89616] Re: [mg89609] interactive dragrect over a raster image
- From: John Fultz <jfultz at wolfram.com>
- Date: Sun, 15 Jun 2008 06:12:33 -0400 (EDT)
- Reply-to: jfultz at wolfram.com
On Sat, 14 Jun 2008 05:32:00 -0400 (EDT), rych wrote: > I would like to be able to drag a rectangle with mouse over a raster > image plot and dynamically update another plot, a histogram, for > example, for the corresponding region? Something like Slider2D on the > background of the image? Or is it better to program it using NETLink, > or something? > Igor Here's a little something I put together quickly which gives you an idea how to do this. Execute the code, then drag out some rectangles on the resulting graphic. The key here is to use LocatorPane in combination with the second argument of Dynamic. DragRectangle[Null, endPt_] := {}; DragRectangle[startPt_, endPt_] := {FaceForm[Opacity[0]], EdgeForm[Dashing[Small]], Rectangle[startPt, endPt]}; DynamicModule[{startPt = Null, endPt = {0, 0}, rectangle = {{0, 0}, {0, 0}}}, LocatorPane[Dynamic[endPt, {(startPt = endPt = #) &, (endPt = #) &, (rectangle = {startPt, endPt = #}; startPt = Null) &}], Graphics[{ Red, Dynamic[Rectangle @@ rectangle], Dynamic[DragRectangle[startPt, endPt]]}, Axes -> True, PlotRange -> {{-1, 1}, {-1, 1}}], Appearance -> None]] Sincerely, John Fultz jfultz at wolfram.com User Interface Group Wolfram Research, Inc.