概述
前阵子,知识星球里有一位叫“π大星”的朋友交了两份GUI实战训练的报告。其中有一部分文字是关于GUI按钮的背景颜色设置,我觉得还蛮有意思的。
所以今天打算分享一下为什么我觉得这份报告有意思,顺带着聊一聊这些年我是如何与颜色斗智斗勇的。
01
用MATLAB已经有十多年了,不过开始对颜色有些挑剔还是最近几年的事。
最开始的几年,颜色设置的问题,无非就是plot曲线的时候,这应该是每个MATLAB用户都会碰到的情况。
这个问题很好解决,在网上很快就能找到答案。对于初学MATLAB的朋友,这里我推荐两份文档。
一份是MATLAB中文论坛的一篇帖子,主题是“Matlab中plot函数一共能调用多少种颜色?”。这篇帖子截止目前已经有将近35万的阅读量,足以见得有非常多朋友搜索过这个问题。
另一份是MATLAB Help自带的介绍,通过命令窗口输入doc plot就可以了解这方面的应用,还有相应的例子可以用来加深理解。
回到颜色设置这个问题上来,通过plot([1,2],[3,4],'r')就能将目标曲线设置成红色,其中'r'是红色的缩写。
除此之外,还有
绿-g
蓝-b
蓝绿-c
紫红-m
黄-y
黑-k
白-w
02
通过字母设置颜色这种方法,比较便捷,不过存在的问题是,颜色数量较少,并且个别颜色我实在欣赏不来,比如那发着光的黄和绿。
虽然心有不满,但是平时还是尽量避免多条曲线画在一张图上,于是在之后的很长一段时间内,只靠着红色和蓝色,咬咬牙,这么多年也就过来了,直到后来开始做GUI工具。
创建GUI,界面默认的背景是灰色,有一阵子,我很不喜欢这个背景颜色,总想换成白色。后来实在受不了了,就上网查,发现可以通过RGB数值去定义界面的颜色,比如设置窗体为白色
figure('Color',[1,1,1])
RGB颜色定义的方式,适用在任何颜色定义的问题上,包括plot曲线的,画图注释text的颜色定义等等,具体的用法,在前面推荐的两个文档中也都有介绍。
至于RGB如何定义数值实现想要的颜色,网上有不少材料,通过搜索关键词MATLAB+颜色表。
事实上,这张表很长,远不止我截取的部分。
颜色表的优点是,很全,几乎任何颜色应有尽有,而颜色表的缺点也是,太多了,多到让我难以选择。
上次碰到颜色选择障碍,还是给媳妇买口红的时候,口红看起来都红的差不多啊。
03
人总是这么矛盾,字母设置颜色,嫌8种颜色太少,RGB设置颜色,嫌颜色表太长。
其实保留几种比较常用的颜色RGB值就可以应对平时工作学习中的需求。
再后来就是这两年的事了。
在过去写一个GUI,只要需求明确了,几乎可以每两天写一个工具。
这些工具只是给自己用的,所以控件的布局,也都只是控件+String的形式,哪管他颜色、图标和快捷键,甚至好多比较严重的Bug都不在意,心里清楚哪哪有坑,别去踩就行。
不过这两年,偶尔会分享一些自己写的GUI给大家使用。
字如其人,GUI也同样如此,于是我要比之前多花上3倍的时间去修复Bug,优化界面,提高用户友好度。审美在不在线另说,做GUI我一点也不随便。
曾经介绍过我在开发HaoFind的时候,设计了一个开机界面,是参考的Google的Logo。
这下我再没办法去拿着颜色表和Logo的颜色做对比了,于是我给自己写了一个提取颜色RGB值的工具,叫做HaoColor。
很高兴,Hao系列的小工具又迎来了一位新成员。
HaoColor的使用很简单,点击Get Color的按钮之后,将鼠标移到目标颜色上,3秒之后将会显示目标颜色的RGB值。
其中有一个很贴心的功能是,RGB值在显示的同时,已经复制了,不需要再去做额外的复制操作,可以直接在m脚本中进行粘贴。
这个功能其实在HaoTemplate工具中就已经使用了。
当时在HaoTemplate发布后,有朋友留言说,这么多色块,得做多少个按钮啊。
其实我在写这个工具的时候,就已经意识到这个问题了,所以我一个按钮都没做,直接放了一张Excel颜色表上去,用鼠标去读取颜色。
读取颜色的功能也很容易实现,用的是MATLAB截屏的功能,只截取鼠标所在的一个像素的图片,读取颜色数值。
04
前面聊的是这些年来我是如何处理颜色设置这个问题的。接下来聊一聊“π大星”的报告。
GUI实战的第二次练习是复现windows的科学计算器,其中一个要求是,按钮颜色的设置。
这位朋友的处理方式是,通过uisetcolor这个命令,调出MATLAB自带的调色板,选取所需的颜色,返回RGB的值。这个命令同样可以集成在GUI中,进行颜色的选取。
如果只是从功能上来说,我个人认为,HaoColor的功能会比自带的调色板稍强一些,颜色选取的自由度更大。
不过我觉得很有意思的地方,一个是调色板对话框中控件的弧度设置,这是接下来一段时间我很想去研究的。
另一个有意思的是,在uisetcolor所在的文件夹,发现了不少其他有趣的功能,比如字体的设置
除此之外还有很多其他工具,像之前一直使用的选取文件功能uigetfile,也在这个文件夹中。
由于之前只关注到自己要开发的GUI,忽略了这个文件夹中的其他有意思的功能,这也是在接下来一段时间想要去了解的,并且希望能够运用到以往的工具中去。
以上就是今天关于MATLAB颜色设置的分享,希望对大家有所帮助
最后关于HaoColor,有需要的朋友,可以在公众号后台回复“HaoColor”获取这个工具。
作者介绍: 打浦桥程序员,汽车行业工程师,目前在德国从事系统工程。公众号“打浦桥程序员”,和你一起用MATLAB的角度看世界
最后
以上就是昏睡毛巾为你收集整理的matlab gui学习手记 pdf_与MATLAB颜色设置斗智斗勇的那些年的全部内容,希望文章能够帮你解决matlab gui学习手记 pdf_与MATLAB颜色设置斗智斗勇的那些年所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复