@Override

public OutputStream watermark1(String ossURL, String logoOsskey, HttpServletResponse response) {

lock.lock();

OutputStream os = null;

InputStream imageStream=null;

//水印

String logoPath = ossService.getOssURL(logoOsskey,bucket);

//原图ossURL

try {

os=response.getOutputStream();

imageStream = getImageStream(ossURL);

Image image2 = ImageIO.read(imageStream);

//获取原图信息

int width = image2.getWidth(null);

int height = image2.getHeight(null);

BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);

Graphics2D g = bufferedImage.createGraphics();

g.drawImage(image2, 0, 0, width, height, null);

// //设置多个图片水印

InputStream logo = getImageStream(logoPath);

Image imageLogo = ImageIO.read(logo);

int logoWidth = imageLogo.getWidth(null);

int logoHeight = imageLogo.getHeight(null);

//设置透明度,ALPHA为接口中自定义的值透明度 0.3F

g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, ALPHA));

//完成图片旋转30

g.rotate(Math.toRadians(0), bufferedImage.getWidth() / 2, bufferedImage.getHeight() / 2);

int x = -width / 2;

int y = -height / 2;

while (x < width * 1.5) {

y = -height / 2;

while (y < height * 1.5) {

g.drawImage(imageLogo, x, y, null);

y += logoHeight + 200;

}

x += logoHeight + 300;

}

g.dispose();

Thumbnails.Builder thumbnail = Thumbnails.of(bufferedImage);

thumbnail.size(x,y);

ImageIO.write(thumbnail.asBufferedImage(),"png",os);

//JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os);

//en.encode(bufferedImage);

} catch (IOException e) {

e.printStackTrace();

} finally {

if (os != null) {

try {

os.flush();

os.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(imageStream!=null){

try {

imageStream.close();

}catch (IOException e){

e.printStackTrace();

}

}

}

lock.unlock();

return os;

}

java 生成url_JAVA 通过URL生成水印图相关推荐

  1. JAVA线程根据给定URL生成网页快照

    最近项目中遇到这样一个需求,根据一个动态的URL来生成对应的网页快照.网上找了很多资料,最终采用如下方法解决. 生成原理:将动态URL的页面先生成HTML文件,然后再根据生成的HTML生成快照.生成的 ...

  2. Java实现短链接URL生成

    因公司推广需要,需要一套短链接生成方案,正好前几天在MSDN看到有人发了一个.net版的短链接算法,我就把它转换成java版,拿出来共享一下 生成思路: 1.将"原始链接(长链接)+key( ...

  3. java调用wadl_从JAVA中的WADL URL生成rest客户端

    WADL网址: http://localhost:8080/RestfulSample/Restful?_wadl 我需要使用上面的WADL URL中的CXF生成其余客户端. 问题: >我们有任 ...

  4. Java实现将文本内容、网址链接url,生成二维码与反解析

    2019独角兽企业重金招聘Python工程师标准>>> Java实现将文本内容.网址链接url,生成二维码与反解析 QR码的"QR"是Quick Response ...

  5. Java后台生成图表——主代码(折线图,饼状图,柱状图,-》并产出图片PDF或其他格式的图片内容)

    声明: 本文采用的数据均来源于网络,本人只用于学习记录,若有侵权,还望能及时联系. Maven 的 POM 依赖 <!--必要--><!--用于jfreechart生成图片 --&g ...

  6. 使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图

    本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图. 实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程 ...

  7. java生成二维码合成背景图

    一.背景 接到个需求,要打印纸质红包,上面附二维码,然后每个红包的二维码不一样,扫描二维码去参加活动领真实的红包,需要给出对应的图片 二.代码示例 import java.awt.Graphics2D ...

  8. java使用poi操作world生成饼图,柱状图,折线图,组合图:一

    java使用poi操作world生成饼图,柱状图,折线图,组合图:一 下文和问题链接 开发前准备 准备模板 模板下载地址百度云盘:cvod 本文可用操作 组合图操作 模板效果对比填充后的效果 饼图 模 ...

  9. java使用poi操作world生成饼图,柱状图,折线图,组合图:二

    java使用poi操作world生成饼图,柱状图,折线图,组合图:二 上文和问题链接 直接上代码 maven 测试类:单图表(入口) 测试类:组合图表(入口) 工具类:组合数据类 工具类:枚举解析图表 ...

最新文章

  1. Redis Lua脚本实现原子性操作
  2. MVC中不能使用原生态的#include ,可替代的解决方案
  3. mysql插入语句例句,一句简单的MySql插入语句怎么写 ?
  4. BZOJ 2818GCD
  5. RabbitMq(十三)消息发送确认与回调机制
  6. bankbone 模型简单介绍
  7. [leetcode]241. 为运算表达式设计优先级
  8. 如何进行大数据分析与处理
  9. 当系统出错,win10真难用
  10. 作为技术人员,年会中尽量找熟人喝酒
  11. 再不用担心Sci-Hub不能用了
  12. java2.0qq同步_QQ同步助手Java版发布
  13. 关于 傅里叶变换 的一些理解(通俗版)
  14. OSPF的DR和BDR【eNSP实现】
  15. 最新利用腾讯快捷登录协议截取QQ ClientKey实战课程【详细教学-源码共享】
  16. Website Watchman for Mac(mac网站内容监控工具)
  17. linux 软件包的安装,linux安装软件包的方法
  18. 手把手教你学习R语言
  19. 三年级计算机课可以画的图有,三年级上册画画图片
  20. [论文排版] 实现公式居中、编号右对齐

热门文章

  1. 前端学习(95):ps基本操作与图片格式
  2. shiro学习(16):使用注解实现权限认证和后台管理二
  3. java面试题8 牛客:在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象
  4. 第三十一期:大数据分析师学习入门,10个数据可视化技巧
  5. Python sqrt() 函数
  6. NB-IOT/Lora/Zigbee/WIFI/蓝牙无线组网方式的对比
  7. oracle cdc 关闭,Oracle CDC部署流程
  8. mysql表数据提取工具,Jailer数据提取
  9. python常用函数的用法_python3 文件操作常用函数用法示例
  10. 程序员如何跟领导提离职_员工辞职不交接工作被领导怒怼:我不批离职,跟你耗着,结果蒙了...