canvas教程

Android画图之Bitmap

字号+ 作者:H5之家 来源:H5之家 2015-10-05 14:10 我要评论( )

Android画图之Bitmap:Android画图之Bitmap(一) 要把一个 Bitmap 画到 View 上,必须用到的类有 android.graphics.Canvas, 和 ...

Android画图之Bitmap(一)

public class MyView extends View { private Bitmap mBitmap; public MyView(Context context) { super(context); initialize(); } private void initialize() { Bitmap bmp = ((BitmapDrawable)getResources().getDrawable(R.drawable.show)).getBitmap(); mBitmap = bmp; } @Override protected void onDraw(Canvas canvas) { // super.onDraw(canvas); //当然,如果界面上还有其他元素需要绘制,只需要将这句话写上就行了。 canvas.drawBitmap(mBitmap, 0, 0, null); } } 结果:

结果

原图:

原图


然这仅仅只是第一步,但是很鼓舞人心呢,呵呵。

上面是直接将原图画在屏幕上,没有任何处理,因为图片比屏幕大,所以超出的部分看不到。我们试着将图片拉伸以填满整个屏幕。

public class MyView extends View { private Bitmap mBitmap; private Matrix mMatrix = new Matrix(); private static int mScreenWidth; private static int mScreenHeight; public MyView(Context context) { super(context); initialize(); } private void initialize() { DisplayMetrics dm = getResources().getDisplayMetrics(); mScreenWidth = dm.widthPixels; mScreenHeight = dm.heightPixels; Bitmap bmp = ((BitmapDrawable)getResources().getDrawable(R.drawable.show)).getBitmap(); mBitmap = Bitmap.createScaledBitmap(bmp, mScreenWidth, mScreenHeight, true); } @Override protected void onDraw(Canvas canvas) { // super.onDraw(canvas); //当然,如果界面上还有其他元素需要绘制,只需要将这句话写上就行了。 canvas.drawBitmap(mBitmap, 0, 0, null); } }


显示结果:

充满屏幕

下面一篇将介绍对Bitmap的一些操作。

Android画图之Bitmap(二)

mBitmap = Bitmap.createBitmap(bmp, 100, 100, 120, 120);





缩放

Bitmap mBitmap = Bitmap.createScaledBitmap(bmp, mScreenWidth, mScreenHeight, true); canvas.drawBitmap(mBitmap, null, new Rect(0, 0, 200, 200), null);

canvas.drawBitmap(mBitmap, new Rect(100, 100, 300, 300), new Rect(100, 100, 200, 200), null);


 

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

相关文章
  • Canvas与ValueAnimator

    Canvas与ValueAnimator

    2017-04-28 18:00

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

    Android Bitmap和Canvas学习笔记(转)

    2017-04-28 17:00

  • HTML5 canvas 作画板画图 可以做电子白板

    HTML5 canvas 作画板画图 可以做电子白板

    2017-04-27 12:02

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

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

    2017-04-27 12:00

网友点评
0