zoukankan      html  css  js  c++  java
  • 创建副本图片

    #在内存中创建图片的副本(掌握)
           直接加载的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);
  • 相关阅读:
    (二)数据源处理2-xlrd操作excel
    (二)数据源处理1-configparser读取.ini配置文件
    数据源处理概述(二)
    接口自动化框架概述(一)
    git文件操作
    git分支管理
    git标签管理
    Monkey
    adb命令大全
    Springboot使用AOP实现统一处理Web请求日志
  • 原文地址:https://www.cnblogs.com/SoulCode/p/6393347.html
Copyright © 2011-2022 走看看