两种方法:1.直接在图片上写文字String str = "PICC要写的文字";ImageView image = (ImageView) this.findViewById(R.id.ImageView);Bitmap photo = BitmapFactory.decodeResource(this.getResources(), R.drawable.text);int width = photo.getWidth(), hight = photo.getHeight();System.out.println("宽"+width+"高"+hight);icon = Bitmap.createBitmap(width, hight, Bitmap.Config.ARGB_8888); //建立一个空的BItMap  Canvas canvas = new Canvas(icon);//初始化画布绘制的图像到icon上
        Paint photoPaint = new Paint(); //建立画笔  photoPaint.setDither(true); //获取跟清晰的图像采样  photoPaint.setFilterBitmap(true);//过滤一些
        Rect src = new Rect(0, 0, photo.getWidth(), photo.getHeight());//创建一个指定的新矩形的坐标  Rect dst = new Rect(0, 0, width, hight);//创建一个指定的新矩形的坐标  canvas.drawBitmap(photo, src, dst, photoPaint);//将photo 缩放或则扩大到 dst使用的填充区photoPaint
        Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);//设置画笔  textPaint.setTextSize(20.0f);//字体大小  textPaint.setTypeface(Typeface.DEFAULT_BOLD);//采用默认的宽度  textPaint.setColor(Color.RED);//采用的颜色  //textPaint.setShadowLayer(3f, 1, 1,this.getResources().getColor(android.R.color.background_dark));//影音的设置  canvas.drawText(str, 20, 26, textPaint);//绘制上去字,开始未知x,y采用那只笔绘制
       canvas.save(Canvas.ALL_SAVE_FLAG); canvas.restore(); image.setImageBitmap(icon);saveMyBitmap(icon);2.将两个图片合成onCreat方法里面{Bitmap mark = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon); Bitmap photo = BitmapFactory.decodeResource(this.getResources(), R.drawable.text);Bitmap a = createBitmap(photo,mark);image.setImageBitmap(a);saveMyBitmap(a);}private Bitmap createBitmap( Bitmap src, Bitmap watermark ){String tag = "createBitmap";// Log.d( tag, "create a new bitmap" );if( src == null ){return null;}int w = src.getWidth();int h = src.getHeight();int ww = watermark.getWidth();int wh = watermark.getHeight();//create the new blank bitmap
Bitmap newb = Bitmap.createBitmap( w, h, Config.ARGB_8888 );//创建一个新的和SRC长度宽度一样的位图
Canvas cv = new Canvas( newb );//draw src into
cv.drawBitmap( src, 0, 0, null );//在 0,0坐标开始画入src//draw watermark into
cv.drawBitmap( watermark, w - ww + 5, h - wh + 5, null );//在src的右下角画入水印//save all clip
cv.save( Canvas.ALL_SAVE_FLAG );//保存//store
cv.restore();//存储return newb;}//保存图片到data下面public void saveMyBitmap(Bitmap bmp){FileOutputStream fos = null;try {fos = openFileOutput("image1.jpg", Context.MODE_PRIVATE);bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);} catch (FileNotFoundException e) {} finally {if (fos != null) {try {fos.flush();fos.close();} catch (IOException e) {}}}}

android图片加水印,文字相关推荐

  1. AS3给图片加水印文字

    <需要flash player 10+支持> 通过FileReference获取选中的图片,调用它的load方法,将图片存入到内存中.使用Loader(flash.display.Load ...

  2. php 图片加水印文字水印

    /*给图片加文字水印的方法*/ $dst_path = 'http://f4.topitme.com/4/15/11/1166351597fe111154l.jpg';//保证路径正确 $dst = ...

  3. Android 时间 定位 图片水印,android图片加水印

    public static Bitmap createWaterMaskBitmap(Bitmap src, Bitmap watermark) { int paddingTop ; if (src ...

  4. TP5图片加水印(图片水印和文字水印)

    TP5使用加水印功能(加图片水印和文字水印) 由于项目需要图片加水印,正好使用TP5框架,下面记录一下使用方法: 1.安装扩展 使用Composer安装ThinkPHP5的图像处理类库: compos ...

  5. JAVA实现图片加水印及Base64图片字符串加水印

    JAVA实现图片加水印及Base64图片字符串加水印 可将根据不同需求选择场景一,场景二来实现家水印操作,个人感觉比我上一遍文章<base64字符串加水印 >实在 场景一: 涉及上送过来的 ...

  6. 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字

    咖啡汪日志--JAVA导出pdf文件加水印 文字和图片.文字 hello,又大家见面了! 作为一只不是在戏精就是在戏精路上的哈士奇,今天要展示给大家的就是如何快捷地给pdf文件增加各种水印.嗷呜呜,前 ...

  7. Android实现图片加水印,视频水印

    Android实现图片加水印,视频加水印 推荐经典用例,超级简单的视频加水印,图片加水印功能. 视频加水印: Android拍视频加水印功能 图片加水印 Android轻松实现拍照加水印

  8. php加水印功能,PHP图片加水印功能

    本篇文章主要介绍PHP图片加水印功能,感兴趣的朋友参考下,希望对大家有所帮助. 实例代码如下:<?php /** * 功能:给一张图片加上水印效果 * $i 要加水印效果的图片 * $t 水印文 ...

  9. Java图片处理(二)图片加水印

    图片加水印,是通过图片重叠绘制实现的.实现代码如下: public static void press(String pressImg, String pressText, String target ...

最新文章

  1. 杭电 汉诺塔问题总结
  2. 计算器是如何计算sin、cos等科学函数的值呢?
  3. Delphi中高级DLL的编写和调用
  4. c语言是自动四舍五入,请问c语言如何实现四舍五入?
  5. 003Java语言环境搭建
  6. spring框架介绍_Spring框架介绍
  7. 使用 Proteus 仿真 STM32
  8. (40)不确定性约束
  9. 访问数组元素的 3 种方法
  10. Android应用开发基础 余永佳,Android应用开发基础(基于Android4.2、任务驱动式)教学课件作者余永佳赵佩华习题课件.doc...
  11. 如何解决MacOS无法登录app store的问题?
  12. 2021年4大免费ER图工具
  13. 数字信号处理 史林 课本答案---第一章
  14. git commit --amend 用法
  15. 项目组织与团队管理——社会惰化
  16. Android 华为手机10.1 启动service Service starting has been prevented by iaware or trustsbase **
  17. 【机器人学】机器人开源项目KDL源码学习:(4)机械臂逆动力学的牛顿欧拉算法
  18. angular1的分页
  19. 《途客圈创业记:不疯魔,不成活》一一1.2 Alex和剑桥MBA
  20. Win10正常安装Matlab7.0后,运行出现Runtime Error错误解决方法

热门文章

  1. Masonry详解(转)
  2. 关于Angular样式封装
  3. Volley的原理解析
  4. iOS实现文字渐变效果
  5. redis学习篇(九)-----高级特性之事务处理
  6. 第二阶段团队冲刺站立会议05
  7. cuda中的二分查找
  8. 晚上大龙哥带来了一本vb教程,由于好奇看了下
  9. 《卷积神经网络》学习笔记
  10. 解决: Mysql安装时mysqld.exe报`应用程序无法正常启动(0xc000007b)`的问题