android canvas读取背景图片,涂鸦之后保存
============问题描述============
利用下面的代码读取到sd卡内的图片,显示出来
setBackgroundDrawable(new BitmapDrawable(BitmapFactory.decodeFile("/storage/sdcard/bg.jpg")));
然后进行涂鸦,涂鸦完成后进行保存,只剩下我画笔画的那些涂鸦部分,背景图没保存
因为是在背景图上进行涂鸦的,如何让涂鸦和背景图一起保存
保存代码:
myCanvas.save(Canvas.ALL_SAVE_FLAG); myCanvas.restore(); File f = new File("/storage/sdcard/","bg.jpg"); if(f.exists()){ f.delete(); } FileOutputStream fos = null; try { fos = new FileOutputStream(f); myBitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos); try { fos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }
============解决方案1============
可以在保存canvas之前加载历史背景图片,然后再加载一下要保存的界面,这样就可以保存住了
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。