热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简单的为图片添加水印

1packagecom.zzw.addwatermark;23importandroid.app.Activity;4importandroid.graphics.Bitmap;5

技术分享

 1 package com.zzw.addwatermark;
 2 
 3 import android.app.Activity;
 4 import android.graphics.Bitmap;
 5 import android.graphics.Canvas;
 6 import android.graphics.Bitmap.Config;
 7 import android.graphics.Color;
 8 import android.graphics.Paint;
 9 import android.graphics.drawable.BitmapDrawable;
10 import android.graphics.drawable.Drawable;
11 import android.os.Bundle;
12 import android.view.Menu;
13 import android.view.MenuItem;
14 import android.widget.ImageView;
15 
16 
17 public class MainActivity extends Activity {
18 
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.activity_main);
23         
24         ImageView imageView=(ImageView) findViewById(R.id.imageView);
25         
26         //使用drawable里面的一张图片,我的头像为例
27         Drawable drawable=getResources().getDrawable(R.drawable.test);
28         
29         //把Drawable转换为Bitmap
30         BitmapDrawable bd=(BitmapDrawable) drawable; 
31         Bitmap bm=bd.getBitmap();
32         
33         //为Bitmap添加水印
34         Bitmap bitmap=createWatermark(bm, "www.cnblogs.com/zzw1994");
35         imageView.setImageBitmap(bitmap);
36     }
37     
38     // 为图片target添加水印文字  
39     // Bitmap target:被添加水印的图片  
40     // String mark:水印文章  
41     private Bitmap createWatermark(Bitmap target,String mark){
42         int width=target.getWidth();
43         int height=target.getHeight();
44         
45         Bitmap bitmap=Bitmap.createBitmap(width, height, Config.ARGB_8888);
46         Canvas canvas=new Canvas(bitmap);
47         
48         Paint paint=new Paint();
49         
50         //设置水印的颜色
51         paint.setColor(Color.RED);
52         //设置水印字体的大小
53         paint.setTextSize(10);
54         
55         //去锯齿
56         paint.setAntiAlias(true);
57         //获取原图片的内容
58         canvas.drawBitmap(target, 0, 0, paint);
59         // 在最下方的左边位置开始添加水印  
60         canvas.drawText(mark, 0, height, paint);
61         
62         canvas.save(Canvas.ALL_SAVE_FLAG);
63         canvas.restore();
64         
65         
66         return bitmap;
67     }
68     
69 }

简单的为图片添加水印


推荐阅读
  • Eclipse中SpringBoot响应jsp的简单demo
    首先在Eclipse里新建一个maven工程,这里的打包类型和父包如果后续再去pom中添加也可以此时的工程路径是这样的接下来去到pom中添加相关的依赖,如果有报错mavenupda ... [详细]
  • 自定义RecyclerView添加EmptyView
    你知道RecyclerView里没有Em ... [详细]
  • 2019.4.14第1001题:SumProblemProblemDescriptionHey,welcometoHDOJ(HangzhouDianziUniversityOnli ... [详细]
  • Xib九宫格应用管理使用xib封装一个自定义view的步骤1新建一个继承UIView的自定义view,假设类名叫做(AppView)2新建一个AppView.xib文件来描述 ... [详细]
  • 我们需要监听ScroView的滑动情况,比如滑动了多少距离,是否滑到布局的顶部或者底部。可惜的是SDK并没有相应的方法,不过倒是提供了一个protectedvoidonScrollChang ... [详细]
  • 下载完成之后解压提取jl1.0.0.1.jar这里写图片描述将jl1.0.0.1.jar拷贝到项目中,并添加到Library这里写图片描述4.源代码Tip:由于工程名 ... [详细]
  • packagetest;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOE ... [详细]
  • ARToolKitunity
    ARToolKit为开源的AR库,相对于高通和easyAr有几点特点:1)开源2)识别项目可以动态添加(详细在后)3)识别文件可以本地生成4)目前只能识别图片(目前为.jpg格式) ... [详细]
  • 以下不是python文件读写方法的是Python 文件I/O
    Python文件IO本章只讲述所有基本的IO函数,更多函数请参考Python标准文档。打印到屏幕最简单的输出方法是用print语句,你可以给它传递 ... [详细]
  • 最近自己做一个工具最后涉及到一个存储成bmp位图的形式,由于这部分并不是整个project的重点我就从网上找了例子改了改,但是目前的问题是有很多时候都是存储的bmp全黑,我也并不知道是怎么回事。 ... [详细]
  • C#的Type对象的简单应用
    通过Type对象可以获取类中所有的公有成员直接贴代码:classMyClass{privatestringname;privateintid;publicstringcity;pu ... [详细]
  • rbac 4表 常规设计
    rbac4表常规设计设计模型:1、管理员表(users)Schema::create('users',function(Blueprint$table){$tabl ... [详细]
  • 7月9日结束了我的小学期后,正式开始了我的假期生活。这个星期,初步了解了一些Java的基础知识。1.JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需 ... [详细]
  • 本文是《开发你的WordPress主题框架》专题的第10篇,共10篇:为你的WordPress主题框架添加动作挂钩WordPress主题框架是如何工作的决定如何开发你的WordPress主题框架为你的WordPress主题框架建立起始文件为你的Wo ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
author-avatar
qsslidan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有