How to get the actual MonitorPosition, particularly with Windows scaling and changin monitor configurations?
조회 수: 19 (최근 30일)
이전 댓글 표시
Hi,
we are usually working using laptops and external 1 or 2 monitors, such we have 1-3 monitors. Sometimes (e.g. when removing the laptop from the docking station), the number of monitors changes during a running MATLAB session. We need to position a number of figures and need the monitor positions at the current time for this. However,
get(0, 'MonitorPositions' )
seems to always return the monitor configuration at the time MATLAB was started.
We already tried to implement a workaround using Java (java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment ...) but we don't get the correct positions via this way when Windows Scaling (125% or 150%) ist used.
Is there any way to always get the correct monitor position, even with windos scaling and changing monitor positions during a running MATLAB session?
댓글 수: 3
Jan
2017년 10월 5일
편집: Jan
2017년 10월 5일
How is the "correct" position defined, when Windows scales the output?
Perhaps https://www.mathworks.com/matlabcentral/fileexchange/31437-windowapi is useful under Windows. But I do not have much experiences with scaling.
Kanthaswamy Ganapathy
2022년 12월 29일
Hi,
Please find a fix as below. It was tried and found working in our setup with secondary monitor
if we require units in pixels, use
set(0,'units','pixels');
get(0,'MonitorPositions');
Regards,
Kanthaswamy
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!