canvas.drawText() 文本画图

  1. /** 
  2.      * 在给定的图片的右上角加上联系人数量。数量用红色表示 
  3.      * @param icon 给定的图片 
  4.      * @return 带联系人数量的图片 
  5.      */  
  6.     private Bitmap generatorContactCountIcon(Bitmap icon){  
  7.         //初始化画布  
  8.         int iconSize=(int)getResources().getDimension(android.R.dimen.app_icon_size);  
  9.         Log.d(TAG, "the icon size is "+iconSize);  
  10.         Bitmap contactIcon=Bitmap.createBitmap(iconSize, iconSize, Config.ARGB_8888);  
  11.         Canvas canvas=new Canvas(contactIcon);  
  12.           
  13.         //拷贝图片  
  14.         Paint iconPaint=new Paint();  
  15.         iconPaint.setDither(true);//防抖动  
  16.         iconPaint.setFilterBitmap(true);//用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果  
  17.         Rect src=new Rect(00, icon.getWidth(), icon.getHeight());  
  18.         Rect dst=new Rect(00, iconSize, iconSize);  
  19.         canvas.drawBitmap(icon, src, dst, iconPaint);  
  20.           
  21.         //在图片上创建一个覆盖的联系人个数  
  22.         int contacyCount=getContactCount();  
  23.         //启用抗锯齿和使用设备的文本字距  
  24.         Paint countPaint=new Paint(Paint.ANTI_ALIAS_FLAG|Paint.DEV_KERN_TEXT_FLAG);  
  25.         countPaint.setColor(Color.RED);  
  26.         countPaint.setTextSize(20f);  
  27.         countPaint.setTypeface(Typeface.DEFAULT_BOLD);  
  28.         canvas.drawText(String.valueOf(contacyCount), iconSize-1825, countPaint);  
  29.         return contactIcon;  
  30.     } 

你可能感兴趣的:(DST)