DaoYingActivity.java package com.example.rootimage;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Pain
package com.example.rootimage;
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 DaoYingActivity extends AppCompatActivity {
private ImageView YuanTu,change;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dao_ying);
YuanTu=findViewById(R.id.YuanTu);
change=findViewById(R.id.change);
}
public void DaoYing(View view){
Bitmap SrcBitmap = BitmapFactory.decodeFile("mnt/sdcard/img2.png");//插入文件路径
YuanTu.setImageBitmap(SrcBitmap);
Bitmap CopyBitmap = Bitmap.createBitmap(SrcBitmap.getWidth(), SrcBitmap.getHeight(), SrcBitmap.getConfig());//临摹原图
Canvas canvas = new Canvas(CopyBitmap);//创建画布
Paint paint=new Paint();//创建画笔
paint.setColor(Color.BLUE);
Matrix matrix=new Matrix();//matrix是矩阵的意思
matrix.setScale(1,-1);//原图横坐标不变,纵坐标取反
matrix.postTranslate(0,SrcBitmap.getHeight());//取反后在纵向移动原图的高
canvas.drawBitmap(SrcBitmap,matrix,paint);
change.setImageBitmap(CopyBitmap);
}
}
MirrorActivity.java
package com.example.rootimage;
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.webkit.WebView;
import android.widget.ImageView;
public class MirrorActivity extends AppCompatActivity {
private ImageView YuanTu,change;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mirror);
YuanTu= findViewById(R.id.YuanTu);
change=findViewById(R.id.change);
}
public void mirror(View view){
Bitmap SrcBitmap = BitmapFactory.decodeFile("mnt/sdcard/img3.png");
YuanTu.setImageBitmap(SrcBitmap);
Bitmap mirrorBitmap = Bitmap.createBitmap(SrcBitmap.getWidth(), SrcBitmap.getHeight(), SrcBitmap.getConfig());
Canvas canvas=new Canvas(mirrorBitmap);
Paint paint=new Paint();
paint.setColor(Color.BLACK);
Matrix matrix=new Matrix();
matrix.setScale(-1,1);
matrix.postTranslate(SrcBitmap.getWidth(),0);//实现镜像效果,postTranslate方法在原有变换上再加以变换。
canvas.drawBitmap(SrcBitmap,matrix,paint);
change.setImageBitmap(mirrorBitmap);
}
}
activity_dao_ying.xml
activity_mirror.xml
