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-合并两张图片bitmap

android-合并两张图片bitmap

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

从view得到bitmap: private Bitmap getBitmapFromView(View view) { Bitmap bitmap = null; try { in...

Android将两个bitmap合并

把两张bitmap覆盖合成为一张图 /** * 把两个位图覆盖合成为一个位图,以底层位图的长宽为基准 * @param backBitmap 在底部的位图 * @p...

Android:使用Canvas合并Bitmap

关键点 canvas.drawBitmap(bitmap, srcRect, dstRect, null);将bitmap的srcRect区域绘制到canvas的dstRect区域 Demo main...

Android对图片的各种平移,缩放,拖动

Android单点触控技术,对图片进行平移,缩放,旋转操作 相信大家使用多点对图片进行缩放,平移的操作很熟悉了,大部分大图的浏览都具有此功能,有些app还可以对图片进行旋转操作,QQ的大图浏...

android图片叠加方法

Android有时候会遇到需要两张图片叠加起来的效果,现记录如下: /* *此方法分别传入两个bitmap对象,一个为底图(背景图background), *另一个则位于其上面(前景图foregrou...

Android 图片旋转,缩放,切割,叠加处理

/**       * 图片反转       * @param img       * @return       */       public Bitmap toturn(Bitmap ...

bitmap和canvas实现图层叠加(可实现灰色遮罩)

---- bitmap和canvas画出叠加的2张照片 --- 图片1原图 ------ 图片2原图 --------- 代码实现 BitmapFactory....
  • musk6
  • musk6
  • 2017年04月01日 15:39
  • 664

android下view的画布和Bitmap及叠加覆盖

android下view的画布和Bitmap及叠加覆盖
  • toplist
  • toplist
  • 2011年07月06日 21:20
  • 3941

将两个Bitmap资源合成一张bitmap

很好的方法,可以直接使用 /**   * 合并两张bitmap为一张   * @param background   * @param foreground   * @return Bitm...
  • chunho
  • chunho
  • 2014年01月10日 14:24
  • 1801
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android整合两个bitmap
举报原因:
原因补充:

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