Axes handles
Show older comments
Is it possible to access an image that has been assigned to an axes handle on a GUI. I usually use read an image and preassign it using setappdata and then retrieve it using getappdata later. It occured to me that the handles structure must be holding the image somewhere so can I just access this instead?
an example being if I want to rotate an image after it has loaded into the axes component
Thanks Jason
Answers (1)
Robert Cumming
on 4 Aug 2011
0 votes
The image will be a child of the axes, so you can get it through the children field of the axes handle.
8 Comments
Walter Roberson
on 4 Aug 2011
e.g., findobj(TheAxesHandle,'type','image')
Robert Cumming
on 4 Aug 2011
exactly
Patrick Kalita
on 4 Aug 2011
If performance is a concern, using appdata is probably better than using findobj.
Jan
on 4 Aug 2011
@Patrick: FINDOBJ can be very slow, if a large number of handles and their children is searched. If you search just a single child of an axes with known handle, FINDOBJ is as fast as getting the application data for the figure handle.
Walter Roberson
on 4 Aug 2011
findobj() has the advantage of not relying upon the image being a _direct_ child of the axes -- e.g., it might be a child of a hgtransform .
Jason
on 5 Aug 2011
Walter Roberson
on 5 Aug 2011
Already did, in the first comment. Repeating it: findobj(TheAxesHandle,'type','image')
Jason
on 5 Aug 2011
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!