chihaibo1988 发表于 2011-5-29 20:50

在M文件编制的界面中,字体大小如何自动变化

大家好,在M文件编制的界面中,如何让界面中的字体随界面大小的变化而变化,请高手赐教

wangyouyi 发表于 2011-5-29 23:04

回复 1 # chihaibo1988 的帖子

感觉你是不是可以先通过get(h,'Position')获得界面的大小,再通过一定的关系算出字体的大小值,以此来设置界面字体的大小!
不知道这样行不行,你可以尝试尝试!

ChaChing 发表于 2011-5-30 00:06

plot(rand(1,10)); set(gca,'FontUnits','normalized')

chihaibo1988 发表于 2011-5-30 07:15

回复 3 # ChaChing 的帖子

通过设置这个属性'FontUnits','normalized'解决了,非常感谢

chihaibo1988 发表于 2011-5-30 07:16

回复 2 # wangyouyi 的帖子

3#的办法解决了我的问题,谢谢你的回复

wangyouyi 发表于 2011-5-30 08:44

回复 5 # chihaibo1988 的帖子

好的!那我也学习下!

wangyouyi 发表于 2011-5-30 08:52

plot(rand(1,10)); set(gca,'FontUnits','normalized');
这个只是坐标轴Ticks数字刻度值字体的大小改变了!要是改label字体的大小,需要设置什么属性呢?

ChaChing 发表于 2011-5-30 14:27

不是一样吗? 不太明白LS的意思!?
plot(rand(1,10)); set(gca,'FontUnits','normalized')
xlabel('xxxx'); ylabel('yyyy');

wangyouyi 发表于 2011-5-30 15:13

本帖最后由 wangyouyi 于 2011-5-30 15:18 编辑

回复 8 # ChaChing 的帖子

我又重新试了下,刚开始以为就坐标轴刻度字体大小变化,而label字体没变化!
原来是label字体变化不太明显,以为没变化呢!
不过还是有个问题,坐标轴刻度字体是随着图形大小变化成正比列变化,而label字体是随着图形大小成反比例变化!
如下图:图1为原始图片,图2为经过界面放大后的图片!可见坐标轴刻度字体变大,而label字体变小!我不太明白其中的原因,还望赐教!!!

               

               

ChaChing 发表于 2011-5-30 15:56

回复 9 # wangyouyi 的帖子

...坐标轴刻度字体变大,而label字体变小...
刚试下, 没这现象!?

wangyouyi 发表于 2011-5-30 16:22

回复 10 # ChaChing 的帖子

{:{28}:}
set(gca,'FontUnits','normalized')
不知道这条语句怎么解释,是对坐标轴的什么属性进行设置了?
还有就是设置这个属性之后,是不是所有字体大小都随着界面的变大而变大呢?

chihaibo1988 发表于 2011-5-30 22:17

回复 11 # wangyouyi 的帖子

在每一个句柄中都加上'FontUnits','normalized'这个属性,界面中的所有字体才能随之变化
那条语句就是对坐标轴的刻度设置的

wangyouyi 发表于 2011-5-30 22:21

回复 12 # chihaibo1988 的帖子

哦 原来如此!学习啦!{:{51}:}

ChaChing 发表于 2011-5-30 22:53

chihaibo1988 发表于 2011-5-30 22:17 static/image/common/back.gif
回复 11 # wangyouyi 的帖子

在每一个句柄中都加上'FontUnits','normalized'这个属性,界面中的所有字体才 ...

补充下, 不是每个句柄都有FontUnits这个属性!
而且也不必如此, 只要有此属性, 注意下从属关係(Parent/Children)即可!

chihaibo1988 发表于 2011-5-30 22:56

回复 14 # ChaChing 的帖子

恩{:{05}:}
页: [1] 2
查看完整版本: 在M文件编制的界面中,字体大小如何自动变化