Получите положение компонента в пикселях
Используйте эту функцию только с GUIDE, или с приложениями, созданными с помощью figure функция.
position = getpixelposition(handle)
position = getpixelposition(handle,recursive)
position = getpixelposition(handle) получает положение, в пикселях, компонента, заданного handle. MATLAB® возвращает position как четырехэлементный вектор, который задает местоположение и размер компонента: [расстояние от левого, расстояние от нижней части, ширины, высота].
position = getpixelposition(handle,recursive) получает положение как выше. Если recursive верно, возвращенное положение относительно родительской фигуры handle.
Используйте getpixelposition функционируйте только, чтобы получить координаты для дочерних элементов фигур, созданных с figure функция, или для дочерних контейнеров фигуры (таких как панели или группы кнопок). Результаты не надежны для дочерних элементов осей или других графических объектов.
Этот пример создает кнопку в панели, и затем получает ее положение, в пикселях, относительно панели.
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
![]()
Следующий оператор получает положение кнопки, в пикселях, относительно фигуры.
pos1 = getpixelposition(h1,true)
pos1 =
78.6000 52.6000 88.0000 23.2000