...">
赞
踩
demo:
TestImage
1. 将 meinv.jpg 图片拷贝到以下目录TestImage\app\src\main\res\mipmap-hdpi
1.AndroidManifest.xml
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.glsite.testimage">
-
- <application
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true"
- android:theme="@style/AppTheme">
- <activity android:name=".MainActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
-
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
-
- </manifest>

2.activity_main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity">
-
- <ImageView
- android:id="@+id/iv"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- android:src="@mipmap/meinv"/>
-
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginLeft="8dp"
- android:layout_marginTop="8dp"
- android:onClick="turnBig"
- android:text="放大"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginRight="8dp"
- android:onClick="turnSmall"
- android:text="缩小"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- </android.support.constraint.ConstraintLayout>

3.activity_main2.xml
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity">
-
- <ImageView
- android:id="@+id/iv"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- android:src="@mipmap/meinv"/>
-
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginLeft="8dp"
- android:layout_marginTop="8dp"
- android:onClick="turnLeft"
- android:text="左移"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginRight="8dp"
- android:onClick="turnRight"
- android:text="右移"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- </android.support.constraint.ConstraintLayout>

4.activity_main3.xml
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity">
-
- <ImageView
- android:id="@+id/iv"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- android:src="@mipmap/meinv"/>
-
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginLeft="8dp"
- android:layout_marginTop="8dp"
- android:onClick="turnCircleLeft"
- android:text="逆时针旋转"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginRight="8dp"
- android:onClick="turnCircleRight"
- android:text="顺时针旋转"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- </android.support.constraint.ConstraintLayout>

5.activity_main4.xml
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity">
-
- <ImageView
- android:id="@+id/iv"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- android:src="@mipmap/meinv"/>
-
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginLeft="8dp"
- android:layout_marginTop="8dp"
- android:onClick="click01"
- android:text="倒影"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginRight="8dp"
- android:onClick="click02"
- android:text="镜面"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- </android.support.constraint.ConstraintLayout>

6.MainActivity.java
- package com.glsite.testimage;
-
- 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.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ImageView;
-
- public class MainActivity extends AppCompatActivity {
-
- private ImageView mIv;
- private int dx = 0;
- private int degress = 0;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main4);
- mIv = findViewById(R.id.iv);
- }
-
- /**
- * 放大
- * @param view
- */
- public void turnBig(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- matrix.setScale(2, 2);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth() * 2, bitmap.getHeight() * 2, bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- paint.setColor(Color.BLACK);
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 缩小
- * @param view
- */
- public void turnSmall(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- matrix.setScale(0.5f, 0.5f);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth() / 2, bitmap.getHeight() / 2, bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- paint.setColor(Color.BLACK);
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 左移
- * @param view
- */
- public void turnLeft(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- dx--;
- matrix.setTranslate(dx, 0);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- canvas.drawColor(Color.WHITE);
- paint.setColor(Color.BLACK);
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 右移
- * @param view
- */
- public void turnRight(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- dx++;
- matrix.setTranslate(dx, 0);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- canvas.drawColor(Color.WHITE);
- paint.setColor(Color.BLACK);
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 逆时针旋转
- * @param view
- */
- public void turnCircleLeft(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- matrix.setRotate(--degress, bitmap.getWidth(), bitmap.getHeight());
- matrix.postTranslate(100, 100);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth()*2, bitmap.getHeight()*2, bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- canvas.drawColor(Color.WHITE);
- paint.setColor(Color.BLACK);
- paint.setAntiAlias(true);// 消除锯齿
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 顺时针旋转
- * @param view
- */
- public void turnCircleRight(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- matrix.setRotate(++degress, bitmap.getWidth(), bitmap.getHeight());
- matrix.postTranslate(100, 100);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap((int)(bitmap.getWidth()*1.5), (int)(bitmap.getHeight()*1.5), bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- canvas.drawColor(Color.WHITE);
- paint.setColor(Color.BLACK);
- paint.setAntiAlias(true);// 消除锯齿
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 倒影
- * @param view
- */
- public void click01(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- matrix.setScale(1, -1);
- matrix.postTranslate(0, bitmap.getHeight());
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- canvas.drawColor(Color.WHITE);
- paint.setColor(Color.BLACK);
- paint.setAntiAlias(true);// 消除锯齿
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
-
- /**
- * 镜面
- * @param view
- */
- public void click02(View view) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.meinv);
-
- Matrix matrix = new Matrix();
- matrix.setScale(-1, 1);
- matrix.postTranslate(bitmap.getWidth(), 0);
-
- // 1.买一张纸
- Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
-
- // 2.买一个画板
- Canvas canvas = new Canvas(newBitmap);
-
- // 3.临摹绘画
- Paint paint = new Paint();
- canvas.drawColor(Color.WHITE);
- paint.setColor(Color.BLACK);
- paint.setAntiAlias(true);// 消除锯齿
- canvas.drawBitmap(bitmap, matrix, paint);
-
- mIv.setImageBitmap(newBitmap);
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。