摘抄 android图片中添加文字水印

 * 添加文字到图片,类似水印文字。
 * @param gContext
 * @param gResId
 * @param gText
 * @return
 */ 
public static Bitmap drawTextToBitmap(Context gContext, int gResId, String gText) { 
    Resources resources = gContext.getResources(); 
    float scale = resources.getDisplayMetrics().density; 
    Bitmap bitmap = BitmapFactory.decodeResource(resources, gResId); 

    android.graphics.Bitmap.Config bitmapConfig = bitmap.getConfig(); 
    // set default bitmap config if none 
    if (bitmapConfig == null) { 
        bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888; 
    } 
    // resource bitmaps are imutable, 
    // so we need to convert it to mutable one 
    bitmap = bitmap.copy(bitmapConfig, true); 

    Canvas canvas = new Canvas(bitmap); 
    // new antialised Paint 
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); 
    // text color - #3D3D3D 
    paint.setColor(Color.rgb(61,61,61)); 
    // text size in pixels 
    paint.setTextSize((int) (14 * scale*5)); 
    // text shadow 
    paint.setShadowLayer(1f, 0f, 1f, Color.WHITE); 

    // draw text to the Canvas center 
    Rect bounds = new Rect(); 
    paint.getTextBounds(gText, 0, gText.length(), bounds); 
   //int x = (bitmap.getWidth() - bounds.width()) / 2; 
  //int y = (bitmap.getHeight() + bounds.height()) / 2; 
    //draw  text  to the bottom 
    int x = (bitmap.getWidth() - bounds.width())/10*9 ; 
    int y = (bitmap.getHeight() + bounds.height())/10*9; 
    canvas.drawText(gText, x , y, paint); 

    return bitmap; 
}

你可能感兴趣的:(摘抄 android图片中添加文字水印)