永发信息网

如何在Matlab中得到透明背景的图片

答案:2  悬赏:10  手机版
解决时间 2021-11-13 02:08
  • 提问者网友:你独家记忆
  • 2021-11-12 22:14
如何在Matlab中得到透明背景的图片
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-11-12 23:02
MATLAB输出的矢量图往往不是透明背景的,这样插在其他文件中就会很难看。关于在MATLAB中如何得到透明背景的矢量图,我有个经验就是:用MATLAB导出pdf图形(而不是eps图形),然后用Acrobat另存成eps图形,往往就是透明的了。不过,如果一个图形包含多个子图,那么很可能只有第一个子图的背景是透明的,其余子图背景仍为白色。

附:
by alexxl 2006-02-11

在网上发现如下codes,可以生成透明图形。

set(gcf,'color','none'); %图形背景设为无色
set(gca,'color','none'); %坐标轴背景设为无色,这条更重要,通常图形背景的白色实际为坐标轴背景色
打开一个.fig的文件,在command中运行上面三行命令 Edit->Copy
Figure->粘贴到要粘贴的地方,就得到背景透明的图片。
附使用Scope存入工作空间中的数据直接画图程序:

function myscope(ScopeData)
input=ScopeData;
a=size(input.signals);
b=a(1,2);%b为信号的个数
c=1;%c为循环变量
while c<=b;
subplot(b,1,c)
plot(input.time,input.signals(1,c).values,'LineWidth',2.0)
set(gca,'FontSize',12,'FontName','TimesNewRoman','FontWeight','bold','LineWidth',2.0,'color','none')
xlabel('Time(s)','FontSize',12,'FontName','TimesNewRoman','FontWeight','bold')
ylabel('x1,y1','FontSize',12,'FontName','TimesNewRoman','FontWeight','bold')
title('#####','FontSize',12,'FontName','TimesNewRoman','FontWeight','bold');
c=c+1;
grid on;
legend('Y1','Y2','Y3')
set(h,'color','white');
end
全部回答
  • 1楼网友:洒脱疯子
  • 2021-11-13 00:02
[I,map,alpha] = imread('透明及改变大小.png'); % 插入图片
h1 = axes('position', [0.4 0.6 0.2 0.2], 'parent', gcf); %[位置 位置 大小 大小]
h = imshow(I, 'parent', h1);
set(h,'AlphaData',alpha)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