[android] 11_图片合成

Android 4.0

图片合成

paint.setXfermode(new PorterDuffXfermode(
                android.graphics.PorterDuff.Mode.SRC_OVER));
矩形代表src
核心代码:
package cn.zengfansheng.imgjoin;
 
import android.app.Activity;
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.os.Bundle;
import android.widget.ImageView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // TODO 一、先把美女图片加载到内存
        // 1、获取一个immutable的bitmap
        Bitmap bitmapGirl = BitmapFactory.decodeResource(this.getResources(),
                R.drawable.pre17);
 
        // 2、创建mutable的bitmap
        Bitmap alterBitmap = Bitmap.createBitmap(bitmapGirl.getWidth(),
                bitmapGirl.getHeight(), bitmapGirl.getConfig());
 
        // 3、创建一个空的画布
        Canvas canvas = new Canvas(alterBitmap);
 
        // 4、获取一支画笔
        Paint paint = new Paint();
        paint.setColor(Color.RED);
 
        // 5、将美女画到画布上去
        canvas.drawBitmap(bitmapGirl, new Matrix(), paint);
 
        // TODO 二、将机器人画在美女身上
        Bitmap icLauncherBitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.ic_launcher);
        // canvas.drawBitmap(icLauncherBitmap, new Matrix(), paint);
        canvas.drawBitmap(icLauncherBitmap, 30, 30, paint);
 
        ImageView iv = (ImageView) this.findViewById(R.id.iv);
        iv.setImageBitmap(alterBitmap);
 
    }
 
}
结果: