声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1230|回复: 2

[共享资源] 图形着色的一点经验

[复制链接]
发表于 2008-2-17 18:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
图形着色的一点经验,前几天发了个帖子,问如何改变两个曲面的颜色。现在基本搞定了。我想这个代码不一定对大家有用,但是我是如何找到答案的肯定对大家有用的。参考的一些网页,都是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: [10x13 double]
CDataMapping: 'scaled'
EdgeAlpha: 1
EdgeColor: [0 0 0]
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.67  0   1
     绿     0   1   0      橘黄    1  0.5  0
     蓝     0   0   1      深红   0.5  0   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',[0 1 0 ])
set(h2,'facecolor',[1 0 0])
hold off
1.jpg

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2008-2-17 21:49 | 显示全部楼层
发现点小错误,黑色误写为[0   0   1]

评分

1

查看全部评分

 楼主| 发表于 2008-2-19 16:44 | 显示全部楼层
恩,谢谢,是错了。是[0 0 0]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 06:36 , Processed in 0.081392 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表