创建副本图片

Posted SoulCode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建副本图片相关的知识,希望对你有一定的参考价值。

#在内存中创建图片的副本(掌握)
       直接加载的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);

以上是关于创建副本图片的主要内容,如果未能解决你的问题,请参考以下文章

根据图片的url地址下载图片到本地保存代码片段

十个html5代码片段,超实用,一定要收藏

自定义对话框片段

几个可以直接拿来用的jQuery代码片段

几个可以直接拿来用的jQuery代码片段

如何拖动动态创建的图片框?