Afficher commentaires plus anciens
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
Réponses (1)
Robert Cumming
le 4 Août 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 commentaires
Walter Roberson
le 4 Août 2011
e.g., findobj(TheAxesHandle,'type','image')
Robert Cumming
le 4 Août 2011
exactly
Patrick Kalita
le 4 Août 2011
If performance is a concern, using appdata is probably better than using findobj.
Jan
le 4 Août 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
le 4 Août 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
le 5 Août 2011
Walter Roberson
le 5 Août 2011
Already did, in the first comment. Repeating it: findobj(TheAxesHandle,'type','image')
Jason
le 5 Août 2011
Catégories
En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!