今天记录一下如何给自己的图片添加记号(两种方法:一是添加图片水印,二是添加文字水印,我都有哦!!!),防止有人盗图侵权,但是该方法不是修图,是源码敲出来的,适用于android开发!!!

话不多说,稍等片刻,源码这就来(嘻嘻嘻):
(1)布局文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"tools:srcCompat="@tools:sample/avatars" />
</androidx.constraintlayout.widget.ConstraintLayout>

(2)java文件:

package com.example.imgmarkdemo;import androidx.appcompat.app.AppCompatActivity;import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.os.Bundle;
import android.widget.ImageView;public class MainActivity extends AppCompatActivity {private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView=findViewById(R.id.imageView);drawMark();}private void drawMark() {//获取原始图片Bitmap example= BitmapFactory.decodeResource(getResources(),R.mipmap.pp);//设置原始图片是否有透明度,true表示有透明度example.setHasAlpha(true);//获取水印图片Bitmap logo=BitmapFactory.decodeResource(getResources(),R.mipmap.croatia);//创建一个新的空白的Bitmap对象,用于合成后的图片Bitmap bm_new=Bitmap.createBitmap(example.getWidth(),example.getHeight(),Bitmap.Config.RGB_565);//在上一步创建的Bitmap的基础上新建一个画布对象Canvas canvas = new Canvas(bm_new);//将原始图片绘制到画布上,第二个参数是左边,第三个参数是上边距,第四个参数是Paint的对象,这里设置为nullcanvas.drawBitmap(example,0,0,null);//新建一个Paint对象Paint paint = new Paint();//设置两张图片的相交模式:Darken注意:Porter,Duff是两个发明人的合成单词,本身并没有任何意义paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DARKEN));//设置文字大小和颜色paint.setTextSize(50);paint.setColor(Color.RED);//设置文字别名,表示是是否允许自定义文字内容,true表示允许paint.setAntiAlias(true);//在画布上绘制"文字水印"这四个字,x表示左边距,y表示上边距canvas.drawText("文字水印",100,100,paint);//在画布上将图片水印绘制上去,0,0代表图片左上角canvas.drawBitmap(logo,30,10,paint);//在控件中显示合成后的图片imageView.setImageBitmap(bm_new);}
}

如果有什么错误的地方,请指正,本人欣然接受!!!

如何给原图添加文字水印和图片水印相关推荐

  1. php加图片源码_PHP添加文字水印或图片水印的水印类完整源代码与使用示例

    PHP实现的给图片添加水印功能,可添加文字水印或图片水印,使用文字水印时需要提供字体文件,使用图片水印时需要提供水印图片,水印图片不能比要添加水印的图片大,请使用背景透明的水印图片. 该水印类支持自定 ...

  2. 给图片添加文字(换行)水印

    Android给图片添加半透明背景的水印 (水印带有半透明底色) 给图片添加文字(换行)水印 1.绘制富文本: /** * 绘制富文本* StaticLayout可实现换行* <p>* h ...

  3. php怎么给视频加水印,视频怎么加水印 添加文字水印和图片水印 给视频加水印的软件...

    昨天由于台风"妮妲"来了深圳,所以在家休息了一天,而且势汹汹的台风"妮妲"于2日03时35分在深圳市大鹏半岛登陆,登陆时风力达到14级,成为近年来正面登陆珠江三 ...

  4. 给图片添加多条文字水印和图片水印

    原始图: 水印原始模板: 添加水印后的效果图 package com.sjaco.hy.api.test;import java.awt.image.BufferedImage; import jav ...

  5. canvas 添加文字水印、图片水印并实现图片水印透明

    先上效果图 1.图片添加文字 2.图片添加图片水印 1.图片添加文字水印 async init() {let imgUrl ="http://qysmjczto.hn-bkt.clouddn ...

  6. Java实现添加文字水印、图片水印功能

    Java实现添加水印功能 添加水印 Java 2D API介绍 绘制文字水印 绘制图片水印 循环添加文字水印 添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经授权的人使用或传播.为图片 ...

  7. 怎样边下载宝贝图片边给图片添加自己的文字水印或图片水印

    今天小编要介绍一个比较常用的技巧,就是如何在下载商品图片时,给商品主图添加一些个性的水印或文字?一起来看看具体的操作步骤吧. 首先复制要抓取的商品链接地址 小编使用的下载图片工具(载图助手),打开进入 ...

  8. watermark.js文字水印以及图片水印

    watermark.js文字水印以及图片水印 以下为扒下来修改后的源码: //增加了图片水印,实现原理跟文字的一样,只是针对项目需求个人修改 function watermark(settings) ...

  9. java word 添加水印图片_Java添加Word文本水印和图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...

  10. 批量给多个 PPT 幻灯片文件加上统一的文字水印或图片水印

    概要:我们自己的 PPT 幻灯片文件和公司或者部门的 PPT 幻灯片文件都需要进行保护,最常见的保护的方式就是我们允许别人分享,但是我们要让别人知道这个 PPT 文件是来自于哪里,因此给 PPT 幻灯 ...

最新文章

  1. 【Appium】Appium工作原理
  2. OpenGL tessellatedcube棋盘格立方体的实例
  3. [PE格式分析] 3.IMAGE_NT_HEADER
  4. superset在云主机上的配置
  5. 王道408数据结构——第八章 排序
  6. CF924D. Contact ATC
  7. Android 添加多个回调,如何在同一个片段中创建多个Retrofit回调 – android
  8. 《数据库系统概论》错题集
  9. android emulator虚拟设备之qemu pipe分析(三)
  10. execle java,Java使用POI操作Excel
  11. screenfull.js跨浏览器使用JavaScript Fullscreen API
  12. 仿小米php,我的仿小米商城代码
  13. 【超简单】用python写给女朋友的词云
  14. 男人就应该对自己狠一点
  15. 第1139期AI100_机器学习日报(2017-10-31)
  16. Word背景默认为绿色,如何更改默认为白色
  17. 计算机组成原理经典复习题集锦(附答案)
  18. [原创] Photoshopt午简单的调出暗青色效果
  19. 动物判别系统python实现
  20. maven系列:maven依赖讲解

热门文章

  1. UOS(Deepin V20)体验
  2. wamp mysql服务无法启动_wamp中mysql无法启动怎么办
  3. WebView打开第三方APP
  4. git 加速代理设置,单仓库设置代理,指定仓库设置单独代理
  5. 安卓编程用什么软件_如何用手机进行编程?有哪些值得推荐的软件?
  6. “adb”不是内部或外部命令,也不是可运行的程序或批处理文件
  7. springboot基于web的传染病信息管理系统的设计与实现毕业设计-附源码221124
  8. 设置锁屏方式后,锁屏长按电源键还有锁屏按钮(lockdown)锁屏状态下应该没有,解锁使用后长按才有这个按钮。
  9. 萌新带你开车上p站(二)
  10. Origin2018(汉化版)在使用科学计数法的时候如何将坐标刻度的0.0改成0