0 0

android 保存图片 合成图片3

在网上看见一段代码如下:


生成水印的过程。其实分为三个环节:第一,载入原始图片;第二,载入水印图片;第三,保存新的图片。


1./** 
2.    * create the bitmap from a byte array 
3.    *
4.    * @param src the bitmap object you want proecss
5.    * @param watermark the water mark above the src
6.    * @return return a bitmap object ,if paramter's length is 0,return null
7.    */ 
8.   private Bitmap createBitmap( Bitmap src, Bitmap watermark )  
9.   {  
10.       String tag = "createBitmap";  
11.       Log.d( tag, "create a new bitmap" );  
12.       if( src == null )  
13.       {  
14.           return null;  
15.       }  
16. 
17.       int w = src.getWidth();  
18.       int h = src.getHeight();  
19.       int ww = watermark.getWidth();  
20.       int wh = watermark.getHeight();  
21.       //create the new blank bitmap  
22.       Bitmap newb = Bitmap.createBitmap( w, h, Config.ARGB_8888 );//创建一个新的和SRC长度宽度一样的位图  
23.       Canvas cv = new Canvas( newb );  
24.       //draw src into  
25.       cv.drawBitmap( src, 0, 0, null );//在 0,0坐标开始画入src  
26.       //draw watermark into  
27.       cv.drawBitmap( watermark, w - ww + 5, h - wh + 5, null );//在src的右下角画入水印  
28.       //save all clip  
29.       cv.save( Canvas.ALL_SAVE_FLAG );//保存  
30.       //store  
31.       cv.restore();//存储  
32.       return newb;  
33.   } 

找上面里说应该是在第一张图片上有了水印,那我怎么去得到这张有水印的图片呢

问题补充:
joe_zhpf 写道
返回的这个 不就是 最后处理后得到的带有水印的图片?
图片写文件 Bitmap有个 compess方法.
程序逻辑实际是:
  先建立一个 空可读可写 的 bitmap, desBtimap

  载入 背景图片(原始图片)(这个是只是可读的) 把背景图片的像素信息画到 先前建立的可读写的bitmap,即desBtimap中
 
   接着载入水印图片,根据 需要在指定的位置 把水印图片的像素信息,画到 desBitmap中.

    保存后,返回 desBitmap即是得到的带有水印的图片.
 


嗯,你说的这个我也知道,我刚接触,不太懂,我的意思是如何处理返回的这个desBitmap呢,代码中只把它return之后就没了,我想知道return之后怎么做,就是说我打开文件夹就能开间带有水印的图片了,烦你指导下啊,谢谢
2010年8月15日 17:47

2个答案 按时间排序 按投票排序

0 0

我理解你是想把bitmap保存文件?
  如果你是想存文件, 前面我也提到了.bitmap类有个写文件的方法compress,这个方法使用 可以看 api.
    举个例子:
     首先获得带有水印的图片,desBitmap.

   File bitmapFile = new File(路径,文件名);
   FileOutputStream bitmapWtriter = new FileOutputStream(bitmapFile);
   if(desBitmap.compress(Bitmap.CompressForma.png, 100, bitmapWtiter)) {
     Log.d("TAG","保存文件成功!");
}

   

你就可以到 你指定的目录下看你保存的图片了.


    

2010年8月16日 23:56
0 0

返回的这个 不就是 最后处理后得到的带有水印的图片?
图片写文件 Bitmap有个 compess方法.
程序逻辑实际是:
  先建立一个 空可读可写 的 bitmap, desBtimap

  载入 背景图片(原始图片)(这个是只是可读的) 把背景图片的像素信息画到 先前建立的可读写的bitmap,即desBtimap中
 
   接着载入水印图片,根据 需要在指定的位置 把水印图片的像素信息,画到 desBitmap中.

    保存后,返回 desBitmap即是得到的带有水印的图片.
 

2010年8月15日 22:41

