许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB画图时控制图窗位置的方法

MATLAB画图时控制图窗位置的方法

阅读数 6
点赞 0
article_banner


对于多屏用户,MATLAB可以控制图窗输出在任意屏幕,只要这样做:

%查看所有屏幕的分辨率和位置信息

monitors = get(0, 'MonitorPositions');

对于我的电脑,我得到:

monitors =

   -3359    -1479    1440    2560

     1      1    1920    1080

   -1919      1    1920    1080

其中每一行代表一个屏幕的x,y,width,height.

x是窗口左下角相对于主屏左下角的水平位置(单位:像素)

y是窗口左下角相对于主屏左下角的垂直位置(单位:像素)

width是屏幕的宽度

height是屏幕的高度。

因此这个图的意思是我有三块屏幕,其中第一块屏幕在主屏的左边-3360像素的位置。第二块屏幕是主屏本身,所以位置是(1,1)。第三块屏幕是在主屏左边-1920的位置。注意其实这三块屏幕在空间中是连续的坐标,所以我们只需要设置图窗在这个连续空间中的位置。

有点说多了,然后我们继续。

fig = figure(1)%指定该图窗编号为1

...(画图代码本身)

monitors = get(0, 'MonitorPositions');

verticalScreen = monitors(1, :);%获取第一个屏幕的位置和长宽

set(fig, 'Position', [verticalScreen(1), verticalScreen(2), verticalScreen(3), verticalScreen(4)]);%设定图窗铺满该屏幕。

下面是铺满我三个屏幕的画图样例代码,正好今天是5月20日,画个图吧。效果如图:

% 获取所有显示器位置信息

monitors = get(0, 'MonitorPositions');

% 要显示的大数字

big_numbers = {'5', '0', '2'};

% 设置字体大小

font_size = 500;

% 在每块屏幕上打开一个图窗并显示数字

for i = 1:3

 fig = figure(200 + i);

 set(fig, 'Units', 'pixels', 'Position', monitors(i, :), ...

      'Color', 'w'); % 白底窗口

 

 % 清空图窗并显示大号数字

 clf;

 axes('Position', [0 0 1 1]); % 去除边距填满整屏

 text(0.5, 0.5, big_numbers{i}, ...

   'FontSize', font_size, ...

   'HorizontalAlignment', 'center', ...

   'VerticalAlignment', 'middle');

 

 axis off; % 去掉坐标轴

end

结束。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空