具体的看一下博文:Android学习笔记进阶15之Shader渲染

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

BitmapShaders.Java

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

最新文章

  1. JQuery插件定义
  2. c#中抽象类(abstract)和接口(interface)的相同点与区别
  3. jdbc中c3p0的配置信息
  4. 什么情况下用+运算符进行字符串连接比调用StringBuffer/StringBuilder对象的append性能好
  5. Oracle数据字典详解
  6. Android学习小Demo(21)ListView的联动选择
  7. 卸载jdk以及重新安装jdk
  8. AndroidManifest.xml file missing 解决方案
  9. 【HDU 5808】 Price List Strike Back (整体二分+动态规划)
  10. TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。
  11. js实现超出一定字数隐藏并用省略号"..."代替,点击后又可进行展开和收起,
  12. 初探IAT
  13. python常用数据结构
  14. python之路--day6--字符编码
  15. Java项目源码为什么要做代码混淆(解释的很好)
  16. Python存储系统(Redis)
  17. ES6,扩展运算符的用途
  18. Oracle数据库入门——体系结构
  19. Cannot assign “A1”: “B1” must be a “C1” instance.
  20. 检查浏览器是否已经启用Java支持功能

热门文章

  1. WHU 1540 Fibonacci 递推
  2. No enclosing instance of type E is accessible.
  3. HBase源代码分析之HRegion上MemStore的flsuh流程(二)
  4. URAL 1614. National Project “Trams” (图论大YY)
  5. IIS Modules Overview
  6. apiCloud手动检测更新
  7. HDU 5353 Average 贪心
  8. Chromium Graphics: HW Video Acceleration in Chrom{e,ium}{,OS}
  9. Linux桌面词典 GoldenDict词典
  10. 今日SGU 5.13