package com.android.activity;
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.util.AttributeSet;
import android.util.FloatMath;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback,Runnable{
private SurfaceHolder holder=null; //控制对象
Point point ;
Bitmap bitmap ;
Matrix matrix;
Matrix savedMatrix;
public MySurfaceView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
holder=getHolder();
holder.addCallback(this);
}
public MySurfaceView(Context context, AttributeSet attrs) {
super(context, attrs);
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.i);
bitmapWidth = bitmap.getWidth();
bitmapHeight = bitmap.getHeight();
matrix = new Matrix();
matrix.setTranslate(0f, 0f);
savedMatrix = new Matrix();
savedMatrix.setTranslate(0f, 0f);
holder=getHolder();
holder.addCallback(this);
}
float oldDistance,newDistance,oldAngle;
private final int DRAG = 1;
private final int ZOOM = 2;
private final int NONE = 3;
private int flag;
private final int flagCount = 5;
private int action = NONE;
Point startPoint = new Point();
Point currentPoint = new Point();
Point midPoint = new Point();
Point pointMid;
Paint paint = new Paint();
private Point bitmapLeftTop,bitmapRightBottom;
private float scale;
private float fontScale = 1;
private float fontTransX = 0;
private float fontTransY = 0;
float leftSide,topSide,fontX,fontY;
private float b
图片放大缩小并且文字与图片相对位置不变
最新推荐文章于 2022-07-25 18:34:23 发布