canvas教程

Android Bitmap和Canvas学习笔记 (2)

字号+ 作者:H5之家 来源:H5之家 2016-01-16 15:29 我要评论( )

转换为BitmapDrawable对象显示位图 // 获取位图 Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180); // 转换为Bitma ……此处隐藏了1414个字

转换为BitmapDrawable对象显示位图

  // 获取位图

  Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180);

  // 转换为BitmapDrawable对象

  BitmapDrawable bmpDraw=new BitmapDrawable(bmp);

  // 显示位图

  ImageView iv2 = (ImageView)findViewById(R.id.ImageView02);

  iv2.setImageDrawable(bmpDraw);

  使用Canvas类显示位图

  这儿采用一个继承自View的子类Panel,在子类的OnDraw中显示

  public class MainActivity extends Activity {

  /** Called when the activity is first created. */

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(new Panel(this));

  }

  class Panel extends View{

  public Panel(Context context) {

  super(context);

  }

  public void onDraw(Canvas canvas){

  Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);

  canvas.drawColor(Color.BLACK);

  canvas.drawBitmap(bmp, 10, 10, null);

  }

  }

  }

  4. 位图缩放

  (1)将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样:drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)。

  (2)在原有位图的基础上,缩放原位图,创建一个新的位图:CreateBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)

  (3)借助Canvas的scale(float sx, float sy) (Preconcat the current matrix with the specified scale.),不过要注意此时整个画布都缩放了。

  (4)借助Matrix:

  Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);

  Matrix matrix=new Matrix();

  matrix.postScale(0.2f, 0.2f);

  Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),

  bmp.getHeight(),matrix,true);

  canvas.drawColor(Color.BLACK);

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Canvas与ValueAnimator

    Canvas与ValueAnimator

    2017-04-28 18:00

  • Android Bitmap和Canvas学习笔记(转)

    Android Bitmap和Canvas学习笔记(转)

    2017-04-28 17:00

  • 21天学习android开发教程之SurfaceView与多线程的混搭

    21天学习android开发教程之SurfaceView与多线程的混搭

    2017-04-27 12:00

  • Android画图学习免费下载

    Android画图学习免费下载

    2017-04-27 11:01

网友点评
c