Android 多媒体开发学习之创建图片的副本

上海杰彻自动化设备有限公司 发布时间:2017-09-05 12:12:20
Android 多媒体开发学习之创建图片的副本

什么叫创建图片的副本? 因为我们直接从BitmapFactory取出来的图片是可读的,是不可以修改的。 假设用户想修改这张图片,一般是先根据原图在内存中创建和原图一模一样大小的图片,然后在上面修改,用户感觉好像是在原图上修改了,其实不然。

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1: 先需要获取到原图片. 注意:我们获得的图片是只读的,是不能写的,如果想修改图片,就得创建图片的copy Bitmap bmsRc = BitmapFactory.decodeResource(getResources(), R.drawable.abc); //2:创建图片的copy,可以在内存中创建一个和原图一模一样大小的bitmap Bitmap bmCopy = Bitmap.createBitmap(bmsRc.getWidth(), bmsRc.getHeight(), bmsRc.getConfig()); //2.1 创建一个画笔 Paint paint = new Paint(); //2.2 创建画板对象 Canvas canvas = new Canvas(bmCopy); //2.3 开始绘制和原图一模一样 canvas.drawBitmap(bmsRc, new Matrix(), paint); //在图片上绘制一条直线,代表图片的副本是可以修改的 canvas.drawLine(30, 30, 400, 400, paint); ImageView iv_src = (ImageView) findViewById(R.id.lv1); ImageView iv_copy = (ImageView) findViewById(R.id.lv2); //显示 iv_src.setImageBitmap(bmsRc); iv_copy.setImageBitmap(bmCopy); } } 其实创建图片的副本很简单,就如上代码描述一样

效果图如下:

\

可以明显的看见,第二张图片是可以修改的。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:宜昌网站建设 http://yichang.45qun.com

  • 上一篇:jsp中page指令常用属性
  • 下一篇:最后一页
  •