package com.itheima74.copybitmap;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.support.v7.app.AppCompatActivity;import android.widget.ImageView;/** * 创建原图的副本 */public class MainActivity extends AppCompatActivity { @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv_src = (ImageView) findViewById(R.id.iv_src); ImageView iv_copy = (ImageView) findViewById(R.id.iv_copy); Bitmap bitmap_src = BitmapFactory.decodeResource(getResources(), R.drawable.tomcat); iv_src.setImageBitmap(bitmap_src); // 操作原图,报错,不可以直接操作原图 // bitmap_src.setPixel(50,50, Color.RED); // 创建一个原图的副本 Bitmap bitmap_copy = Bitmap.createBitmap(bitmap_src.getWidth(), bitmap_src.getHeight(), bitmap_src.getConfig());// 配置副本参数 Paint paint = new Paint();// 画笔 Canvas canvas = new Canvas(bitmap_copy);// 画布 // 开始作画,参考原图,此行代码执行完毕bitmap_copy有内容 canvas.drawBitmap(bitmap_src, new Matrix(), paint); // 操作副本 for (int i = 0; i < 50; i++) { bitmap_copy.setPixel(50 + i, 50, Color.RED); } iv_copy.setImageBitmap(bitmap_copy); }}
新闻热点
疑难解答