matlab透明度函数alpha与copy figure不兼容
Matlab的copy命令并不能保留图形的alpha特性。
copy选项中也并不提供相应的设置来保留图形透明属性。
什么是图形的alpha特性?
Matlab图形的alpha值决定了显示图形的透明程度。取值0~1之间。0表示完全透明。1表示不透明。alpha属性分为边缘alpha和表面alpha。这里就以图形表面alpha为例。
为了将alpha特性保留,需要用到matlab的print函数。
那么什么是print函数?
print函数可以将matlab fig打印输出至多种格式,例如jpeg,png,pdf,jiff,svg,等等。print还可以控制图形输出的分辨率等多种属性。
如何使用print函数?
以下提供matlab代码,演示如何将3D图形打印输出为jpeg格式,并保留图形的alpha特性。
% Matlab Example by 81144825
[X,Y,Z] = peaks(25);
h = surf(X,Y,Z); % 用matlab画出3D图形,并保存句柄h
set(h,'FaceAlpha',0.2); % 设置alpha值为0.2
print -djpeg -r300 alpha02.jpeg % 打印图形输出到“alpha02.jpeg”
注意alpha02.jpeg保存于当前工作文件夹。
输出结果如下:
直接copy的结果:
用print打印结果:alpha02.jpeg
从结果看出,print函数实现了图形的透明显示。这样alpha02.jpeg可以直接插入到任何文档中了。例如powerpoint演示文件,word等。。