最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android添加水印的正確方法 只要三步!

 更新時間:2020年04月18日 10:36:18   作者:柒號公園  
這篇文章主要介紹了Android添加水印的正確方法,僅僅三步輕松實現(xiàn)為圖片添加水印功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

開門見山,添加水印的方法非常簡單,其實就只有3個步驟

1、載入原始圖片
2、載入水印圖片
3、保存帶有水印的圖片

實現(xiàn)的原理就是:獲取原始圖片的寬高,然后,新建一個同樣寬高的bitmap,將這個新的bitmap作為畫布,接著,就在這個畫布上面畫原圖,畫水印圖片,有文字就接著畫文字。
上面哪個順序一定不能亂,不然你可能就看不到水印,或則文字了,因為畫在原圖下面去了

繪制水印的代碼如下:

 private static Bitmap createWaterMaskBitmap(Bitmap src, Bitmap watermark,
            int paddingLeft, int paddingTop) {
  if (src == null) {
   return null;
  }
  int width = src.getWidth();
  int height = src.getHeight();
  //創(chuàng)建一個bitmap
  Bitmap newBitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);// 創(chuàng)建一個新的和SRC長度寬度一樣的位圖
  //將該圖片作為畫布
  Canvas canvas = new Canvas(newBitmap);
  //在畫布 0,0坐標(biāo)上開始繪制原始圖片
  canvas.drawBitmap(src, 0, 0, null);
  //在畫布上繪制水印圖片
  canvas.drawBitmap(watermark, paddingLeft, paddingTop, null);
  // 保存
  canvas.save(Canvas.ALL_SAVE_FLAG);
  // 存儲
  canvas.restore();
  return newBitmap;
 }

繪制文字的代碼如下:

/**
  * 繪制文字到中間
  *
  * @param context
  * @param bitmap
  * @param text
  * @param size
  * @param color
  * @return
  */
 public static Bitmap drawTextToCenter(Context context, Bitmap bitmap, String text,
           int size, int color) {
  Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
  paint.setColor(color);
  paint.setTextSize(dp2px(context, size));
  Rect bounds = new Rect();
  paint.getTextBounds(text, 0, text.length(), bounds);
  return drawTextToBitmap(context, bitmap, text, paint, bounds,
    (bitmap.getWidth() - bounds.width()) / 2,
    (bitmap.getHeight() + bounds.height()) / 2);
 }

 /**
  * 圖片上繪制文字
  */
 private static Bitmap drawTextToBitmap(Context context, Bitmap bitmap, String text,
           Paint paint, Rect bounds, int paddingLeft, int paddingTop) {
  Config bitmapConfig = bitmap.getConfig();

  paint.setDither(true); // 獲取跟清晰的圖像采樣
  paint.setFilterBitmap(true);// 過濾一些
  if (bitmapConfig == null) {
   bitmapConfig = Config.ARGB_8888;
  }
  bitmap = bitmap.copy(bitmapConfig, true);
  Canvas canvas = new Canvas(bitmap);

  canvas.drawText(text, paddingLeft, paddingTop, paint);
  return bitmap;
 }

效果圖如下:

github地址為:https://github.com/chenguo4930/Watermark
git地址為:https://github.com/chenguo4930/Watermark.git

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

玉龙| 水城县| 台南市| 山东省| 贡嘎县| 米泉市| 平江县| 内黄县| 博湖县| 清河县| 金门县| 罗田县| 左权县| 正蓝旗| 多伦县| 铁岭市| 交口县| 邢台县| 绥德县| 榆林市| 余庆县| 收藏| 桦南县| 德安县| 苏州市| 嫩江县| 山东| 梧州市| 龙川县| 桃源县| 正定县| 巴塘县| 阿荣旗| 四川省| 阜阳市| 白河县| 嘉兴市| 大关县| 望城县| 舟山市| 嵩明县|