zoukankan      html  css  js  c++  java
  • GraphicsMaskFilter

    使用MaskFilter

    MaskFilter类可以为Paint分配边缘效果。

    对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换。Android包含了下面几种MaskFilter:

    BlurMaskFilter   指定了一个模糊的样式和半径来处理Paint的边缘。

    EmbossMaskFilter  指定了光源的方向和环境光强度来添加浮雕效果。

    要应用一个MaskFilter,可以使用setMaskFilter方法,并传递给它一个MaskFilter对象。下面的例子是对一个已经存在的Paint应用一个EmbossMaskFilter:

    Java代码
    1.  1// 设置光源的方向    
    2.  2float[] direction = new float[]{ 111 };    
    3.  3//设置环境光亮度    
    4.  4float light = 0.4f;    
    5.  5// 选择要应用的反射等级    
    6.  6float specular = 6;    
    7.  7// 向mask应用一定级别的模糊    
    8.  8float blur = 3.5f;    
    9.  9. EmbossMaskFilter emboss=new EmbossMaskFilter(direction,light,specular,blur);    
    10. 10.    
    11. 11// 应用mask    
    12. 12. myPaint.setMaskFilter(emboss);   

     SDK中包含的FingerPaint API demo是说明如何使用MaskFilter的一个非常好的例子。它展示了这两种filter的效果。

  • 相关阅读:
    POJ 2253 Frogger
    POJ 2387
    codevs3981动态最大子段和(线段树)
    P3398仓鼠(LCA)
    codevs1036商务旅行(LCA)
    codevs3728联合权值(LCA)
    P3390矩阵快速幂
    codevs1574广义斐波那契数列
    POJ3070Fibonacci
    P3379最近公共祖先(LCA)
  • 原文地址:https://www.cnblogs.com/canphp/p/2802531.html
Copyright © 2011-2022 走看看