图形着色的一点经验
图形着色的一点经验,前几天发了个帖子,问如何改变两个曲面的颜色。现在基本搞定了。我想这个代码不一定对大家有用,但是我是如何找到答案的肯定对大家有用的。参考的一些网页,都是google得到的。1.get (http://news.scuec.edu.cn/jsj/zid ... 122/article_369.htm)
在GUI编程中,我们可能有时候想改变某些object的属性,或者想让它安装自己的想法实现,但是我们又不记得这些object的属性,更别提怎么设置他们的值了。这时,可以用 get(handles)得到此对象的所有的属性及其当前值。用set(handles)可以得到对象所有可以设置的属性及其可能的取值。找到我们需要的属性名字和可能的取值之后,就意义用 get(handles,‘propertyname’)取得此属性的值,用set(handles,‘propertyname’,values)设置此对象此属性的值。
2. 有了第一步,用get(h1)可以得到:
AlphaData: 1
AlphaDataMapping: 'scaled'
CData:
CDataMapping: 'scaled'
EdgeAlpha: 1
EdgeColor:
EraseMode: 'normal'
FaceAlpha: 1
FaceColor: 'flat'
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
. ................
3. 看了第二步,猜测可能与color相关的属性,可能会解决问题。看了这个帖子以后(http://forum.vibunion.com/thread-56985-1-1.html)知道edgecolor是修改线条的颜色的。那这个应该是facecolor了。果然facecolor的属性也可以用三个rgb值来表示。
下面是一些常用rgb值的定义(引自http://www.matlab8.com/html/95/n-95.html)
黑 0 0 0 洋红 1 0 1
白 1 1 1 青蓝 0 1 1
红 1 0 0 天蓝0.670 1
绿 0 1 0 橘黄 10.50
蓝 0 0 1 深红 0.50 0
黄 1 1 0 灰 0.5 0.5 0.5
此外: 在 苏金明 王永利编的《matlab图形图像》的第8章专门讲了图像着色的问题。
希望对大家有所帮助
代码如下(其中的mat文件可以从http://forum.vibunion.com/thread-58811-1-1.html下载到)
clc
clear
load d:/jml.mat jml
load d:/jme.mat jme
h1=surf(jml);hold on
h2=surf(jme);
set(h1,'facecolor',)
set(h2,'facecolor',)
hold off
发现点小错误,黑色误写为 恩,谢谢,是错了。是
页:
[1]