声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1419|回复: 2

[图像处理] 怎样画能使两个阴影部分重叠并分别显示出各自的区域?

[复制链接]
发表于 2011-3-18 13:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 cboboc 于 2011-3-18 13:44 编辑

这个代码是我的例子。
我的目的是想将将20-25这部分化成半透明的青绿色阴影,然后同时在15-30这部分也化成半透明的黄色阴影,两个阴影虽有重叠的地方,但是能看出来各自的区域,我的代码运行后只能生成一个阴影,求大家帮忙看看!
t=(1:2196).*0.02;
x=sin(t);
y=cos(t)+2.*sin(2*t);
plot(t,x,'r');
hold on
plot(t,y,'g');
x1=20;
x2=25;%
xxxf=[x1,x2,x2,x1]
xy1=-3;
xy2=3;
xyyf=[xy1,xy1,xy2,xy2]
shadex=fill(xxxf,xyyf,[0 1 1],'linestyle','o')
set(shade,'FaceAlpha',0.8);
hold on
y1=15;%
y2=35;%
yxxf=[y1,y2,y2,y1]
yy1=-3;
yy2=3;
yyyf=[yy1,yy1,yy2,yy2]
shadey=fill(yxxf,yyyf,[1 1 0],'linestyle','-.')
set(shade,'FaceAlpha',0.2);


这里只显示了20-25的绿色,我还想同时显示15-35的黄色半透明阴影

这里只显示了20-25的绿色,我还想同时显示15-35的黄色半透明阴影
回复
分享到:

使用道具 举报

发表于 2011-3-18 14:42 | 显示全部楼层
回复 1 # cboboc 的帖子
  1. clear;clc;close all
  2. t=(1:2196).*0.02;
  3. x=sin(t);
  4. y=cos(t)+2.*sin(2*t);
  5. plot(t,x,'r');
  6. hold on
  7. plot(t,y,'g');
  8. x1=20;
  9. x2=25;%
  10. xxxf=[x1,x2,x2,x1];
  11. xy1=-3;
  12. xy2=3;
  13. xyyf=[xy1,xy1,xy2,xy2];
  14. shadex=fill(xxxf,xyyf,[0 1 1],'linestyle','o');
  15. set(shadex,'FaceAlpha',0.8);
  16. hold on
  17. y1=15;%
  18. y2=35;%
  19. yxxf=[y1,y2,y2,y1];
  20. yy1=-3;
  21. yy2=3;
  22. yyyf=[yy1,yy1,yy2,yy2];
  23. shadey=fill(yxxf,yyyf,[1 1 0],'linestyle','-.');
  24. set(shadey,'FaceAlpha',0.2);
复制代码
2011031804.jpg

评分

1

查看全部评分

 楼主| 发表于 2011-3-18 15:43 | 显示全部楼层
回复 2 # qibbxxt 的帖子

太谢谢qibbxxt了!这个程序是我复制之前的程序中的,但是复制过程中没把shade改成这个例子中所需要的shadex和shadey,所以等于之前对shadex和shadey设置的一系列都白设置了!虽然是个小问题,但是我找了一个多小时也没解决,太谢谢你拉!哈哈!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-16 09:56 , Processed in 0.099322 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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