android整合两个bitmap

转载 2011年08月17日 07:57:55
有时候会遇到这样的需求,将两个bitmap对象整合并保存为一张图片,代码如下:
private Bitmap toConformBitmap(Bitmap background, Bitmap foreground) {
         if( background == null ) {   
            return null;   
         }   
   
         int bgWidth = background.getWidth();   
         int bgHeight = background.getHeight();   
         //int fgWidth = foreground.getWidth();   
         //int fgHeight = foreground.getHeight();   
         //create the new blank bitmap 创建一个新的和SRC长度宽度一样的位图   
         Bitmap newbmp = Bitmap.createBitmap(bgWidth, bgHeight, Config.ARGB_8888);  
         Canvas cv = new Canvas(newbmp);   
         //draw bg into   
         cv.drawBitmap(background, 0, 0, null);//在 0,0坐标开始画入bg   
         //draw fg into   
         cv.drawBitmap(foreground, 0, 0, null);//在 0,0坐标开始画入fg ,可以从任意位置画入
         //save all clip   
         cv.save(Canvas.ALL_SAVE_FLAG);//保存   
         //store   
         cv.restore();//存储   
         return newbmp;   
    }
    此方法分别传入两个bitmap对象,一个为底图(背景图background),另一个则位于其上面(前景图foreground),若上面的bitmap是不透明的话,就会完全遮住下面的bitmap,那么保存为图片后,就只能看到位于上面的bitmap的信息,图片的大小为两个bitmap叠加的大小。
保存bitmap为一张图片:
private String saveBitmap(Bitmap bitmap) {
        String  imagePath = getApplication().getFilesDir().getAbsolutePath() + "/temp.png";
        
        File file = new File(imagePath);
        if(file.exists()) {
            file.delete();
        }
        try{
            FileOutputStream out = new FileOutputStream(file);
            if(bitmap.compress(Bitmap.CompressFormat.PNG, 100, out)){
                out.flush();
                out.close();
            }     
        } catch (Exception e) {
            Toast.makeText(this, "保存失败, 1).show();
            e.printStackTrace();
        }
        return imagePath;

    }


Android从view得到bitmap及bitmap叠加和保存

从view得到bitmap: private Bitmap getBitmapFromView(View view) { Bitmap bitmap = null; try { in...
  • wuzoujing
  • wuzoujing
  • 2013年05月13日 17:24
  • 6979

Android将两个bitmap合并

把两张bitmap覆盖合成为一张图 /** * 把两个位图覆盖合成为一个位图,以底层位图的长宽为基准 * @param backBitmap 在底部的位图 * @p...
  • brian512
  • brian512
  • 2016年01月22日 15:21
  • 4875

Android OpenCV实现图片叠加,水印

关于如何用纯OpenCV实现图片叠加的例子实在是太少,太多的是使用 C++,JNI实现的,如果要用C++的话,我们为啥不转行做C++ 下面的例子基于 Android JavaCV 实现了在im_bea...
  • xkyle
  • xkyle
  • 2013年07月25日 14:23
  • 9247

Android上在两个Activity之间传递Bitmap对象

通过异步Task网络下载图片,实现图片保存为内部对象在多个Activity之间共享使用,以及Java对象串行化之后在Activity之间传递的使用演示。...
  • jia20003
  • jia20003
  • 2015年12月07日 23:22
  • 7712

Android将两个bitmap合并

把两张bitmap覆盖合成为一张图 /** * 把两个位图覆盖合成为一个位图,以底层位图的长宽为基准 * @param backBitmap 在底部的位图 * @p...
  • brian512
  • brian512
  • 2016年01月22日 15:21
  • 4875

android 屏幕截图时,如何更改截图内容,将两个bitmap合并一起显示图像

android 屏幕截图时,如何更改截图内容,将两个bitmap合并一起显示图像
  • a_tao123
  • a_tao123
  • 2014年10月19日 11:44
  • 925

利用不同的方法将同一个Bitmap转为Drawable时,两个Drawable的高度和宽度不一致的原因分析

问题描述:在SD卡上有一个名为cat的图片文件,文件的大小是510px*380px。将该文件以Bitmap的格式读入内存后,再进一步的将该Bitmap对象转为Drawable对象。主要代码如下: C...
  • piglite
  • piglite
  • 2015年07月07日 14:48
  • 822

处理android bitmap oom

  • 2013年05月05日 00:00
  • 1.06MB
  • 下载

Android中Bitmap缓存池(基于2Q算法)

  • 2013年03月16日 09:47
  • 9KB
  • 下载

Android UI开发专题(五) Bitmap和Canvas实例

  • 2010年12月24日 10:00
  • 13KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android整合两个bitmap
举报原因:
原因补充:

(最多只允许输入30个字)