Use ButtonDownFcn on an image
이전 댓글 표시
I have a (pixelated) image that has been created from an array of data using the function imagesc(). I would like to click on a pixel and be able to a)obtain the coordinates of the pixel in the figure window, and b)pass these values to a piece of code (to be created) which "finds" what the data values at those coordinates were, and displays the data values in a new figure window. Is such an extraction method, where I am not,say,clicking on a line or axis of a bar graph, possible using the ButtonDownFcn?
댓글 수: 5
Adam
2018년 7월 9일
If you add the ButtonDownFcn to your axes instead then you can use the
'CurrentPoint'
property of the axes to give you the location. To do this though you must set the
'HitTest'
property of your image to 'off', otherwise the image will pick up the mouse click instead of the axes.
J.S.
2018년 7월 10일
J.S.
2018년 7월 10일
Adam
2018년 7월 11일
I would use functions rather than scripts, but scripts do at least allow nested functions now so you can create your callback as a function at the bottom of your script, to do whatever you want it to with the 'CurrentPoint'.
This function will be called every time you click on whatever you have attached it to, so if this is the axes (assuming you have turned the hittest of the image off) then each time you click the axes the function will trigger so no loops should be needed.
J.S.
2018년 7월 11일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!