AI智能
改变未来

android实现图片平移、旋转、缩放

#效果图

#文件目录

activity_main.xml

<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"xmlns:tools=\"http://schemas.android.com/tools\"android:layout_width=\"match_parent\"android:layout_height=\"match_parent\"android:paddingBottom=\"@dimen/activity_vertical_margin\"android:paddingLeft=\"@dimen/activity_horizontal_margin\"android:paddingRight=\"@dimen/activity_horizontal_margin\"android:paddingTop=\"@dimen/activity_vertical_margin\"android:background=\"#fedd00\"tools:context=\"com.example.test8_2.MainActivity\" ><com.example.test8_2.MyViewandroid:layout_width=\"fill_parent\"android:layout_height=\"fill_parent\" /></RelativeLayout>

MainActivity.java

package com.example.test8_2;import android.app.Activity;import android.os.Bundle;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}}

MyView.java

package com.example.test8_2;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Matrix;import android.util.AttributeSet;import android.view.View;public class MyView extends View {	            // 继承Viewprivate Bitmap bitmap = null ;                    // 定义bitmapprivate Matrix matrix = new Matrix();              // 定义matrixprivate Matrix matrix1 = new Matrix();              // 定义matrixpublic MyView(Context context, AttributeSet attrs) {super(context, attrs);this.bitmap = BitmapFactory.decodeResource(super.getResources(),R.drawable.love); // 取得Bitmap// 创建一个指定大小的图片this.bitmap = Bitmap.createScaledBitmap(this.bitmap, 80, 120,true);// 对图片进行缩放、旋转、平移操作this.matrix.preScale(1.3f, 1.3f, 100, 150);	       // 放大1.3倍this.matrix.preRotate(0, 100, 150) ;    	       // 在指定坐标翻转0度this.matrix.preTranslate(100, 70) ;               // 图像平移// 对图片进行缩放、旋转、平移操作this.matrix1.preScale(0.5f, 0.5f, 230, 150);	       // 缩小一倍this.matrix1.preRotate(60, 230, 150) ;    	       // 在指定坐标翻转60度this.matrix1.preTranslate(230, 70) ;}	            // 图像平移protected void onDraw(Canvas canvas) {	      	// 覆写onDraw()方法canvas.drawBitmap(this.bitmap, this.matrix, null);  // 画变换后的图canvas.drawBitmap(this.bitmap, this.matrix1, null);  // 画变换后的图canvas.drawBitmap(this.bitmap, 0,0, null); }}       // 画原图

如需要源码,可以留言!!!!!!!!!!

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » android实现图片平移、旋转、缩放