zoukankan      html  css  js  c++  java
  • Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二)

    

    Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二)

    附录文章1介绍了线性渐变渲染器。
    Android的SweepGradient梯度渐变扫描,重点是在构造SweepGradient的中心点选择。我写一个例子。

    package zhangphil.demo;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.SweepGradient;
    import android.util.AttributeSet;
    import android.view.View;
    
    /**
     * Created by Phil on 2016/7/25.
     */
    
    
    public class SweepGradientView extends View {
    
        private Paint mPaint = null;
    
        // 梯度渐变扫描渲染
        private SweepGradient mSweepGradient = null;
    
        public SweepGradientView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
    
            mSweepGradient = new SweepGradient(this.getWidth() / 2, this.getHeight() / 2, new int[]{Color.TRANSPARENT, Color.RED, Color.TRANSPARENT, Color.YELLOW, Color.BLUE}, null);
            mPaint = new Paint();
            mPaint.setAntiAlias(true);
    
            mPaint.setShader(mSweepGradient);
    
            canvas.drawCircle(this.getWidth() / 2, this.getHeight() / 2, 300, mPaint);
        }
    }
    


    SweepGradientView直接像附录文章1那样在上层的activity里面new出来一个对象,然后setContentView进去即可。


    代码运行结果:


    附录文章:
    1,《Android渲染器Shader:LinearGradient(一)》链接:http://blog.csdn.net/zhangphil/article/details/52004027


  • 相关阅读:
    javaweb基础笔记(2)
    javaweb基础笔记(1)
    java基础笔记(11)
    java基础笔记(10)
    java基础笔记(9)
    洛谷 P2648 赚钱
    AcWing 走廊泼水节 题解
    对于有向图多个点到一个点的求法
    分层图的四倍经验
    洛谷 P4822 [BJWC2012]冻结
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6147278.html
Copyright © 2011-2022 走看看