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图片特效处理之图片叠加

这篇将讲到图片特效处理的图片叠加效果。跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片...
  • SJF0115
  • SJF0115
  • 2012-02-17 10:50:06
  • 15109

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

从view得到bitmap: private Bitmap getBitmapFromView(View view) { Bitmap bitmap = null; try { in...
  • wuzoujing
  • wuzoujing
  • 2013-05-13 17:24:46
  • 7184

android-合并两张图片bitmap

android-合并两张图片bitmap
  • centralperk
  • centralperk
  • 2013-12-27 20:25:57
  • 14747

Android将两个bitmap合并

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

将两个Bitmap资源合成一张bitmap

很好的方法,可以直接使用 /**   * 合并两张bitmap为一张   * @param background   * @param foreground   * @return Bitm...
  • chunho
  • chunho
  • 2014-01-10 14:24:01
  • 2433

Android:使用Canvas合并Bitmap

关键点 canvas.drawBitmap(bitmap, srcRect, dstRect, null);将bitmap的srcRect区域绘制到canvas的dstRect区域 Demo main...
  • NUPTboyZHB
  • NUPTboyZHB
  • 2015-02-12 11:48:40
  • 3176

Android合并两张bitmap为一张

/** * 合并两张bitmap为一张 * @param background * @param foreground * @return Bitmap */ public st...
  • thini
  • thini
  • 2013-02-28 11:49:15
  • 3469

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

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

Android bitmap合成图片

//根据项目需要,在一张图片上合成另一张图片(压缩后的),显示到预览图的imageview上,然后分享出去 大致思路:1,获取网络图片,计算宽高   2,预定于压缩后图片的宽高(也可是相对屏幕宽高的百...
  • qq_35506618
  • qq_35506618
  • 2017-09-27 10:23:45
  • 322

android 利用canvas 获取裁切或者合并后的bitmap对象

1  图片裁切     备注:创建图片还是很耗内存的,所以不论是图片的和平还是裁切都比较耗内存,利用canvas还是可以以节       约内存的方式实现        mBitWidth 为原图宽度...
  • zs20082012
  • zs20082012
  • 2017-12-05 12:15:14
  • 263
收藏助手
不良信息举报
您举报文章:android整合两个bitmap
举报原因:
原因补充:

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