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

 时间:2024-10-13 16:58:51

1、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.MyView android:layout_width="fill_parent" android:layout_height="fill_parent" /></RelativeLayout>

2、MainActivity.javapackage 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); }}

3、MyView.javapackage 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 { // 继承View private Bitmap bitmap = null ; // 定义bitmap private Matrix matrix = new Matrix(); // 定义matrix private Matrix matrix1 = new Matrix(); // 定义matrix public 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); }} // 画原图

android实现图片平移、旋转、缩放
  • 关于装修卡座的设计有哪些?
  • 3Ds Max怎么渲染线条线
  • 3dsMax如何绘制立方体
  • 艺术品展厅设计特点
  • KeyShot导入3ds文件的5种方法!
  • 热门搜索
    精子是什么颜色 canteen是什么意思 四大发明都有什么 全套什么意思 清江鱼是什么鱼 严格的反义词是什么 沉重的反义词是什么 十月初一是什么节 什么是纯净水 美联储加息是什么意思