Get component position in pixels
position = getpixelposition(handle)
position = getpixelposition(handle,recursive)
position = getpixelposition(handle) gets
the position, in pixels,
of the component specified by
handle. MATLAB® returns
position as a four-element vector that specifies
the location and size of the component: [distance from left, distance
from bottom, width, height].
position = getpixelposition(handle,recursive) gets
the position as above. If
recursive is true, the
returned position is relative to the parent figure of
getpixelposition function only
to obtain coordinates for children of figures and container components
(uipanels, or uibuttongroups). Results are not reliable for children
of axes or other graphics objects.
This example creates a push button within a panel, and then retrieves its position, in pixels, relative to the panel.
f = figure('Position',[300 300 300 200]); p = uipanel('Position',[.2 .2 .6 .6]); h1 = uicontrol(p,'Style','PushButton',... 'Units','Normalized',... 'String','Push Button',... 'Position',[.1 .1 .5 .2]); drawnow; pos1 = getpixelposition(h1)
pos1 = 18.6000 12.6000 88.0000 23.2000
The following statement retrieves the position of the push button, in pixels, relative to the figure.
pos1 = getpixelposition(h1,true)
pos1 = 78.6000 52.6000 88.0000 23.2000
Distances in pixels are independent of your system resolution on Windows® and Macintosh systems:
On Windows systems, a pixel is 1/96th of an inch.
On Macintosh systems, a pixel is 1/72nd of an inch.
On Linux® systems, the size of a pixel is determined by your system resolution.