WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

rectangel zeichnen mit units=pixel

 

bassist
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 18.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2008, 14:31     Titel: rectangel zeichnen mit units=pixel
  Antworten mit Zitat      
Ich muss mehrere Rechtecke bzw. Textboxes in eine figure plotten. Es ist aber notwendig, dass ich die größe und die positionen der rechtecke in pixel angeben kann.

folgenden code habe ich mir mittels "plottools" erstellen lassen d.h. ich habe eine Achse erstellt, die units auf 'pixels' gesetzt, ein rectangle gezeichnet mit der maus und die units auch wieder auf 'pixels' gesetzt. Dann habe ich auf "Generate M-File" geklickt und folgenden Code erhalten:

Code:

function createfigure
%CREATEFIGURE1

%  Auto-generated by MATLAB on 18-Jul-2008 14:27:38

% Create figure
figure1 = figure;

% Create axes
axes('Parent',figure1,'Units','points','OuterPosition',[0 0 417 270.8]);
box('on');

% Create rectangle
annotation(figure1,'rectangle','FaceColor','flat',...
    'Position',[149.7 89.25 144.3 100.5],...
    'Units','points');
 


Wenn ich diesen Code nun ausführe, erscheint ein leeres figure, also kein rechteck ist zu sehen. Kann den Code mal wer ausführen und berichten, was dann zu sehen ist. Oder vielleicht weiß auch jemand, was ich falsch mace Confused

Vielen Dank


(Matlab R2007a, Ver 7.4.0.287)
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2008, 15:24     Titel:
  Antworten mit Zitat      
Hallo,
versuch doch mal
Code:
function createfigure
%CREATEFIGURE1

%  Auto-generated by MATLAB on 18-Jul-2008 14:27:38

% Create figure
figure1 = figure;

% Create axes
axes('Parent',figure1,'Units','points','OuterPosition',[0 0 417 270.8]);
box('on');

% Create rectangle
annotation(figure1,'rectangle','FaceColor','flat',...
    'Units','points',..
    'Position',[149.7 89.25 144.3 100.5]);


In deinem Code werden die Koordinaten des Rechtecks von normalized nach Points gerechnet d.h. dein Rechteck startet bei 150*417 (oder so ähnlich), was du aber willst ist dass die Koordinaten von Points nach normalized gerechnet werden, d.h. dass sich die untere Ecke deines Rechtecks bei x = 150/417, y=89/271 befindet.

Ich hoffe meine Erklärung ist irgendwie nachvollziehbar bzw. verständlich.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
bassist
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 18.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.07.2008, 10:56     Titel:
  Antworten mit Zitat      
hat funktioniert, vielen Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.