Android 图片添加水印文字

水印文字添加

http://www.2cto.com/kf/201501/368953.html

public static Bitmap scaleWithWH(Bitmap src,doublew,doubleh) {

      if(w ==0|| h ==0|| src ==null) {

             return  src;

       }else{

             // 记录src的宽高

             int width = src.getWidth();

             int height = src.getHeight();

            // 创建一个matrix容器

            Matrix matrix =newMatrix();

           // 计算缩放比例

           float scaleWidth = (float) (w / width);

           float scaleHeight = (float) (h / height);

           // 开始缩放

           matrix.postScale(scaleWidth, scaleHeight);

           // 创建缩放后的图片

            return Bitmap.createBitmap(src,0,0, width, height, matrix,true);

       }

}

public Bitmap drawTextToBitmap(Context gContext,int gResId,String gText) {

       Resources resources = gContext.getResources();

        float scale = resources.getDisplayMetrics().density;

        Bitmap bitmap = BitmapFactory.decodeResource(resources, gResId);

        bitmap = scaleWithWH(bitmap, 300*scale, 300*scale);

        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.RED);

      paint.setTextSize((int) (18 * scale));

      paint.setDither(true); //获取跟清晰的图像采样

      paint.setFilterBitmap(true);//过滤一些

      Rect bounds = new Rect();

      paint.getTextBounds(gText, 0, gText.length(), bounds);

      int x = 30;

      int y = 30;

      canvas.drawText(gText, x * scale, y * scale, paint);

       return bitmap;

}

http://www.2cto.com/kf/201501/368953.html

你可能感兴趣的:(Android 图片添加水印文字)