android 实现图片加水印
来源:互联网 发布:光猫端口1.2同时连接 编辑:程序博客网 时间:2024/06/03 11:18
File fImage = new File("/sdcard/dcim","beijing.jpeg");FileOutputStream iStream = new FileOutputStream(fImage); * 取出Bitmap oriBmporiBmp.compress(CompressFormat.JPEG, 100, iStream);int w = 320,h = 240;String mstrTitle = “感受Android带给我们的新体验”;Bitmap mbmpTest = Bitmap.createBitmap(w,h, Config.ARGB_8888);Canvas canvasTemp = new Canvas(mbmpTest);canvasTemp.drawColor(Color.WHITE);Paint p = new Paint();String familyName = “宋体”;Typeface font = Typeface.create(familyName,Typeface.BOLD);p.setColor(Color.RED);p.setTypeface(font);p.setTextSize(22);canvasTemp.drawText(mstrTitle,0,100,p);6.图片水印的生成方法 生成水印的过程。其实分为三个环节:第一,载入原始图片;第二,载入水印图片;第三,保存新的图片。 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; }转自:http://blog.csdn.net/hachirou/archive/2010/04/11/5473312.aspx
原文地址,http://www.devdiv.com/home.php?mod=space&uid=19970&do=blog&id=3868
//根据我自己的需要改进了一下
//获取图片缩小的图片 public static Bitmap scaleBitmap(String src,int max) { //获取图片的高和宽 BitmapFactory.Options options = new BitmapFactory.Options(); //这一个设置使 BitmapFactory.decodeFile获得的图片是空的,但是会将图片信息写到options中 options.inJustDecodeBounds = true; BitmapFactory.decodeFile(src, options); // 计算比例 为了提高精度,本来是要640 这里缩为64 max=max/10; int be = options.outWidth / max; if(be !=0) be+=10; be=be/10; if (be <= 0) be = 1; options.inSampleSize = be; //设置可以获取数据 options.inJustDecodeBounds = false; //获取图片 return BitmapFactory.decodeFile(src, options); } // 加水印 也可以加文字 public static Bitmap watermarkBitmap(Bitmap src, Bitmap watermark, String title) { if (src == null) { return null; } int w = src.getWidth(); int h = src.getHeight(); //需要处理图片太大造成的内存超过的问题,这里我的图片很小所以不写相应代码了 Bitmap newb= Bitmap.createBitmap(w, h, Config.ARGB_8888);// 创建一个新的和SRC长度宽度一样的位图 Canvas cv = new Canvas(newb); cv.drawBitmap(src, 0, 0, null);// 在 0,0坐标开始画入src Paint paint=new Paint(); //加入图片 if (watermark != null) { int ww = watermark.getWidth(); int wh = watermark.getHeight(); paint.setAlpha(50); cv.drawBitmap(watermark, w - ww + 5, h - wh + 5, paint);// 在src的右下角画入水印 } //加入文字 if(title!=null) { String familyName ="宋体"; Typeface font = Typeface.create(familyName,Typeface.BOLD); TextPaint textPaint=new TextPaint(); textPaint.setColor(Color.RED); textPaint.setTypeface(font); textPaint.setTextSize(22); //这里是自动换行的 StaticLayout layout = new StaticLayout(title,textPaint,w,Alignment.ALIGN_NORMAL,1.0F,0.0F,true); layout.draw(cv); //文字就加左上角算了 //cv.drawText(title,0,40,paint); } cv.save(Canvas.ALL_SAVE_FLAG);// 保存 cv.restore();// 存储 return newb; }
0 0
- android 实现图片加水印
- android实现图片加水印
- android 实现图片加水印
- Android 实现图片加水印
- Android图片加水印
- 图片加水印JAVA实现
- php实现图片加水印
- android图片加水印,文字
- android图片加水印,文字
- android图片加水印,文字
- Android图片操作-加水印
- android 给图片加水印
- Android图片压缩、加水印
- PHP实现给图片加图片水印
- android 中的实现加水印
- C#实现给图片加透明度水印
- asp实现图片加水印代码
- Java实现给图片加水印
- android achartengine&…
- .NET获取枚举DescriptionAttribute描述信息性能改进的多种方法
- android如何查看cpu的占用率和内存泄漏
- android 四舍五入
- 一个apk的activity 跳…
- android 实现图片加水印
- 我的博客今天2岁106天了,我领取了…
- 使用水平的scroolview …
- Android客户端调用优酷视频播放器…
- document.ready和onload的区别
- listview嵌在scrollview里 只…
- UIButton的imageEdgeInsets和titleEdgeInsets
- Android edittext&nbsp…
- IT程序员 我们究竟什么…