了解Android中的Shader?

时间:2014-03-20 15:39:26

标签: android shader

根据Android开发人员文档:

  

着色器是在绘制过程中返回水平颜色范围的对象的基类。   Shader的子类安装在Paint中,调用paint.setShader(着色器)。   之后,使用该绘制绘制的任何对象(位图除外)都将获得   来自着色器的颜色。

但我不明白这个定义。你们能用简单的语言告诉我android中的着色器吗?另外,"颜色的水平跨度"?

的含义是什么?

非常感谢。

1 个答案:

答案 0 :(得分:7)

着色器允许为Paint对象定义应该绘制的内容。

例如,您可以使用BitmapShader定义应使用位图进行绘制。这允许您例如绘制带圆角的图像。只需为Paint对象定义一个BitmapShader,然后使用drawRoundRect()方法绘制一个带圆角的矩形。

Android平台提供的其他着色器是LinearGradient,RadialGradient和SweepGradient,用于绘制颜色渐变。

使用着色器通过setShader()方法将其指定给Paint对象。

如果填充的区域大于着色器,则可以通过着色器图块模式定义其余部分应如何填充。

The Shader.TileMode.CLAMP constant defines that the edge corners should be used to fill the extra space. 
The Shader.TileMode.MIRROR constant defines that the image is mirrored.
The Shader.TileMode.REPEAT defines that the image will be repeated. 

来源:Vogella