与透明性相关的属性和函数

表4-1中概括了一些控制对象透明性的属性。

表4-1 控制对象透明性的属性

属 性 功 能
AlphaData 图形对象的透明度数据
AlphaDataMapping 透明度数据映射方法
FaceAlpha 小面的透明度(只对面片和曲面可用)
EdgeAlpha 边的透明度(只对面片和曲面可用)
FaceVertexAlphaData 只对面片可用小面顶点透明度数据
ALim alpha坐标限制
ALimMode alpha坐标限制模式
Alphamap 图形窗口的alpha查找表

表4-2列出了可以简化alpha属性设置过程的3个函数。

表4-2 可以简化alpha属性设置过程的函数

函 数 功 能
alpha 设置或查询当前坐标系中对象的透明度属性
alphamap 指定图形窗口的alpha查找表
alim 设置或查询坐标系的alpha限制

1.alpha函数

该函数设置当前坐标系中对象的透明属性,调用格式为:

alpha(face_alpha) 设置当前坐标系中所有图像、面片和Surface对象的FaceAlpha属性。可以将face_alpha设置为:

标量—将FaceAlpha属性设置为指定值;

'flat'—将FaceAlpha属性设置为flat;

'texture'—将FaceAlpha属性设置为texture;

'opaque'—将FaceAlpha属性设置为1;

'clear'—将FaceAlpha属性设置为0。

alpha(alpha_data) 设置当前坐标系中所有Surface对象的AlphaData属性时,可以将alpha_data设置为:

与CData大小相同的矩阵—将AlphaData属性设置为指定值;

'x'—将AlphaData属性值设置为与XData相同。

'y'—将AlphaData属性值设置为与YData相同。

'z'—将AlphaData属性值设置为与ZData相同。

'color'—将AlphaData属性值设置为与CData相同。

'rand'—将AlphaData属性值设置为随机数矩阵,其大小与CData相同。

设置当前坐标系中所有图像对象的AlphaData属性时,可以将alpha_data设置为:

与CData大小相同的矩阵—将AlphaData属性设置为指定值;

'x'—忽略。

'y'—忽略。

'z'—忽略。

'color'—将AlphaData属性值设置为与CData相同。

'rand'—将AlphaData属性值设置为随机数矩阵,其大小与Cdata的相同。

设置当前坐标系中所有Surface对象的FaceVertexAlphaData属性时,可以将alpha_data设置为:

与FaceVertexCData大小相同的矩阵—将FaceVertexAlphaData属性设置为指定值;

'x'—将FaceVertexAlphaData属性值设置为与Vertices(:,1)相同。

'y'—将FaceVertexAlphaData属性值设置为与Vertices(:,2)相同。

'z'—将FaceVertexAlphaData属性值设置为与Vertices(:,3)相同。

'color'—将FaceVertexAlphaData属性值设置为与FaceVertexCData相同。

'rand'—将FaceVertexAlphaData属性值设置为随机数矩阵。

alpha(alpha_data_mapping) 设置当前坐标系中所有Surface对象的AlphaDataMapping属性。可以将alpha_data_mapping设置为:

'scaled'—将AlphaDataMapping属性设置为scaled。

'direct'—将AlphaDataMapping属性设置为direct。

'none'—将AlphaDataMapping属性设置为none。

alpha(object_handle,value) 只对object_handle指定的对象设置透明属性。

2.alphamap函数

该函数指定图形窗口的alpha查找表,调用格式为:

alphamap(alpha_map) 将当前图形窗口的AlphaMap属性设置为指定的alpha值数组,其大小为m×1。

alphamap('parameter') 创建一个新的alpha查找表或修改当前的alpha查找表。可以指定下列参数:

default—将AlphaMap属性设置为图形窗口的默认alpha查找表。

rampup—创建一个线性alpha查找表,不透明性逐渐递增(默认时length等于当前alpha查找表的长度)。

rampdown—创建一个线性alpha查找表,不透明性逐渐递减(默认时length等于当前alpha查找表的长度)。

vup—创建一个alpha查找表,中间不透明,至两端透明性线性递增(默认时length等于当前alpha查找表的长度)。

vdown—创建一个alpha查找表,中间透明,至两端线性过渡到不透明(默认时length等于当前alpha查找表的长度)。

increase—修改alpha查找表,使得更不透明(默认时delta等于0.1,它与当前值相加)。

decrease—修改alpha查找表,使得更透明(默认时delta等于0.1,当前值减去该值)。

spin—旋转当前alpha查找表(默认时delta为1,注意delta必须为整数)。

alphamap('parameter',length) 创建一个新的alpha查找表,其长度用length指定。

alphamap('parameter',delta) 用delta指定的值修改存在的alpha查找表。

alphamap(figure_handle,…) 对figure_handle表示的图形窗口的alpha查找表进行操作。

alpha_map=alphamap 返回当前alpha查找表。

alpha_map=alphampa(figure_handle) 从figure_handle表示的图形窗口返回当前的alpha查找表。

alpha_map=alphamap('parameter') 返回parameter修改的alpha查找表,但是不设置AlphaMap属性。

3.alim函数

用alim函数设置或查询坐标系的alpha限制,其调用格式为:

alpha_limits=alim 返回当前坐标系的alpha限制。

alim([amin amax]) 将alpha限制设置为指定值。amin为映射到alpha查找表中第1个alpha值的数据值,amax为映射到alpha查找表中最后一个alpha值的数据值。介于中间的数据值在整个查找表上进行线性内插,位于范围之外的数据值根据接近程度取第1个或最后1个值。

alim_mode=alim('mode') 返回当前坐标系的alpha限制模式。

alim('alim_mode') 在当前坐标系上设置alpha限制模式。alim_mode可以是auto或manual。为auto时,MATLAB基于坐标系中对象的alpha数据自动设置alpha限制;为manual时,MATLAB不改变alpha限制。

alim(axes_handle,…) 操作特定坐标系。