フィルターのクリア

How can I draw interactively a polygon on axes in App designer ?

12 ビュー (過去 30 日間)
Anatole Jimenez
Anatole Jimenez 2019 年 3 月 22 日
Hello,
I am making an app on App designer and I need to be able to draw interactively a polygon on an image display on an axes.
I already tried imploy, roipoly and drawpolygon functions with 'app.UIAxes' as 'ax' parameter but none of them seem to be accepted by App designer.
Can someone help me ?
Thanks,
Anatole Jimenez
  3 件のコメント
Anatole Jimenez
Anatole Jimenez 2019 年 3 月 22 日
Here is the error for the following instruction :
function mask = drawplaque(app)
h2 = impoly(app.UIAxes);
mask = h2.createMask;
end
The error (quite long) :
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Error using matlab.ui.control.UIAxes/get
There is no CurrentPoint property on the UIAxes class.
Error in getCurrentPoint (line 10)
p = get(h,'CurrentPoint');
Error in impoly>impolyAPI/animateLine (line 577)
[x_init,y_init] = getCurrentPoint(h_axes);
Error in iptaddcallback/callbackProcessor (line 149)
fun(varargin{:});
Error using matlab.ui.internal.controller.FigureController/handleEvent (line 300)
Error while evaluating Figure WindowButtonMotionFcn.
Anatole Jimenez
Anatole Jimenez 2019 年 3 月 22 日
For this draw polygon :
function mask = drawplaque(app)
h2 = drawpolygon(app.UIAxes);
end
This error :
Error using images.roi.internal.ROI/parseInputs
ROI parent must be a valid Axes object.
Error in images.roi.Polygon
Error in drawpolygon (line 155)
h = images.roi.Polygon(varargin{:});
Error in app2/drawplaque (line 84)
h2 = drawpolygon(app.UIAxes);
Error in app2/DrawnewplaqueButtonPushed (line 151)
mask = drawplaque(app);
Error using matlab.ui.control.internal.controller.ComponentController/executeUserCallback (line 335)
Error while evaluating Button PrivateButtonPushedFcn.

サインインしてコメントする。

回答 (2 件)

Harshita Gupta
Harshita Gupta 2019 年 3 月 28 日
Hello,
If you are using version R2018b or earlier then try mapping the current point of a UIFigure to the UIAxes.Should probably help.
  1 件のコメント
Anatole Jimenez
Anatole Jimenez 2019 年 3 月 28 日
Thank you for the answer Harshita Gupta.
I didn't quite understand, can you give an example for a UIFigure, 'fig1' and a UIAxes 'ax1' ?

サインインしてコメントする。


Pietro Prestininzi
Pietro Prestininzi 2020 年 2 月 7 日
Having the same problem here, version 2019b.
News on the topic?
  2 件のコメント
Anatole Jimenez
Anatole Jimenez 2020 年 2 月 7 日
Hello Pietro,
Unfortunately I didn't find any solution at that time so I used an alternative.
I just open a new figure window when calling for a draw and repeat my figure on it.Then I use the function drawpolygon as it works on non-GUI figure.
Pietro Prestininzi
Pietro Prestininzi 2020 年 2 月 7 日
thanks!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDevelop uifigure-Based Apps についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by