Перетащите прямоугольники с мышью
[finalrect] = dragrect(initialrect)
[finalrect] = dragrect(initialrect,stepsize)
[finalrect] = dragrect(initialrect)
дорожки один или несколько прямоугольников где угодно на экране. N-4 матричный initialrect
задает прямоугольники. Каждая строка initialrect
должна содержать начальную прямоугольную позицию как [значения left bottom width height]
. dragrect
возвращает конечное положение прямоугольников в finalrect
.
[finalrect] = dragrect(initialrect,stepsize)
перемещает прямоугольники в шаг stepsize
. Левый нижний угол первого прямоугольника ограничивается к сетке размера, равного stepsize
, запускающемуся в левом нижнем углу фигуры, и все другие прямоугольники поддерживают свое исходное смещение от первого прямоугольника.
[finalrect] = dragrect(...)
возвращает конечные положения прямоугольников, когда кнопка мыши отпускается. Размером шага по умолчанию является 1
.
Перетащите прямоугольник с размерностями 50 100 пикселей.
waitforbuttonpress point1 = get(gcf,'CurrentPoint') % button down detected rect = [point1(1,1) point1(1,2) 50 100] [r2] = dragrect(rect)
dragrect
сразу возвращается, если кнопка мыши в настоящее время не нажимается. Используйте dragrect
в ButtonDownFcn
, или из командной строки в сочетании с waitforbuttonpress
, чтобы гарантировать, что кнопка мыши снижается, когда dragrect
называется. dragrect
возвращается, когда вы отпускаете кнопку мыши.
Если концы перетаскивания по окну рисунка, положения прямоугольников возвращены в системе координат той фигуры. Если концы перетаскивания по части экрана не содержали в рамках окна рисунка, прямоугольники возвращены в системе координат фигуры, по которой началось перетаскивание.
Вы не можете использовать нормированные модули фигуры с dragrect
.