#效果图
android实现图片平移、旋转、缩放_第1张图片
#文件目录
android实现图片平移、旋转、缩放_第2张图片
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 {    @Override    protected 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); }}       // 画原图

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

更多相关文章

  1. Android之自定义对话框AlertDialog.Builder+getLayoutInflater()
  2. android 自定义dialog
  3. android 显示gif图片
  4. Android 浏览图片层叠放大效果(CoverFlow)
  5. Android 使用自定义View画圆
  6. Android自定义对话框(Dialog)位置,大小
  7. Android 图片的缓存机制分析

随机推荐

  1. Android关于线程更新UI的方法
  2. Android(安卓)的属性分析
  3. Android和Linux kernel发展史
  4. Android图形合成和显示系统---基于高通MS
  5. Android电源管理系列之PowerManagerServi
  6. 自定义gradle插件
  7. Android 自定义Menu
  8. android AlarmManager 的相關應用
  9. Android(安卓)选择图片、上传图片之Pictu
  10. 让Activity变成一个窗口:Activity属性设定