相关推荐

    android图片的合成(一分钟学会)

    5. **保存合成图片**:完成绘制后,可以使用Bitmap的`compress(Bitmap.CompressFormat format, int quality, OutputStream stream)`方法将Bitmap保存为文件或流。常见的格式有JPEG和PNG,quality参数代表质量,范围...

    android 把多张图片合成MP4视频Demo

    在Android平台上,将多张图片合成MP4视频是一项常见的需求,比如制作相册视频或动态壁纸。本示例代码提供了一种实现方法,通过利用Android自带的多媒体处理库,将静态图片转换为动态的视频流。以下是这个过程涉及的...

    Android图片合成相框合成

    在Android开发中,图片合成与相框合成是常见的图像处理技术,主要应用于各种社交媒体应用、照片编辑应用等。本文将详细讲解如何在Android环境中实现不规则图片合成与不规则相框合成。 首先,我们需要理解图片合成的...

    安卓 图片合成视频(利用javacv)

    4. **关闭录制器**:完成所有图片的录制后,关闭`FFmpegFrameRecorder`以保存视频文件。 在项目中,用户输入一个文件夹名称,程序会遍历该文件夹下的所有JPG图片,按照上述步骤进行合成。需要注意的是,为了保证...

    Android 截屏并且合成截屏图片

    在Android平台上,截屏功能是用户日常操作的一部分,开发者也可以通过编程方式实现自动化或定制化的截屏需求。本文将深入探讨如何在Android...通过这种方式,你可以创建出具有自定义截屏和图片合成功能的Android应用。

    camera相关操作(拍照,图片合成)

    图片合成通常涉及将多张照片合并为一张,可以应用于拼贴图、水印添加或背景替换等多种场景。在Android中,我们可以使用`Bitmap`类来处理图像,`Canvas`用于绘制,`Paint`则可以设置绘制样式。首先,创建一个足够大的...

    android截屏保存为图片

    通过理解Android系统的工作原理并实现上述步骤,我们可以在不需root权限的情况下在Android设备上实现截屏并保存图片的功能。这对于开发自定义截屏应用或集成到现有应用中都是非常有用的。文件列表中的"截屏并保存...

    Android实现图片叠加效果的两种方法

    在Android开发中,图片叠加效果是一种常见的视觉设计需求,它能增强用户界面的美观性和交互体验。本篇文章将深入探讨两种实现图片叠加效果的方法,并提供详细的代码示例。 首先,第一种方法是通过Canvas进行绘制。...

    Android-ImageToVideoAndroid用于将图像轻松转换成视频

    图片转视频的过程主要基于多媒体处理技术,通过逐帧将图片合成到视频流中。在Android系统中,这通常涉及到`MediaCodec`和`MediaMuxer`这两个关键组件。`MediaCodec`用于编码图片数据,`MediaMuxer`则负责将编码后的...

    在android将pdf转成生图片

    7. **权限管理**:在Android 6.0及以上版本,需要用户动态授予读取外部存储的权限,以访问PDF文件和保存图片。 8. **错误处理**:在实际应用中,应该包含适当的异常处理,以应对可能的文件不存在、解析错误、内存...

    Android-视频或多张图片转换成GIF图Android实现

    在Android平台上,将视频或多张图片转换为GIF图是一项常见的需求,特别是在社交媒体应用、游戏和个性化应用中。本文将详细介绍如何在Android环境中实现这一功能。 首先,我们需要理解GIF(Graphics Interchange ...

    android 获取界面部分view,view截图,生成bitmap图片

    4. **保存图片**: 生成Bitmap后,我们可以将其保存到设备的存储器。通常使用`MediaStore.Images.Media.insertImage()`方法或者直接写入文件流。以下是使用文件流保存Bitmap的例子: ```java String filePath = ...

    图片合成以及动态生成View移动后的坐标记录

    在IT行业中,图片合成与动态生成视图是两个重要的概念,尤其在开发用户界面(UI)和增强用户体验时。本文将深入探讨这两个主题,并结合标签中的"旋转"、"删除"、"移动"和"合成",阐述如何实现这些功能。 首先,我们...

    Android图片声音显示

    - **内部存储**: 可以在应用的私有目录下保存图片和音频文件,使用`getFilesDir()`或`getCacheDir()`获取路径,文件会被自动清理。 - **外部存储**: 对于较大的媒体文件,通常保存在SD卡等外部存储上。需要权限`...

    图片文件合成器

    在图片合成器中,这些函数用于读取输入图片并保存合并后的结果。 三、图片处理技术 1. 图像读取:使用库函数如`libpng`或`FreeImage`加载图片,它们支持多种格式如PNG、JPEG等。 2. 图像数据处理:获取图像的像素...

    多个图片合成PDF

    通过这个过程,我们可以利用C#的强大功能,结合图像处理和PDF生成技术,轻松地完成“多个图片合成PDF”以及在PDF中添加具有文字说明的空白页的任务。这不仅提高了工作效率,也为数据展示和分享提供了便利。

    android手机全景图片拍摄指南

    接下来,我们将详细探讨Android手机全景图片拍摄的指南。 首先,关于应用的选择,不同版本的Android手机拍摄全景图片的方式有所不同。对于Android 4.2及以上版本的手机,推荐使用手机内置的原生相机全景模式,这...

    Android下使用Canvas画图

    在Android平台上,Canvas是用于在屏幕上绘制图形的重要工具。它提供了丰富的绘图API,使得开发者可以自由地在Bitmap、SurfaceView或View上绘制线条、形状、文本以及自定义的复杂图像。本文将深入探讨Android中Canvas...

    Android源码图片转换成视频实现屏幕录像.zip

    本项目是一个把图片生成为mp4实现屏幕录像的例子源码,原理是先给屏幕不断截图,结束以后再把图片转成视频,录制结束可以把图片生成为MP4然后保存到SDCard,项目需要ROOT权限,我用2.3.7系统测试生成的视频貌似打不...

Global site tag (gtag.js) - Google Analytics