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

Automatische Erkennung der Bildschirme

 

TinaFuhrmann
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.11.15
Wohnort: ---
Version: R2015b
     Beitrag Verfasst am: 14.09.2016, 11:27     Titel: Automatische Erkennung der Bildschirme
  Antworten mit Zitat      
Hallöchen,

gibt es einen Befehl mit dem ich die Anzahl der angeschlossenen Bildschirme herausfinden kann?
z.B. in der Art
Code:

get('ScreenNumber')
>> 1
 



Eigentlich ist die Frage eher Hardware-lastig und hier evtl. falsch. Ich wusste leider nicht, in welches Forum es besser passt.

Ich möchte eine Graphik bei einem angeschlossenen Bildschirm auf diesem, bei zweien auf dem Nachbarbildschirm darstellen. Für die Darstellung nutze ich
Code:

h = figure('visible',isvisible);
   h.Units = 'normalized';
%   h.Position = [0.15 0.125 0.7 0.75]; %on first screen
%   h.Position = [1.02 0.17 0.6 0.75]; %on 2nd screen
[...]
 

und entkommentiere die entsprechende Linie.
Es soll mal in etwa so aussehen:
Code:

h = figure('visible',isvisible);
   h.Units = 'normalized';
if numberOfScreens == 1
   h.Position = [0.15 0.125 0.7 0.75]; %on first screen
else
   h.Position = [1.02 0.17 0.6 0.75]; %on 2nd screen
end
[...]
 
Private Nachricht senden Benutzer-Profile anzeigen


Sporisha
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2016, 04:31     Titel:
  Antworten mit Zitat      
Hallo Tina,

ich hatte mal ein ähnliches Problem und habe nochmal recherchiert.
Versuch mal das hier:

Code:
get(0, 'MonitorPositions')



Wenn nur ein Bildschirm angeschlossen ist, bekommst du als Ergebnis eine 1x4 Matrix.
Bei zwei angeschlossenen Bildschirmen erhälst du eine 2x4 Matrix usw...
Beachte dabei, dass die Position vom zweiten Bildschirm in Relation zum ersten Bildschirm angegeben wird.
Außerdem ändert sich die Bildschirmposition sobald du in den Windows-Anzeigeeinstellungen die Bildschirmposition änderst.


Zusammen mit

Code:
set(FigHandle, 'Position', [100, 100, 1049, 895]);


sollte dein Problem gelöst sein. Das ganze unabhängig von Bildschirmgröße und -position zu programmieren könnte aber eventuell schwieriger werden, aber das ist dein Part Smile

Viel Erfolg! Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Sporisha
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2016, 04:58     Titel:
  Antworten mit Zitat      
Hier nochmal als kleine Hilfestellung:

Code:

MP = get(0, 'MonitorPositions');

f1 = figure();
set(f1, 'Position', MP(1,:)); % Positionsvektor Bildschirm 1

f2 = figure();
set(f2, 'Position', MP(2,:)); % Positionsvektor Bildschirm 2



Ergebnis ist ein fullsize figure auf Bildschirm1 und ein gleich großes figure auf Bildschirm 2.

Durch Anpassen der Positionsvektoren kannst du die figures nach deinen Wünschen positionieren. Auch die Größe kannst du so ändern.

Grüße, Andy
Private Nachricht senden Benutzer-Profile anzeigen
 
TinaFuhrmann
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.11.15
Wohnort: ---
Version: R2015b
     Beitrag Verfasst am: 17.11.2016, 16:32     Titel:
  Antworten mit Zitat      
Hallöchen,

vielen Dank für die Antworten!
Da mein Arbeitsrechner die gesamte Zeit kaputt war, komme ich erst in nächster Zeit zum Ausprobieren. Dann schreibe ich aber nochmal!

Grüße,
Tina.
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 - 2025 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.