适用版本:NX6以上
在进行NX二次开发时我们常需要设计菜单,而菜单的图标设计也是其中很重要的一个环节。为了更美观、更好地显示在菜单栏中,图标的背景通常是透明的。我们知道在NX的菜单中的位图会通过键位(Key)的方式表示透明像素,即所有品红(RGB值为255,0,255)的像素将会被替换为透明。但是这个方法有一定的局限性。本技巧提供更优的表示透明度的方法。
键位透明的局限性
不能使用键位颜色
因为所有品红的像素都会替换成透明像素,自然无法使用品红作为图标的颜色。如下图中的A字为品红因此此处被抠掉了
图1
不能使用半透明
有时我们可能需要图标有半透明的效果,如在主体对象背景的一些半透明元素或者水印等。但是设置成半透明的颜色混合到品红色的背景后的颜色将不会是准确的品红色,因此NX也不会对其进行任何处理。实际上这就是键位的特点,只存在完全透明的像素和完全不透明的像素,不具备半透明。
图2
颜色的侵染
其实这点是第二点的一种体现。在我们制作图标时需要对图中的元素进行处理,例如进行缩放。大多数的缩放算法都是参考多个像素的颜色,通过特定的公式生成一种中间的颜色,作为新像素的颜色,这样的效果更真实更自然。因此当缩放算法处理前景元素的边缘时,将会与背景的品红色一起生成一种中间的颜色,使边缘的过渡更自然。但是事实上背景的品红色是不存在的,不应该作为参考。这会使得前景元素的边缘变成品红,发生了颜色的侵染。恰当地处理图像可以减轻此问题。
图3
使用透明通道
通常我们使用的位图(bitmap)的像素格式为24位RGB,它每个像素都拥有三个通道(红、绿、蓝),每个通道使用8位数据(一个字节)表示。除此以外位图的像素格式还有32位的ARGB,相比24位,它多了一个Alpha(透明度)通道。通过这个通道就可以表示每个像素对应的透明度。NX中同样支持32位的位图。
若NX的位图中使用32位位图则品红不会被替换成透明。
图4
可以使用半透明
图5
使用Photoshop生成
现假设我们已经完成了图标的设计,将所有的前景元素合并到一个图层上,并添加一个白色的背景图层:
图6
图7
选择前景图层,然后点击“图层”——“图层蒙版”——“从透明区域”:
图8
图9
选择“通道”选项卡,可以看到生成了一个新的通道。右键点击复制通道:
图10
图11
图12
返回到“图层”选项卡,右键点击图层蒙版,应用图层蒙版:
图13
点击“文件”——“存储”保存文件,保存类型设置为BMP,并勾选Alpha通道选项,文件格式选择Windows,深度选择32位:
图14
图15
图16
图17
使用带有透明度通道的位图格式可以方便地生成质量更好的位图图标,不必担心会产生有问题的边缘。