Ich möchte ein Programm in Matlab mit GUI haben, bei der Ausführung des Programms kann der Benutzer alle Dinge mit der Maus auf die Achsen in der GUI zeichnen, und ich möchte das erstellte Bild in einer Matrix speichern. Wie kann ich das tun?Zeichnen mit der Maus auf der GUI in Matlab
Antwort
Endlich finde ich einen guten Code und ich habe einige Teile für die Anpassung für mich verändert.
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','')
Die Funktion ruft die Koordinaten von Mausklicks innerhalb einer Figur ab. Sie können diese als Punkte einer Linie, eines Polygons usw. verwenden.
Wenn dies nicht Ihren Anforderungen entspricht, müssen Sie beschreiben, was genau Sie vom Benutzer erwarten.
für Freihandzeichnen könnte dies nützlich sein:
http://www.mathworks.com/matlabcentral/fileexchange/7347-freehanddraw
Ich habe die Entwicklung eines Programms für den Charakter erkennen, dass die Benutzer Zeichnung, so sollte der Benutzer zu zeichnen alphanumerischen Zeichen können: Mit dieser Art und Weise kann der Benutzer anythings in den Achsen mit Maus. –
Siehe meine Bearbeitung oben. –
Der einzige Weg, ich weiß, mit Matlab-Fenster mit einer Maus zu interagieren, ist G Eingang, aber das wird jetzt können Sie alles mit Flüssigkeit ziehen.
Es gibt Möglichkeiten, Java Swing-Komponenten in Matlab-Check http://undocumentedmatlab.com/ für weitere Informationen zu verwenden.
EDIT: Vielleicht möchten Sie dies auch überprüfen.
http://blogs.mathworks.com/videos/2008/05/27/advanced-matlab-capture-mouse-movement/
- 1. Zeichnen einen Kreis auf der Leinwand mit der Maus Ereignissen
- 2. Zeichnen Polygon mit der Maus auf Google Maps
- 3. Überfahren der Farben beim Zeichnen in MATLAB
- 4. MATLAB: Bearbeiten der Farbe der GUI-Komponente mit Timer?
- 5. Verzögerung beim Zeichnen von Objekten zum Bewegen mit der Maus
- 6. Zeichnen Kreis onClick an der Maus Position mit D3
- 7. Button Kommt nach der Maus in Java GUI (Swing) darauf?
- 8. Zeichnen Kreise auf einem Torus in Matlab
- 9. Matlab: Zeichnen von Rechteck bei der Verwendung von Tabellan
- 10. KineticJS - Zeichnen von Linien mit Maus
- 11. Matlab: Zählen Bild in einem Ordner mit Matlab GUI
- 12. Globale Variablen in MATLAB GUI?
- 13. Anzeige des IP-Cam-Feeds in der MATLAB-GUI
- 14. Subplots mit mehreren Faktoren in Matlab zeichnen
- 15. Matlab checkbox gui
- 16. MATLAB GUI Standardwerte setzen
- 17. Klicken Sie mit der Maus auf Kreisleinwand und zeichnen Sie Linien?
- 18. Cocoa Button, der mit der Maus über
- 19. Zoomen mit der Maus: Auswahlfarbe
- 20. Umriss Text in Matlab Gui
- 21. Speichern eines generierten Bildes auf Matlab Gui
- 22. Entfernen der Klasse mit der Maus Beenden
- 23. Looping in der GUI
- 24. Move Browser mit der Maus
- 25. MATLAB GUI mit GUIDE: Listenfeld Ausgabe
- 26. Pausing Matlab Programm für GUI
- 27. Zeichnen Matlab Graphen mit Rahmen, Zecken, auf den Diagrammlinien
- 28. Objekte mit der Maus ziehen
- 29. GUI für mein Matlab-Projekt mit GUIDE
- 30. Pfadlinie auf der Karte in iPhone zeichnen
Wie verwende ich diese Funktion zum Zeichnen? – mikeglaz