表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,…) 操作特定坐标系。