Android Imageview中获取缓存图片添加水印
来源:互联网 发布:mac常用软件2017 编辑:程序博客网 时间:2024/06/05 16:57
第一个是 Imageview 从下面的Imageview 获取的缓存图片 再添加文字信息
package com.example.imageview;import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typeface; import android.graphics.Bitmap.Config; import android.os.Bundle; import android.text.format.Time; import android.view.View; import android.view.View.OnClickListener; import android.view.Window;import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { private Button btnThum; private ImageView imgThum; private ImageView imgSource; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);// requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); initViews(); } private void initViews() { btnThum = (Button) findViewById(R.id.btn); imgThum = (ImageView) findViewById(R.id.image1); imgSource = (ImageView) findViewById(R.id.image2); btnThum.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Bitmap bitmap = getViewBitmap(imgSource); Bitmap bitmap1 = createBitmap(bitmap); if (bitmap1 != null) { imgThum.setImageBitmap(bitmap1); } } }); } /** * 得到View的缓存图片bitmap */ private Bitmap getViewBitmap(View v) { //得到该view是否 设置了绘画缓存 boolean willNotCache = v.willNotCacheDrawing(); // 设置该View绘画 缓存 如果设置true 则不缓存 默认是false开启的 v.setWillNotCacheDrawing(false); // int color = v.getDrawingCacheBackgroundColor(); // v.setDrawingCacheBackgroundColor(0); // if (color != 0) { // //清除绘画缓存// v.destroyDrawingCache(); // } v.buildDrawingCache(); Bitmap bitmap = Bitmap.createBitmap( v.getDrawingCache()); //清除缓存 v.destroyDrawingCache(); v.setWillNotCacheDrawing(willNotCache); // v.setDrawingCacheBackgroundColor(color); return bitmap; } //为图片添加水印 private Bitmap createBitmap(Bitmap src) { Time t = new Time(); t.setToNow(); int w = src.getWidth(); int h = src.getHeight(); String msg = "温暖的旧时光"+t.hour + ":" + t.minute + ":" + t.second; Bitmap bmpTemp = Bitmap.createBitmap(w, h, Config.ARGB_8888); Canvas canvas = new Canvas(bmpTemp); Paint paint = new Paint(); String familyName = "宋体"; Typeface font = Typeface.create(familyName, Typeface.BOLD); paint.setColor(Color.BLUE); paint.setTypeface(font); paint.setTextSize(20); canvas.drawBitmap(src, 0, 0, null); canvas.drawText(msg, w/2-50, h-50, paint); return bmpTemp; } }
0 0
- Android Imageview中获取缓存图片添加水印
- Android获取图片,自动添加文字水印
- Android:图片添加水印
- Android 图片添加水印
- Android添加图片水印
- Android 图片添加水印
- Android添加图片水印
- Android 为图片添加水印
- C#中添加图片水印
- Android 首页banner图片中ArrayList<ImageView>缓存到本地
- PHP获取服务器图片并添加水印
- Android 图片添加水印图片或者文字
- android的imageView获取图片
- android中图片水印换行
- android 如何给图片添加水印
- Android为图片添加水印文字
- android 如何给图片添加水印
- Android给图片添加认证水印
- 163,如何实现懒加载——getter方法
- 文章标题
- [从头学数学] 第22节 表内乘法(一)
- 01 Matrix 杭电2015年12月校赛F (二维DP)
- Scala光速入门之Scala的基本语法、Array、Map、Tuple等
- Android Imageview中获取缓存图片添加水印
- BZOJ 3207 花神的嘲讽计划Ⅰ 可持久化线段树
- 树中点对距离
- SQLite数据库存储
- (java多线程并发)控制并发线程数的Semaphore
- android 图片操作之色彩变换
- [Android]贝塞尔曲线应用及QQ气泡拖动原理实践
- afn https网络访问
- 【总结】初识C#变量