This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


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 the 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 handle.

Use the 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',...
     'String','Push Button',...
     'Position',[.1 .1 .5 .2]);
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

More About

collapse all


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.