LinearGradient

来源:互联网 发布:mysql不支持中文 编辑:程序博客网 时间:2024/05/07 18:35

 

[java] view plain copy
  1. package xiaosi.BitmapShader;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class BitmapShaderActivity extends Activity {  
  7.     /** Called when the activity is first created. */  
  8.     private BitmapShaders bitmapShaders = null;  
  9.     @Override  
  10.     public void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.           
  13.         bitmapShaders = new BitmapShaders(this);  
  14.         setContentView(bitmapShaders);  
  15.     }  
  16. }  


BitmapShaders.Java

[java] view plain copy
  1. package xiaosi.BitmapShader;  
  2.   
  3. import android.content.Context;  
  4. import android.graphics.Bitmap;  
  5. import android.graphics.BitmapShader;  
  6. import android.graphics.Canvas;  
  7. import android.graphics.Color;  
  8. import android.graphics.ComposeShader;  
  9. import android.graphics.LinearGradient;  
  10. import android.graphics.Paint;  
  11. import android.graphics.PorterDuff;  
  12. import android.graphics.RadialGradient;  
  13. import android.graphics.Shader;  
  14. import android.graphics.SweepGradient;  
  15. import android.graphics.drawable.BitmapDrawable;  
  16. import android.graphics.drawable.ShapeDrawable;  
  17. import android.graphics.drawable.shapes.OvalShape;  
  18. import android.view.View;  
  19.   
  20. public class BitmapShaders extends View  
  21. {  
  22.     private LinearGradient linearGradient = null;  
  23.     private ComposeShader composeShader = null;  
  24.     private SweepGradient sweepGradient = null;  
  25.     private RadialGradient radialGradient = null;  
  26.     private BitmapShader bitmapShader = null;  
  27.     private Bitmap bitmap = null;  
  28.     private Paint paint = null;  
  29.     private ShapeDrawable shapeDrawable = null;  
  30.     private int BitmapWidth = 0;  
  31.     private int BitmapHeight = 0;  
  32.   
  33.     public BitmapShaders(Context context)  
  34.     {  
  35.         super(context);  
  36.         // 得到图像  
  37.         bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.v))  
  38.                 .getBitmap();  
  39.         BitmapWidth = bitmap.getWidth();  
  40.         BitmapHeight = bitmap.getHeight();  
  41.         // 构造渲染器LinearGradient  
  42.         linearGradient = new LinearGradient(00100100new int[] {  
  43.                 Color.RED, Color.GREEN, Color.BLUE, Color.WHITE }, null,  
  44.                 Shader.TileMode.REPEAT);  
  45.         paint = new Paint();  
  46.     }  
  47.   
  48.     @Override  
  49.     protected void onDraw(Canvas canvas)  
  50.     {  
  51.         super.onDraw(canvas);  
  52.         paint.setShader(linearGradient);  
  53.         canvas.drawRect(2050320156, paint);  
  54.     }  
  55. }  
0 0