package com.unicom;import android.app.Application;import android.content.Context;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import    java.text.SimpleDateFormat;import android.provider.MediaStore;import android.support.v7.app.AppCompatActivity;import android.view.View;import java.util.Date;import java.util.UUID;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import io.dcloud.application.DCloudApplication;/** * Created by YueYan on 2018/8/7. */public class JavaActivity{    public String merge(String url,String dataStr) throws Exception {        File zhang = new File(url);        Bitmap bitmap1 = BitmapFactory.decodeStream(new FileInputStream(zhang));        String[] filePathArr = url.split("/");        String fileNameStr = filePathArr[filePathArr.length-1];        String[] fileNameArr = fileNameStr.split("\\.");        String fileType = fileNameArr[1];        SimpleDateFormat    formatter    =   new    SimpleDateFormat    ("yyyyMMdd_HHmmss");        Date curDate    =   new    Date(System.currentTimeMillis());//获取当前时间        String    str    =    formatter.format(curDate);        String fileName = "IMG_"+str+"."+fileType;        File zhangphil = new File("/storage/emulated/0/DCIM/Camera/"+fileName);        if (!zhangphil.exists())            zhangphil.createNewFile();        //中间高度位置添加水印文字。        Bitmap bitmap2 = addTextWatermark(bitmap1,dataStr, Color.BLUE, bitmap1.getWidth(), bitmap1.getHeight(), true);        save(bitmap2, zhangphil, Bitmap.CompressFormat.JPEG, true,fileName);        return  "/storage/emulated/0/DCIM/Camera/"+fileName;    }    /**     * 给一张Bitmap添加水印文字。     *     * @param src      源图片     * @param content  水印文本     * @param color    水印字体颜色。     * @param x        起始坐标x     * @param y        起始坐标y     * @param recycle  是否回收     * @return 已经添加水印后的Bitmap。     */    public static Bitmap addTextWatermark(Bitmap src, String content, int color, int x, int y, boolean recycle) {        if (isEmptyBitmap(src) || content == null)            return null;        Bitmap ret = src.copy(src.getConfig(), true);        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);        //Canvas canvas = new Canvas(ret);        Rect bounds = new Rect();       //添加多行水印,逗号隔开,并根据图片大小设置字体大小和水印间隔        String[] paintArr =  content.split(",");        int fontSize = x/20;        if(fontSize>120) {            fontSize=120;        }        int xw = 50;        int fontSizeJJ = fontSize+fontSize/10;        int yBngin = y-50-fontSizeJJ* paintArr.length;        paint.setColor(color);        paint.setTextSize(fontSize);        for (int i =0;i

更多相关文章

  1. Android开启Java8
  2. Android之handle异步加载图片
  3. Duplicate Entry
  4. Android添加自己的属性
  5. android TextView加载html内容并加载图片
  6. android 图片放大于缩小
  7. 计算图片缩小比例
  8. android_camera_003
  9. Android学习笔记之Gallery(2)

随机推荐

  1. Android(安卓)调试:java 跨工程调试 andro
  2. android 事件分发机制详细解析
  3. Android(安卓)自定义控件打造史上最简单
  4. Android(安卓)事件处理
  5. 仿Android6.0联系人列表
  6. Android电话拨打流程源码分析
  7. 为什么说Android令人沮丧!?
  8. Android状态check、focused、pressed、se
  9. Android安装以及Eclipse插件(Google Andr
  10. Ubuntu 试用Android(安卓)L版本