图片缩放,旋转,平移,镜面效果,倒影效果,图片合成

package com.example.test;

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.widget.ImageView;

public class TestBitmap2 extends AppCompatActivity {
private ImageView mIv1,mIv2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test_bitmap2);
        mIv1= (ImageView) findViewById(R.id.iv_bit1);
        mIv2= (ImageView) findViewById(R.id.iv_bit2);
        Bitmap bitmap1= BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
        mIv1.setImageBitmap(bitmap1);

        Bitmap bitmap2=Bitmap.createBitmap(bitmap1.getWidth(),bitmap1.getHeight(),bitmap1.getConfig());
        Canvas canvas=new Canvas(bitmap2);
        Paint paint=new Paint();
        paint.setColor(Color.BLACK);
        Matrix matrix=new Matrix();

        //图片缩放
       /* matrix.setValues(new float[]{
                0.5f,0,0,
                0,0.5f,0,
                0,0,1
        });*/

        //图片旋转
       // matrix.setRotate(180,bitmap1.getWidth()/2,bitmap1.getHeight()/2);
      /*  matrix.setRotate(15);
        paint.setAntiAlias(true);//消除锯齿*/

        //图片平移
        matrix.setTranslate(10,10);//水平和竖直方向移动10个像素

        //镜子效果
      /*  matrix.setScale(-1,1);
        matrix.postTranslate(bitmap1.getWidth(),0);*/

        //倒影效果
       /* matrix.setScale(1,-1);
        matrix.postTranslate(0,bitmap1.getHeight());
        canvas.drawBitmap(bitmap1,matrix,paint);*/

        mIv2.setImageBitmap(bitmap2);


    }
}
package com.example.test;

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.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class TestBitmap3 extends AppCompatActivity {
private ImageView mIv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test_bitmap3);
        mIv= (ImageView) findViewById(R.id.iv_bit3);
        //图片合成画布,   先画图片A,再画图片B
        Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.ic_guide_1);
        Bitmap alterBitmap=Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),bitmap.getConfig());
        Canvas canvas=new Canvas(alterBitmap);
        Paint paint=new Paint();
        paint.setColor(Color.BLACK);
        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DARKEN));//设置图形的混合模式
        canvas.drawBitmap(bitmap,new Matrix(),paint);
        Bitmap ic_luncher=BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
        canvas.drawBitmap(ic_luncher,new Matrix(),paint);
        mIv.setImageBitmap(alterBitmap);
    }
}
原文地址:https://www.cnblogs.com/jiang2538406936/p/6029141.html