Android bitmap中Matrix的几个操作
2014-06-07 22:22
411 查看
package com.example.green2_2; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.Path; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.view.View; public class EView extends View{ Paint pt=new Paint(); public EView(Context context) { super(context); // TODO Auto-generated constructor stub } protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); pt.setColor(Color.RED); pt.setStyle(Style.STROKE); pt.setStrokeWidth(3); canvas.drawLine(0 , 0, 40,40, pt); //canvas.drawArc(null, 34, 29, false, pt); canvas.drawRect(20, 20, 60, 90, pt); canvas.drawCircle(44,44, 30, pt); Rect rect=new Rect(90, 90, 150, 150); RectF rectf=new RectF(rect); //必须用RectF转换 Bitmap btp=null; Matrix mtx=new Matrix(); canvas.drawRect(rect, pt); canvas.drawArc(rectf, 45, 145, false, pt); //canvas.drawArc(rect, 90, 45, false, pt); Path pth=new Path(); pth.lineTo(150, 150); pth.lineTo(150, 180); pth.close(); //pth.close(); canvas.drawPath(pth, pt); pt.setStrokeWidth(1); pt.setColor(Color.DKGRAY); canvas.drawText("Bill Gates",100, 79, pt); canvas.drawTextOnPath("You are great!", pth, 1, 1, pt); btp=BitmapFactory.decodeResource(this.getResources(),R.drawable.ic_launcher); //btp=(BitmapDrawable)this.getResources().getDrawable(R.drawable.ic_launcher); canvas.drawBitmap(btp, 200, 100, pt); mtx.setTranslate(100, 100); //在Bitmap的各个set...方法中,各个方法会覆盖 mtx.setRotate(45); mtx.setRotate(45, 20, 20); //以坐标点(20,20)为中心进行旋转45度 mtx.postSkew(1f, 2f); //post类的函数可以延续前面的set类函数 mtx.preTranslate(100, 100); //pre类的函数的目的在于将这个函数的功能作为mtx的第一个函数执行 canvas.drawBitmap(btp, mtx, pt); //对位图进行变形(各种图片的操作) } }
相关文章推荐
- Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
- Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
- Android 绘图基础:Bitmap(位图)与Matrix(矩阵)实现图片5种操作(平移、旋转、错切、缩放、对称)
- Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
- Android图片操作(Bitmap)
- Android Bitmap开发之基本操作
- Android显示系统之Pixel、Bitmap、Drawable、Canvas、Paint和Matrix之间的联系
- Android显示系统之Pixel、Bitmap、Drawable、Canvas、Paint和Matrix之间的联系
- Android 图片操作(Bitmap)
- Android中常用的位图操作(View与Bitmap转化、圆角、灰化、提取Alpha、旋转、倒影、剪切……)
- Android中常用的位图操作(View与Bitmap转化、圆角、灰化、提取Alpha、旋转、倒影、剪切……)
- Android 图片操作(Bitmap)
- Android应用程序开发之图片操作(一)——Bitmap,surfaceview,imageview,Canvas
- Android----Bitmap、Matrix
- 【Android】Android WebView 的几个操作
- Matrix对bitmap的一些操作
- Android 图片操作(Bitmap)
- [原]android 中如何飞行模式的几个操作
- android Matrix 操作
- android Bitmap的一些操作