Chcę mieć program w Matlab z GUI, przy uruchomieniu programu, użytkownik może rysować w dowolnym miejscu za pomocą myszki na osiach w GUI, a ja chcę zapisać utworzony obraz w matrycy. jak mogę to zrobić?Rysowanie za pomocą myszy na GUI w Matlab
Odpowiedz
końcu znaleźć dobrego kodu i niektóre części zostały zmienione dla dostosowania do mnie. z ten sposób użytkownik może rysunek anythings w osiach z myszą:
function userDraw(handles)
%F=figure;
%setptr(F,'eraser'); %a custom cursor just for fun
A=handles.axesUserDraw; % axesUserDraw is tag of my axes
set(A,'buttondownfcn',@start_pencil)
function start_pencil(src,eventdata)
coords=get(src,'currentpoint'); %since this is the axes callback, src=gca
x=coords(1,1,1);
y=coords(1,2,1);
r=line(x, y, 'color', [0 .5 1], 'LineWidth', 2, 'hittest', 'off'); %turning hittset off allows you to draw new lines that start on top of an existing line.
set(gcf,'windowbuttonmotionfcn',{@continue_pencil,r})
set(gcf,'windowbuttonupfcn',@done_pencil)
function continue_pencil(src,eventdata,r)
%Note: src is now the figure handle, not the axes, so we need to use gca.
coords=get(gca,'currentpoint'); %this updates every time i move the mouse
x=coords(1,1,1);
y=coords(1,2,1);
%get the line's existing coordinates and append the new ones.
lastx=get(r,'xdata');
lasty=get(r,'ydata');
newx=[lastx x];
newy=[lasty y];
set(r,'xdata',newx,'ydata',newy);
function done_pencil(src,evendata)
%all this funciton does is turn the motion function off
set(gcf,'windowbuttonmotionfcn','')
set(gcf,'windowbuttonupfcn','')
Funkcja ginput
otrzymuje współrzędne moueclicks w ramach rysunku. Możesz użyć ich jako punktów linii, wielokąta, itp.
Jeśli to nie odpowiada Twoim potrzebom, musisz opisać, czego dokładnie oczekujesz od użytkownika.
Na rysunku odręcznego to może być pomocne:
http://www.mathworks.com/matlabcentral/fileexchange/7347-freehanddraw
mam opracowanie programu do wykrywania znak, że rysunek użytkownika, więc użytkownik powinien móc rysunek znak alfanumeryczny. –
Zobacz moją edycję powyżej. –
Jedynym sposobem, wiem, aby współdziałać z okna MATLAB za pomocą myszy jest ginput, ale będzie teraz pozwalają wyciągnąć coś z płynnością.
Istnieje kilka sposobów korzystania z komponentów Java Swing w temacie matlab check http://undocumentedmatlab.com/, aby uzyskać więcej informacji.
EDYCJA: Możesz to również sprawdzić.
http://blogs.mathworks.com/videos/2008/05/27/advanced-matlab-capture-mouse-movement/
- 1. WPF - Rysowanie na płótnie za pomocą zdarzeń myszy
- 2. rysowanie pyqta na widgecie exsiting GUI
- 3. Rysowanie linii pionowych na wykresie spektrogramów matlab
- 4. Rysowanie okręgu na płótnie przy użyciu zdarzeń myszy
- 5. Przezroczyste okno (lub rysowanie na ekranie) Brak przechwytywania myszy
- 6. rzut kuli na płaszczyznę za pomocą matlab
- 7. MATLAB: GUI stopniowo coraz wolniej
- 8. Sudoku GUI za pomocą java
- 9. Rysowanie ścieżki za pomocą linii w OpenLayers przy użyciu JavaScript
- 10. Budowanie GUI za pomocą GroupLayout w Javie
- 11. Rysowanie nieciągłych linii za pomocą d3
- 12. za pomocą myszy z sendInput w C
- 13. Jak dodać obraz w GUI MATLAB?
- 14. Rysowanie kółka z wygładzaniem za pomocą shaderów
- 15. Rysowanie sieci i wykresów za pomocą Networkx
- 16. Nie można przeskalować Rysowanie za pomocą ScaleDrawable
- 17. Rysowanie drzew genealogicznych za pomocą WPF
- 18. Rysowanie obrazów na płótnie za pomocą img.crossOrigin = "Anonimowy" nie działa
- 19. Rysowanie na wyświetlaczu siatkówki za pomocą CoreGraphics - Image pixelated
- 20. Rysowanie prostokąta za pomocą gestu przesuwania
- 21. Rysowanie linii przerywanej za pomocą CGContextSetLineDash
- 22. Rysowanie wieloboku za pomocą ulotki js
- 23. Rysowanie linii przerywanej za pomocą pliku fabric.js
- 24. Rysowanie punktów za pomocą nowoczesnego OpenGL
- 25. Rysowanie końca strzałki na segmencie kwadratu Béziera za pomocą xaml
- 26. Rysowanie na płótnie% element
- 27. Sterowanie urządzeniem iOS za pomocą myszy/klawiatury
- 28. Jak emulować ruch myszy za pomocą Capybara
- 29. Regulacja widoczności przycisku za pomocą myszy MouseOver
- 30. Jak ukryć kursor myszy za pomocą jquery
Jak korzystać z tych funkcji do rysowania? – mikeglaz