- public class ImageEncoder {
-
public BufferedImage resize(BufferedImage source, int targetW,
-
int targetH) {
-
-
int type = source.getType();
-
BufferedImage target = null;
-
double sx = (double) targetW / source.getWidth();
-
double sy = (double) targetH / source.getHeight();
-
-
if (sx > sy) {
- sx = sy;
-
targetW = (int) (sx * source.getWidth());
-
} else {
- sy = sx;
-
targetH = (int) (sy * source.getHeight());
- }
-
if (type == BufferedImage.TYPE_CUSTOM) {
- ColorModel cm = source.getColorModel();
- WritableRaster raster = cm.createCompatibleWritableRaster(targetW,targetH);
-
boolean alphaPremultiplied = cm.isAlphaPremultiplied();
-
target = new BufferedImage(cm, raster, alphaPremultiplied, null);
-
} else{
-
target = new BufferedImage(targetW, targetH, type);
- }
- Graphics2D g = target.createGraphics();
-
- g.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
- g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy));
- g.dispose();
-
return target;
- }
-
-
public BufferedImage getBufferedImage(String image,int width,int height){
-
try {
-
BufferedImage srcImage = ImageIO.read(new File(image));
-
if (width > 0 || height > 0) {
- srcImage = resize(srcImage, width, height);
- }
-
return srcImage;
-
} catch (IOException e) {
- e.printStackTrace();
- }
-
return null;
- }
- }
Servlet中使用实例:(/ImageProc)
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
-
throws ServletException, IOException {
-
synchronized (this) {
-
String img = request.getParameter("img");
-
int width = Integer.parseInt(request.getParameter("width"));
-
int height = Integer.parseInt(request.getParameter("height"));
- BufferedImage bi = ie.getBufferedImage(img, width, height);
- ServletOutputStream sos = response.getOutputStream();
-
ImageIO.write(bi, "jpg", sos);
- }
- }
JSP页面使用<img/>标签指定src为这个servlet的urlparttern就可以了
<img src="<%=contextPath%>/ImageProc?img=D:/DEMO.jpg&width=160&height=200"/>
分享到:
相关推荐
总之,“缩略图插件”是一个实用的工具,尤其对于需要处理多种图像和3D格式的IT专业人士来说,它简化了文件管理,提高了工作效率,并且增强了工作流程的可视性。无论是个人使用还是团队协作,这种插件都是必不可少的...
《贴内图片随机缩略图插件 for Discuz! 7.2》是一款专为Discuz! 7.2论坛平台设计的增强型插件,适用于GBK、UTF8以及BIG5编码环境。此插件旨在提升论坛用户体验,尤其是在查看帖子时,通过鼠标悬停在图片图标上,用户...
综上所述,这个压缩包文件可能包含一个使Windows系统能够显示DDS文件缩略图的工具,以及一个使ACDSee软件支持DDS格式的插件。这些工具的使用,将极大地便利3D图形设计师和游戏开发者在工作中对DDS文件的管理和预览,...
1. 创建一个新的Bitmap对象(roundThumbBitmap),用于存储圆角缩略图。 2. 初始化一个Canvas对象,将这个新Bitmap作为绘图表面。 3. 创建一个Paint对象,设置颜色(如红色)并开启抗锯齿,以确保圆角平滑。 4. 使用...
针对这个问题,一个常见的解决办法是修改注册表。给出的“禁用视频预览.reg”和“恢复视频预览.reg”文件的内容实际上就是对注册表进行编辑的脚本。 禁用视频预览的脚本会删除与特定视频格式关联的缩略图显示项,...
生成缩略图功能则允许用户快速预览网页的大致内容。缩略图通常较小,但能展示网页的主要结构和内容,便于用户快速浏览和比较多个网页。这一特性在处理大量网页信息时尤为高效,比如在做网页设计参考、网站目录索引...
简单图像尺寸 贡献者: Rahe 捐赠链接: : 标签:图像,图像,自定义尺寸,自定义图像,缩略图重新生成,缩略... 我添加了一个计时器,以便在重新生成缩略图时可以大致知道重新生成的时间。 我已经改进了php和javas
日常开发中,经常碰到图片上传的需求,尤其在商城系统开发的时候,商品列表商品图片展示如果使用高清原图,由于高清原图比较大,加载原图时间会大大增加,直接... /// 生成缩略图或质量压缩 /// /// <param na
在本文中,我们将深入探讨基于Laravel框架的"Laravel开发-laravel-video-embed"项目,这是一个专门为集成Dereuromark/MediaEmbed和生成缩略图功能设计的Laravel包。我们将详细介绍如何利用这个包来增强您的 Laravel ...
论坛图贴插件,它是一个基于 Flash 技术的丰富互联网应用程序,目的在于给 Discuz! 论坛的图贴一种崭新的浏览体验。图贴阅读插件为 Discuz! 中的图贴提供了一种以图片为中心的视图,用更多的空间更好地集中展示帖子...
2. **图片处理**:插件可能包含图片缩略图生成、格式转换等功能,以优化图片大小和加载速度。 3. **外链生成**:上传成功后,插件会生成一个指向图片的URL,这个URL可以作为外链在其他地方使用。 4. **安全与权限*...
1. 选择贺卡:用户可以选择一组(16 款)贺卡的缩略图,如果用户要制作的贺卡在此组中,请直接点击贺卡缩略图,转“ 填空” 。否则,点击“ 上一组” 或“ 下一组” 或修改输入当前组号,寻找您需要制作的贺卡。 2....
接收从贴图小王子App上传的图片,生成缩略图,并将原图和缩略图分别存到不同的文件夹中。 支持查询接收到的原图及其缩略图的信息。 支持浏览器直接上传图片到服务器。 功能测试 贴图小王子酷安商城下载链接(你可以...
- **缩略图生成**:为了节省服务器带宽和优化用户体验,插件可能包含生成缩略图的功能。PHP的GD库或Imagick库可以用于图片的裁剪、缩放等操作。 - **图片格式转换**:为了兼容不同的浏览器和设备,插件可能需要将...
3. **批量处理**:对于一个目录下的所有图片,可以编写简单的脚本来批量生成缩略图,例如: ``` for img in `ls *.jpg` do convert -sample 25%x25% ${img} thm${img} done ``` 这条脚本将对所有JPG文件生成...
然后,当你找到想要转发到朋友圈的视频时,长按并收藏它,接着将其转发给任意一个人或群聊,目的是生成缩略图。这一步很重要,因为没有缩略图,视频将无法正常显示在朋友圈。 接下来,进入朋友圈,点击右上角的相机...
主要功能: ·首页、 分类、新闻、专题可生成静态页面 ·生成速度可在每分钟30页到2000页之间选择 首页静态文件自动定时生成 ·可视化的模板/风格设计 ...·自动取新闻内第一张适合的本地图片生成缩略图
**步骤二:生成缩略图** 在微信中找到你想要转发的小视频,长按视频,选择“收藏”。然后将收藏的视频转发给任意一个联系人或群聊,这一步是为了生成视频的缩略图。 **步骤三:临时保存小视频** 进入朋友圈,点击右...
3. **图片处理**:可以使用GD库或Imagick扩展来处理图片,如生成缩略图、调整尺寸、裁剪等。 4. **URL生成**:为每个上传的图片生成一个唯一的URL,方便用户分享和访问。 5. **会话管理**:如果支持用户登录,那么...