- 浏览: 469327 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
此去经年雪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加密和签名
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 1634for windows: 1、add below lin ... -
swing和awt的两个简单使用
2011-08-29 13:27 12401、swing: package frame; ... -
[转]笔记:Hibernate性能优化事项(持续更新)
2011-08-27 10:38 16031、针对Oracle数据库而言 ... -
自定义classloader实现
2011-08-09 14:19 1430package classloader; import ... -
[总结篇]Java中从键盘接收一个字符
2011-05-29 21:53 2182引言 从控制台中读 ... -
利用commons-net包实现ftp上传下载例子
2011-01-19 16:50 4056下载文件的时候注意一下,第一个参数要用iso-8859_ ... -
请使用Oracle新版本驱动
2010-11-09 11:08 2568今天使用apache dbutils连接oracle10G时, ... -
关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
2010-10-25 16:07 37848需求环境: 西安项目中,客户要求保护用户的密码信息,不 ... -
使用java.net.URL实现Post数据
2010-07-20 10:38 5984实现:利用URL访问URL并传递参数,然后获取返回结果。 可 ... -
java文件锁的实现
2010-07-02 16:37 7166项目使用到集群环境,流程发送时如果确保一个流程不会被两个流程同 ... -
如何导出大数据量的Excel文件
2010-05-25 09:07 2438一般导出Excel可以选择POI或者JXL,poi比较方便但是 ... -
Log4j使用总结
2010-01-09 09:50 979一、介绍 Log4j是Apa ... -
servlet下载文件不支持迅雷的解决方法
2009-11-18 13:42 3800servlet实现下载时,如果客户端安装了迅雷,发现不能正确下 ... -
JMS-ActiveMQ入门实例
2009-11-04 11:49 7224下载ActiveMQ http://activemq.a ... -
Lucene+HighLighter高亮显示实例
2009-11-03 18:37 5275今天搞了一个关于Lucene的例子,权当入门教程。网上有很多资 ... -
JAVA操作Excel参考
2009-11-03 10:33 1035Java Excel是一开放源码项目,通过它Java开发人 ... -
freemarker根据模板生成文件的编码问题
2009-10-20 15:46 2621用freemarker生成html静态文件时,涉及的编码主要有 ... -
RSS基本知识、开发相关
2009-09-27 11:43 1245RSSLibJ是一个专门读 ... -
Ant+xFire生成客户端代码实战
2009-09-12 16:41 2733生成xfire客户端有多种方式,直接调用xFire暴露的接口、 ... -
Spring中JdbcTemplate相关的几个接口
2009-09-07 16:48 19571、org.springframew ...
相关推荐
在Java编程环境中,处理图像是一项常见的任务,包括创建缩略图、添加水印、裁剪以及转换图片格式。这些操作可以用于网站上的图像展示、移动应用的资源优化或任何需要图像处理的项目。"Thumbnailator"是Java的一个...
总的来说,“java缩略图jar包”(thumbnailator)是Java开发中创建和管理缩略图的高效工具,它的强大功能和简洁API降低了图像处理的门槛,使得开发者能够更加专注于业务逻辑,而不用过多关心底层的图像处理细节。...
Thumbnailator 是一个专为 Java 平台设计的高效且易于使用的图像处理库,尤其适用于生成缩略图。该库通过其简洁的 API 设计,极大地简化了从图像文件和图像对象创建缩略图的过程。只需要几行代码,用户就可以轻松...
Thumbnailator是一款基于Java的图像处理库,用于生成缩略图和其他图像操作。它以其高效、易用和功能丰富而受到开发者的青睐。在Java应用程序中,如果需要对图像进行缩放、裁剪、添加水印或者进行其他效果处理,...
Thumbnailator是一个功能丰富的开源Java库,它提供了一系列简便易用的API,可以帮助开发者快速实现图片的缩略图生成、裁剪、旋转、添加水印等常见操作。 首先,我们要了解Java图片处理的基本概念。在Java中,`java....
在这个领域,thumbnailator是一个备受青睐的Java库,它提供了简单易用的API,用于快速创建图片缩略图和其他图片处理工作。本文将详细介绍thumbnailator库及其在图片处理中的应用。 thumbnailator是日本开发者...
在上述代码中,我们创建了一个 640x480 的缩略图,保持原图比例,逆时针旋转 90 度,输出质量为 90%,格式为 JPG,并在左上角添加了一个白色的文字水印。 在处理多个图片时,可以使用可迭代对象(如 List 或 Set)...
5. **添加水印**:使用 `watermark()` 方法,可以轻松地在缩略图上添加文字或图像水印,这对于版权保护或品牌推广非常有用。 6. **批处理处理**:`Thumbnailator` 支持批量处理目录下的所有图像,这在处理大量图片...
thumbnailator是一个Java库,用于创建、修改和转换图像,尤其是生成缩略图。这个库因其简洁的API和高效的性能而在开发者中受到欢迎。在本教程中,我们将探讨如何利用thumbnailator.jar快速上手生成缩略图。 ### 1. ...
Thumbnailator 是一个开源的Java库,它的主要功能是创建图片的缩略图,但同时也支持其他图片处理操作,如裁剪、旋转、调整大小、添加水印等。在版本0.4.8中,它可能已经包含了各种优化和改进,以提高性能和兼容性。 ...
在Java开发中,经常需要处理图像,比如生成缩略图,调整尺寸,裁剪,旋转,甚至添加水印等。thumbnailator库提供了一系列方法,使得这些操作变得简单高效。它支持多种图像格式,如JPEG、PNG、GIF和BMP,并且能够处理...
"thumbnailator-0.4.7" 是一个Java类库,专门用于生成图像的缩略图。这个库的出现使得开发者在处理图像时能够轻松快捷地创建缩略图,极大地简化了图片处理的工作流程。其核心特性在于其简单易用的API设计,使得即使...
这段代码会将名为"input.jpg"的图片转换为100x100像素的PNG格式缩略图,并保存为"output.png"。 三、高级功能探索 thumbnailator库提供了许多高级功能,例如: 1. **裁剪**:可以指定裁剪区域,如: ```java ...
thumbnailator是一个功能丰富的Java库,它提供了一种简单、高效的方式来创建缩略图和其他图像处理操作。 首先,让我们深入了解thumbnailator库。thumbnailator由Cenote GmbH开发,它支持多种图像格式,如JPEG、PNG...
在这个例子中,`Thumbnails.of()`方法用于创建一个`Builder`对象,接着`.size(128, 128)`定义了缩略图的尺寸,最后`.toFile("thumbnail.jpg")`将生成的缩略图保存到指定的文件。 `thumbnailator`库不仅支持常见的...
Thumbnailator是一款强大的Java库,专用于处理图像缩略图的创建和调整。它提供了一种简单易用的方式来生成和操作图像的缩略图,包括等比例缩放、裁剪、旋转等多种功能。在这个"Thumbnailator图片压缩Demo以及jar包...
例如,"裁剪"功能允许用户从原始图像中提取指定区域,这对于制作网页缩略图或者提取图像的关键部分非常有用。裁剪可以通过设置坐标和尺寸来精确操作,也可以通过百分比或比例来相对调整。此外,"合成"功能则可以将多...
- **电商场景**:在商品详情页中,可以通过SimpleImage快速生成各种尺寸的缩略图,以适应不同设备的展示需求。 - **社交媒体**:在上传用户头像时,可以使用SimpleImage进行尺寸限制和水印添加,保护用户隐私。 -...
* .outputFormat(String png,jpg...修改后缀) * .toFile(String 新图片路径) * .sourceRegion(Positions.BOTTOM_RIGHT,int 宽度,int 高度) Positions.BOTTOM_RIGHT 位置 * .watermark(位置 Positions.TOP_RIGHT,...