码迷,mamicode.com
首页 > 其他好文 > 详细

创建副本图片

时间:2017-02-13 14:05:06      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:etc   idt   lin   alt   code   ima   color   bit   画板   

#在内存中创建图片的副本(掌握)
       直接加载的bitmap对象是只读的,无法修改,要修改图片只能在内存中创建出一个一模一样的bitmap副本,然后修改副本
 
       //第一步:加载原图
Bitmap srcBm = BitmapFactory.decodeFile("sdcard/photo3.jpg");
        iv_src.setImageBitmap(srcBm);
        
       / /第二步:/创建与原图大小一致的空白bitmap
        Bitmap copyBm = Bitmap.createBitmap(srcBm.getWidth(), srcBm.getHeight(), srcBm.getConfig());
        //第三步:定义画笔
        Paint paint = new Paint();
        //第四步:把纸铺在画版上
        Canvas canvas = new Canvas(copyBm);
        //第五步:把srcBm的内容绘制在copyBm上
        canvas.drawBitmap(srcBm, new Matrix(), paint);
        
        iv_copy.setImageBitmap(copyBm);
 
部分代码如下:
 
//加载原图
Bitmap bmSrc = BitmapFactory.decodeResource(getResources(), R.drawable.photo3);
 
//创建副本
//1.创建与原图一模一样大小的bitmap对象,该对象中目前是没有内容的,可以比喻为创建了和原图一样大小的白纸
Bitmap bmCopy = Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(), bmSrc.getConfig());
//2.创建画笔对象
Paint paint = new Paint();
//3.创建画板,把白纸铺到画板上
Canvas canvas = new Canvas(bmCopy);
//4.开始作画
canvas.drawBitmap(bmSrc, new Matrix(), paint);
 
ImageView iv_src = (ImageView) findViewById(R.id.iv_src);
iv_src.setImageBitmap(bmSrc);
ImageView iv_copy = (ImageView) findViewById(R.id.iv_copy);
iv_copy.setImageBitmap(bmCopy);

创建副本图片

标签:etc   idt   lin   alt   code   ima   color   bit   画板   

原文地址:http://www.cnblogs.com/SoulCode/p/6393347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!