iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 给图片平铺多组水印
  • 191
分享到

Android 给图片平铺多组水印

图片Android 2022-06-06 13:06:56 191人浏览 泡泡鱼
摘要

在整张图片上添加水印,多行水印,平铺多组水印,每组包含任意条数。倾斜角度、行间距、组间距可以任意修改。 效果图: 代码: public static Bitmap addMultiLinesWatermark(Cont

在整张图片上添加水印,多行水印,平铺多组水印,每组包含任意条数。倾斜角度、行间距、组间距可以任意修改。

效果图:
在这里插入图片描述

代码:

 
    public static Bitmap addMultiLinesWatermark(Context context, Bitmap bitmap, List labels,
                                                int size, int color) {
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        Bitmap.Config bitmapConfig = bitmap.getConfig();
        if (bitmapConfig == null) {
            bitmapConfig = Bitmap.Config.ARGB_8888;
        }
        bitmap = bitmap.copy(bitmapConfig, true);
        canvas canvas = new Canvas(bitmap);
        // 画背景图
        canvas.drawBitmap(bitmap, 0, 0, null);
        canvas.rotate(-35);//旋转45度
        //创建画笔
        TextPaint mPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
//        mPaint.setTextSkewX(-0.25f);//文字倾斜
        mPaint.setColor(color);
        mPaint.setTextSize(dp2px(context, size));
        mPaint.setDither(true); // 获取跟清晰的图像采样
        mPaint.setFilterBitmap(true);// 过滤一些
        // 抗锯齿
        mPaint.setAntiAlias(true);
        float textWidth = mPaint.measureText(labels.get(0));
        int index = 0;
        int textSpace = 50;//多行文本间距
        int verticalSpace = 120;//Y轴间距
        for (int positionY = height / 10; positionY <= height; positionY += height / 10 + verticalSpace) {
            float fromX = -width + (index++ % 2) * textWidth;
            for (float positionX = fromX; positionX < width; positionX += textWidth * 3) {
                int spacing = 0;//间距
                for (String label : labels) {
                    canvas.drawText(label, positionX, positionY + spacing, mPaint);
                    spacing = spacing + textSpace;
                }
            }
        }
        //保存所有元素
        canvas.save();
        canvas.restore();
        return bitmap;
    }

作者:唐诺


--结束END--

本文标题: Android 给图片平铺多组水印

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android 给图片平铺多组水印
    在整张图片上添加水印,多行水印,平铺多组水印,每组包含任意条数。倾斜角度、行间距、组间距可以任意修改。 效果图: 代码: public static Bitmap addMultiLinesWatermark(Cont...
    99+
    2022-06-06
    图片 Android
  • 如何使用canvas实现给图片添加平铺水印
    小编给大家分享一下如何使用canvas实现给图片添加平铺水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近项目中遇到一个需求,需要把一张图片加上平铺的水印类似...
    99+
    2023-06-09
  • Android给图片添加水印
    目录1. 前言2. 方法1 使用SurfaceView3. 方法2 给拍照下来的图片添加水印第一步:获取拍照权限第二步:拍照调用相机进行拍照接收拍照结果注意:第三步:给拍照后得到的图...
    99+
    2022-11-12
  • 怎么在html5中使用canvas给图片添加平铺水印
    这篇文章将为大家详细讲解有关怎么在html5中使用canvas给图片添加平铺水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。var img = new&nbs...
    99+
    2023-06-09
  • Android应用中给图片加水印
    今天就跟大家聊聊有关Android应用中给图片加水印,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:public class ImageUtil { public ...
    99+
    2023-05-31
    android roi
  • Android中怎么给图片添加水印
    本篇文章为大家展示了Android中怎么给图片添加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 图片添加水印的实现方法手机端打水印(文字和图片)使用的是Bitmap、Matrix...
    99+
    2023-05-30
    android
  • Android给图片添加水印的方法
    这篇文章主要介绍Android给图片添加水印的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 前言PS:最近在项目执行过程中有这样一个需求,要求拍完照的图片必须达到以上的效果。需求分析:使用用预览布局Surf...
    99+
    2023-06-15
  • Android 给图片加上水印的示例代码(支持logo+文字)
    本文介绍了Android 给图片加上水印的示例代码(支持logo+文字),分享给大家,具体如下:现在我们想要往图片上打上水印,该水印应符合这样的需求的: 支持logo+文字; 文字信息支持多行展示; 用户可以选择水印在图片上的生成位置...
    99+
    2023-05-30
    android 图片 水印
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作