引用:http://blog.csdn.net/cq361106306/article/details/8142526

  1. 两种方法:
  2. 1.直接在图片上写文字
  3. Stringstr="PICC要写的文字";
  4. ImageViewimage=(ImageView)this.findViewById(R.id.ImageView);
  5. Bitmapphoto=BitmapFactory.decodeResource(this.getResources(),R.drawable.text);
  6. intwidth=photo.getWidth(),hight=photo.getHeight();
  7. System.out.println("宽"+width+"高"+hight);
  8. icon=Bitmap.createBitmap(width,hight,Bitmap.Config.ARGB_8888);//建立一个空的BItMap
  9. Canvascanvas=newCanvas(icon);//初始化画布绘制的图像到icon上
  10. PaintphotoPaint=newPaint();//建立画笔
  11. photoPaint.setDither(true);//获取跟清晰的图像采样
  12. photoPaint.setFilterBitmap(true);//过滤一些
  13. Rectsrc=newRect(0,0,photo.getWidth(),photo.getHeight());//创建一个指定的新矩形的坐标
  14. Rectdst=newRect(0,0,width,hight);//创建一个指定的新矩形的坐标
  15. canvas.drawBitmap(photo,src,dst,photoPaint);//将photo缩放或则扩大到dst使用的填充区photoPaint
  16. PainttextPaint=newPaint(Paint.ANTI_ALIAS_FLAG|Paint.DEV_KERN_TEXT_FLAG);//设置画笔
  17. textPaint.setTextSize(20.0f);//字体大小
  18. textPaint.setTypeface(Typeface.DEFAULT_BOLD);//采用默认的宽度
  19. textPaint.setColor(Color.RED);//采用的颜色
  20. //textPaint.setShadowLayer(3f,1,1,this.getResources().getColor(android.R.color.background_dark));//影音的设置
  21. canvas.drawText(str,20,26,textPaint);//绘制上去字,开始未知x,y采用那只笔绘制
  22. canvas.save(Canvas.ALL_SAVE_FLAG);
  23. canvas.restore();
  24. image.setImageBitmap(icon);
  25. saveMyBitmap(icon);
  26. 2.将两个图片合成
  27. onCreat方法里面{
  28. Bitmapmark=BitmapFactory.decodeResource(this.getResources(),R.drawable.icon);
  29. Bitmapphoto=BitmapFactory.decodeResource(this.getResources(),R.drawable.text);
  30. Bitmapa=createBitmap(photo,mark);
  31. image.setImageBitmap(a);
  32. saveMyBitmap(a);
  33. }
  34. privateBitmapcreateBitmap(Bitmapsrc,Bitmapwatermark)
  35. {
  36. Stringtag="createBitmap";
  37. //Log.d(tag,"createanewbitmap");
  38. if(src==null)
  39. {
  40. returnnull;
  41. }
  42. intw=src.getWidth();
  43. inth=src.getHeight();
  44. intww=watermark.getWidth();
  45. intwh=watermark.getHeight();
  46. //createthenewblankbitmap
  47. Bitmapnewb=Bitmap.createBitmap(w,h,Config.ARGB_8888);
  48. //创建一个新的和SRC长度宽度一样的位图
  49. Canvascv=newCanvas(newb);
  50. //drawsrcinto
  51. cv.drawBitmap(src,0,0,null);//在0,0坐标开始画入src
  52. //drawwatermarkinto
  53. cv.drawBitmap(watermark,w-ww+5,h-wh+5,null);//在src的右下角画入水印
  54. //saveallclip
  55. cv.save(Canvas.ALL_SAVE_FLAG);//保存
  56. //store
  57. cv.restore();//存储
  58. returnnewb;
  59. }
  60. //保存图片到data下面
  61. publicvoidsaveMyBitmap(Bitmapbmp){
  62. FileOutputStreamfos=null;
  63. try{
  64. fos=openFileOutput("image1.jpg",Context.MODE_PRIVATE);
  65. bmp.compress(Bitmap.CompressFormat.JPEG,100,fos);
  66. }catch(FileNotFoundExceptione){
  67. }finally{
  68. if(fos!=null){
  69. try{
  70. fos.flush();
  71. fos.close();
  72. }catch(IOExceptione){
  73. }
  74. }
  75. }
  76. }

更多相关文章

  1. android整合两个bitmap
  2. android drawText
  3. android 获取字体宽高
  4. Android实现圆形图片
  5. 自定义view-制作一个加载中的圆形
  6. Android(安卓)Shader应用开发之雷达扫描效果
  7. android的图片加载和伸缩处理
  8. Android(安卓)MPAndroidChart:动态添加统计数据线【8】
  9. Bitmap and DrawPoint

随机推荐

  1. Android之Service
  2. Android中的Touch事件
  3. android github 知名库
  4. Cocos2d-x 3.2编译Android程序错误的解决
  5. Android实现模拟时钟(简单+漂亮)--时针、
  6. Android(安卓)Launcher 分析 .
  7. android.net.http.AndroidHttpClient And
  8. Android测试框架
  9. Android(安卓)Studio学习之对文件的基本
  10. Android的adb ||开发事项及Eclipse使用