- 浏览: 460414 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
此去经年雪123:
为啥生成的是乱码 你好
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
alonglw:
zxf0089216 写道1.为什么每次都是10001RSAK ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
zxf0089216:
1.为什么每次都是10001RSAKeyPair(" ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
dunhanson:
后台的测试main方法都能加密解密。前台加密后的密文交给后台解 ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名 -
map612:
wula0010 写道仔细看了下,可以运行RSAUtil.ma ...
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
[转]Java缩略图类带水印(jpg,png)
- 博客分类:
- Java
package com.example; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.WritableRaster; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class ImageHelper { /** * 生成缩略图 <br/>保存:ImageIO.write(BufferedImage, imgType[jpg/png/...], File); * * @param source * 原图片 * @param width * 缩略图宽 * @param height * 缩略图高 * @param b * 是否等比缩放 * */ public static BufferedImage Thumb(BufferedImage source, int width, int height, boolean b) { // targetW,targetH分别表示目标长和宽 int type = source.getType(); BufferedImage target = null; double sx = (double) width / source.getWidth(); double sy = (double) height / source.getHeight(); if (b) { if (sx > sy) { sx = sy; width = (int) (sx * source.getWidth()); } else { sy = sx; height = (int) (sy * source.getHeight()); } } if (type == BufferedImage.TYPE_CUSTOM) { // handmade ColorModel cm = source.getColorModel(); WritableRaster raster = cm.createCompatibleWritableRaster(width, height); boolean alphaPremultiplied = cm.isAlphaPremultiplied(); target = new BufferedImage(cm, raster, alphaPremultiplied, null); } else target = new BufferedImage(width, height, type); Graphics2D g = target.createGraphics(); // smoother than exlax: g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy)); g.dispose(); return target; } /** * 图片水印 * * @param imgPath * 待处理图片 * @param markPath * 水印图片 * @param x * 水印位于图片左上角的 x 坐标值 * @param y * 水印位于图片左上角的 y 坐标值 * @param alpha * 水印透明度 0.1f ~ 1.0f * */ public static void waterMark(String imgPath, String markPath, int x, int y, float alpha) { try { // 加载待处理图片文件 Image img = ImageIO.read(new File(imgPath)); BufferedImage image = new BufferedImage(img.getWidth(null), img .getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); g.drawImage(img, 0, 0, null); // 加载水印图片文件 Image src_biao = ImageIO.read(new File(markPath)); g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha)); g.drawImage(src_biao, x, y, null); g.dispose(); // 保存处理后的文件 FileOutputStream out = new FileOutputStream(imgPath); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(image); out.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 文字水印 * * @param imgPath * 待处理图片 * @param text * 水印文字 * @param font * 水印字体信息 * @param color * 水印字体颜色 * @param x * 水印位于图片左上角的 x 坐标值 * @param y * 水印位于图片左上角的 y 坐标值 * @param alpha * 水印透明度 0.1f ~ 1.0f */ public static void textMark(String imgPath, String text, Font font, Color color, int x, int y, float alpha) { try { Font Dfont = (font == null) ? new Font("宋体", 20, 13) : font; Image img = ImageIO.read(new File(imgPath)); BufferedImage image = new BufferedImage(img.getWidth(null), img .getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); g.drawImage(img, 0, 0, null); g.setColor(color); g.setFont(Dfont); g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha)); g.drawString(text, x, y); g.dispose(); FileOutputStream out = new FileOutputStream(imgPath); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(image); out.close(); } catch (Exception e) { System.out.println(e); } } }
发表评论
-
linux、win下用jmx监控tomcat运行情况
2012-03-14 15:52 1586for windows: 1、add below lin ... -
swing和awt的两个简单使用
2011-08-29 13:27 11571、swing: package frame; ... -
[转]笔记:Hibernate性能优化事项(持续更新)
2011-08-27 10:38 15661、针对Oracle数据库而言 ... -
自定义classloader实现
2011-08-09 14:19 1385package classloader; import ... -
[总结篇]Java中从键盘接收一个字符
2011-05-29 21:53 2125引言 从控制台中读 ... -
利用commons-net包实现ftp上传下载例子
2011-01-19 16:50 3972下载文件的时候注意一下,第一个参数要用iso-8859_ ... -
请使用Oracle新版本驱动
2010-11-09 11:08 2515今天使用apache dbutils连接oracle10G时, ... -
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
2010-10-25 16:07 37636需求环境: 西安项目中,客户要求保护用户的密码信息,不 ... -
使用java.net.URL实现Post数据
2010-07-20 10:38 5922实现:利用URL访问URL并传递参数,然后获取返回结果。 可 ... -
java文件锁的实现
2010-07-02 16:37 7084项目使用到集群环境,流程发送时如果确保一个流程不会被两个流程同 ... -
如何导出大数据量的Excel文件
2010-05-25 09:07 2350一般导出Excel可以选择POI或者JXL,poi比较方便但是 ... -
Log4j使用总结
2010-01-09 09:50 919一、介绍 Log4j是Apa ... -
servlet下载文件不支持迅雷的解决方法
2009-11-18 13:42 3752servlet实现下载时,如果客户端安装了迅雷,发现不能正确下 ... -
JMS-ActiveMQ入门实例
2009-11-04 11:49 7168下载ActiveMQ http://activemq.a ... -
Lucene+HighLighter高亮显示实例
2009-11-03 18:37 5159今天搞了一个关于Lucene的例子,权当入门教程。网上有很多资 ... -
JAVA操作Excel参考
2009-11-03 10:33 972Java Excel是一开放源码项目,通过它Java开发人 ... -
freemarker根据模板生成文件的编码问题
2009-10-20 15:46 2567用freemarker生成html静态文件时,涉及的编码主要有 ... -
RSS基本知识、开发相关
2009-09-27 11:43 1188RSSLibJ是一个专门读 ... -
Ant+xFire生成客户端代码实战
2009-09-12 16:41 2691生成xfire客户端有多种方式,直接调用xFire暴露的接口、 ... -
Spring中JdbcTemplate相关的几个接口
2009-09-07 16:48 19181、org.springframew ...
相关推荐
生成各种图片缩略图,并支持添加水印 一个生成缩略图的函数 一个添加水印的函数 傻瓜式应用很简单
java 生成缩略图类 源代码 (已经封装好)
java 上传图片时生成对应的缩略图,缩略图的大小可手动更改,代码中有详细注释
用java技术处理图片,生成缩略图,添加水印,切割裁剪图片,格式转换
java 实现png图片高质量的缩略图,很多时候都会用到的
缩略图水印组件源代码 缩略图水印组件源代码 缩略图水印组件源代码
缩略图类(通用) 本java类能将jpg、bmp、png、gif图片文件,进行等比或非等比的大小转换。
java程序开发中,将图片以缩略图形式展示,不错的资料,欢迎下载,共同学习
java上传图片,处理图片,word转pdf图片缩略图生成,替换所有图片的ip地址工具类
java图片缩放 java缩略图 缩略图 java图片处理
C#缩略图,C#水印 C#语言基础 【实例简介】C#缩略图,C#水印 C#生成缩略图,C#缩略图,C#水印 很不错的 【核心代码】 文件清单 └── SarmtImage ├── App_Code │ └── SarmtImage.cs ├── App_Data ├── ...
批量生成缩略图,加水印,重命名,在网页制作中常常需要为大批量图片生成缩略图,“批量缩略图工具”就是这样一个工具,为图片文件批量生成缩略图。
.NET 自动生成带水印及缩略图程序,.NET 自动生成带水印及缩略图程序.
上传图片到服务器端,有缩略图,有水印,需要的可以看看,挺不错的~
C#生成缩略图,C#缩略图,C#水印 很不错的
超简单 获取视频缩略图。
将图片生成缩略图和转换为二进制的工具类,缩略图大小可调
Java实现图片等比例缩略图
缩略图+水印处理类 可以生成填充的缩略图,调用简单