返回顶部
首页 > 资讯 > 精选 >Android应用中给图片加水印
  • 497
分享到

Android应用中给图片加水印

androidroi 2023-05-31 05:05:57 497人浏览 八月长安
摘要

今天就跟大家聊聊有关Android应用中给图片加水印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:public class ImageUtil { public

今天就跟大家聊聊有关Android应用中给图片加水印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

具体方法如下:

public class ImageUtil {    public static Bitmap createWaterMaskLeftTop(      Context context, Bitmap src, Bitmap watermark,      int paddingLeft, int paddingTop) {    return createWaterMaskBitmap(src, watermark,         dp2px(context, paddingLeft), dp2px(context, paddingTop));  }  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();    //创建一个bitmap    Bitmap newb = Bitmap.createBitmap(width, height, Config.ARGB_8888);// 创建一个新的和SRC长度宽度一样的位图    //将该图片作为画布    canvas canvas = new Canvas(newb);    //在画布 0,0坐标上开始绘制原始图片    canvas.drawBitmap(src, 0, 0, null);    //在画布上绘制水印图片    canvas.drawBitmap(watermark, paddingLeft, paddingTop, null);    // 保存    canvas.save(Canvas.ALL_SAVE_FLAG);    // 存储    canvas.restore();    return newb;  }    public static Bitmap createWaterMaskRightBottom(      Context context, Bitmap src, Bitmap watermark,      int paddingRight, int paddingBottom) {    return createWaterMaskBitmap(src, watermark,         src.getWidth() - watermark.getWidth() - dp2px(context, paddingRight),         src.getHeight() - watermark.getHeight() - dp2px(context, paddingBottom));  }    public static Bitmap createWaterMaskRightTop(      Context context, Bitmap src, Bitmap watermark,      int paddingRight, int paddingTop) {    return createWaterMaskBitmap( src, watermark,         src.getWidth() - watermark.getWidth() - dp2px(context, paddingRight),         dp2px(context, paddingTop));  }    public static Bitmap createWaterMaskLeftBottom(      Context context, Bitmap src, Bitmap watermark,      int paddingLeft, int paddingBottom) {    return createWaterMaskBitmap(src, watermark, dp2px(context, paddingLeft),         src.getHeight() - watermark.getHeight() - dp2px(context, paddingBottom));  }    public static Bitmap createWaterMaskCenter(Bitmap src, Bitmap watermark) {    return createWaterMaskBitmap(src, watermark,         (src.getWidth() - watermark.getWidth()) / 2,        (src.getHeight() - watermark.getHeight()) / 2);  }    public static Bitmap drawTextToLeftTop(Context context, Bitmap bitmap, String text,      int size, int color, int paddingLeft, int paddingTop) {    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,         dp2px(context, paddingLeft),         dp2px(context, paddingTop) + bounds.height());  }    public static Bitmap drawTextToRightBottom(Context context, Bitmap bitmap, String text,      int size, int color, int paddingRight, int paddingBottom) {    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() - dp2px(context, paddingRight),         bitmap.getHeight() - dp2px(context, paddingBottom));  }    public static Bitmap drawTextToRightTop(Context context, Bitmap bitmap, String text,      int size, int color, int paddingRight, int paddingTop) {    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() - dp2px(context, paddingRight),         dp2px(context, paddingTop) + bounds.height());  }    public static Bitmap drawTextToLeftBottom(Context context, Bitmap bitmap, String text,      int size, int color, int paddingLeft, int paddingBottom) {    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,         dp2px(context, paddingLeft),         bitmap.getHeight() - dp2px(context, paddingBottom));  }    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) {    android.graphics.Bitmap.Config bitmapConfig = bitmap.getConfig();    paint.setDither(true); // 获取跟清晰的图像采样    paint.setFilterBitmap(true);// 过滤一些    if (bitmapConfig == null) {      bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;    }    bitmap = bitmap.copy(bitmapConfig, true);    Canvas canvas = new Canvas(bitmap);    canvas.drawText(text, paddingLeft, paddingTop, paint);    return bitmap;  }    public static Bitmap scaleWithWH(Bitmap src, double w, double h) {    if (w == 0 || h == 0 || src == null) {      return src;    } else {      // 记录src的宽高      int width = src.getWidth();      int height = src.getHeight();      // 创建一个matrix容器      Matrix matrix = new Matrix();      // 计算缩放比例      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 static int dp2px(Context context, float dp) {     final float scale = context.getResources().getDisplayMetrics().density;     return (int) (dp * scale + 0.5f);   } }

--结束END--

本文标题: Android应用中给图片加水印

本文链接: https://lsjlt.com/news/223594.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android应用中给图片加水印
    今天就跟大家聊聊有关Android应用中给图片加水印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:public class ImageUtil { public ...
    99+
    2023-05-31
    android roi
  • Android给图片添加水印
    目录1. 前言2. 方法1 使用SurfaceView3. 方法2 给拍照下来的图片添加水印第一步:获取拍照权限第二步:拍照调用相机进行拍照接收拍照结果注意:第三步:给拍照后得到的图...
    99+
    2024-04-02
  • Android中怎么给图片添加水印
    本篇文章为大家展示了Android中怎么给图片添加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 图片添加水印的实现方法手机端打水印(文字和图片)使用的是Bitmap、Matrix...
    99+
    2023-05-30
    android
  • Android给图片添加水印的方法
    这篇文章主要介绍Android给图片添加水印的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 前言PS:最近在项目执行过程中有这样一个需求,要求拍完照的图片必须达到以上的效果。需求分析:使用用预览布局Surf...
    99+
    2023-06-15
  • PHP中怎么给图片加水印
    本篇文章为大家展示了PHP中怎么给图片加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP给图片加水印的具体代码如下:<php     ...
    99+
    2023-06-17
  • PHP给图片加上图片水印和文字水印的方法
    这篇文章主要介绍“PHP给图片加上图片水印和文字水印的方法”,在日常操作中,相信很多人在PHP给图片加上图片水印和文字水印的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP给图片加上图片水印和文字水印...
    99+
    2023-06-04
  • 如何使用python给图片加水印
    这篇文章主要介绍如何使用python给图片加水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方式一:叠加文字水印最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。主要用到Figure.text函数参数类型说...
    99+
    2023-06-15
  • php裁剪图片,并给图片加上水印
    本次以裁剪四个图片为例,图片如下 代码如下 public function cutImg($imgUrl){ try{ // 读取原始图片 ...
    99+
    2023-09-04
    php android 开发语言
  • Android 给图片平铺多组水印
    在整张图片上添加水印,多行水印,平铺多组水印,每组包含任意条数。倾斜角度、行间距、组间距可以任意修改。 效果图: 代码: public static Bitmap addMultiLinesWatermark(Cont...
    99+
    2022-06-06
    图片 Android
  • 使用Node.js给图片加水印的方法
    一、准备工作: 首先,确保你本地已经安装好了node环境。 然后,我们进行图像编辑操作需要用到一个Node.js的库:images。 这个库的地址是:https://github.com/zhangyuan...
    99+
    2022-06-04
    水印 方法 图片
  • 利用JAVA怎么给图片添加水印
    这期内容当中小编将会给大家带来有关利用JAVA怎么给图片添加水印,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。印的类型:单文字水印单图片水印多文字水印多图片水印水印的开发流程:创建图片缓存对象创建Java...
    99+
    2023-05-31
    java ava
  • php-上传图片加水印(文字水印图片水印)
    img.php ...
    99+
    2023-09-16
    php
  • 使用Python中PIL库给图片添加文本水印
    目录前言一、PIL是什么?二、安装PIL三、查看PIL版本四、使用PIL库给图片添加文本水印1.引入库2.打开图片文件3.新建一个Draw对象4.设置水印文字、字体、大小5.设置水印...
    99+
    2023-05-16
    python给图片添加水印文字 python pil库 python 添加水印
  • Python实现给图片添加文字或图片水印
    目录前言PIL的Image模块的基本介绍Python代码实现文字水印Python代码实现图片水印前言 图片加水印有什么好处?在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重...
    99+
    2023-05-19
    Python图片添加文字水印 Python图片添加图片水印 Python图片添加水印 Python添加水印
  • Node.js批量给图片加水印的方法
    一、准备工作: 首先,你要阅读完这篇文章:http://www.lsjlt.com/article/97391.htm。 然后,我们安装node.js的一个模块:imageinfo。 npm install...
    99+
    2022-06-04
    水印 批量 方法
  • Android实现为图片添加水印
    添加水印的方法挺简单的,具体内容如下 public class MainActivity extends AppCompatActivity { @Override ...
    99+
    2022-06-06
    图片 Android
  • Java用自带的Image IO给图片添加水印
    目录1.  文字水印2.  旋转文字3.  旋转坐标轴另外的写法1.  文字水印 import sun.font.FontDesignMe...
    99+
    2024-04-02
  • 如何用nodejs给图片添加半透明水印
    本文小编为大家详细介绍“如何用nodejs给图片添加半透明水印”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何用nodejs给图片添加半透明水印”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2024-04-02
  • 怎么用Python实现给图片加水印效果
    本篇内容介绍了“怎么用Python实现给图片加水印效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!filestools库介绍今天给大家介绍...
    99+
    2023-06-25
  • 拒绝盗图!教你怎么用python给图片加水印
    方式一:叠加文字水印 最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。 主要用到Figure.text函数 参数 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作