java上传图片的缩放处理
本文介绍如何使用java强大的图形处理功能把上传到服务器的图片,进行缩放处理。同时,给出了使用了Java 的AWT,在linux下运行可能报错的两种解决方式。
图片上传到服务器后,会根据情况将图片缩小成一个图标,我们可以利用java强大的图形处理功能,对上传的图片进行缩放处理。
下面的程序使用jdk1.4中最新的ImageIO对图片进行读写。使用AffineTransform对图片进行缩放。
import java.io.File;
import java.awt.image.BufferedImage;
import java.awt.Image;
import java.awt.image.AffineTransformOp;
import javax.imageio.ImageIO;
import java.awt.geom.AffineTransform;
public class UploadImg{
/**
* @param fromdir 图片的原始目录
* @param todir 处理后的图片存放目录
* @param imgfile 原始图片
* @param sysimgfile 处理后的图片文件名前缀
*
*/
............................
public boolean CreateThumbnail() throws Exception
{
//ext是图片的格式 gif JPG 或png
String ext="";
double Ratio=0.0;
File F = new File(fromdir,imgfile);
if (!F.isFile())
throw new Exception(F+" is not image file error in CreateThumbnail!");
//首先判断上传的图片是gif还是JPG ImageIO只能将gif转换为png
if (isJpg(imgfile)){
ext="jpg";
}else{
ext="png";
}
File ThF = new File(todir,sysimgfile+"."+ext);
BufferedImage Bi = ImageIO.read(F);
//假设图片宽 高 最大为120 120
Image Itemp = Bi.getScaledInstance (120,120,Bi.SCALE_SMOOTH);
if ((Bi.getHeight()>120) || (Bi.getWidth()>120)){
if (Bi.getHeight()>Bi.getWidth())
Ratio = 120.0/Bi.getHeight();
else
Ratio = 120.0/Bi.getWidth();
}
AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance
(Ratio, Ratio), null);
Itemp = op.filter(Bi, null);
try {
ImageIO.write((BufferedImage)Itemp, ext, ThF);
}catch (Exception ex) {
throw new Exception(" ImageIo.write error in CreatThum.: "+ex.getMessage());
}
return (true);
}
}
该程序使用了Java 的AWT,在linux下运行可能报错,有两种解决方式:
(1) jdk1.4以前版本:需要安装 XFree86和XFree86-Xvfb ,加入 export DISPLAY=hostdomain:0.0。
(2) jdk 1.4以后版本,执行命令java 加入参数-Djava.awt.headless=true,表示这是一个没有键盘 没有显示器的无头服务器,意称机房托管的服务器。
转自于:http://www.knowsky.com/534967.html
分享到:
相关推荐
4. **图片缩放** - **前端缩放**:使用CSS的`transform`属性,可以实现图片的缩放效果,但这仅限于视觉上的缩放,不会改变图片的实际大小。 - **后端缩放**:在服务器端,可以使用Java的图像处理库,如`ImageIO`或...
本文将重点介绍如何使用Java语言对上传的图片进行缩放处理。 #### 二、Java图像处理库简介 Java提供了丰富的图像处理库,其中最常用的是`java.awt`和`javax.imageio`包下的类。这些类能够帮助开发者轻松地实现图片...
在Java编程语言中,处理图片上传、预览和缩放是一项常见的任务,特别是在网页应用开发中,例如使用JSP(JavaServer Pages)技术。本文将深入探讨如何在Java环境中实现这些功能,确保用户能安全、高效地上传图片,并...
以下是一个简单的图片缩放方法: ```java public BufferedImage scaleImage(BufferedImage source, int targetWidth, int targetHeight) { double scaleWidth = (double) targetWidth / source.getWidth(); ...
在Java编程中,图片处理是一项常见的任务,包括图片的上传、尺寸控制、宽高调整以及裁剪和保存等操作。这些功能在Web应用、图像处理软件或者数据分析项目中都有广泛的应用。下面我们将深入探讨如何使用Java实现这些...
图片上传到服务器后,会根据情况将图片缩小成一个图标,我们可以利用java强大的图形处理功能,对上传的图片进行缩放处理。本文的程序使用jdk1.4中最新的ImageIO对图片进行读写,使用AffineTransform对图片进行缩放。
本项目提供了一个完整的Java实现,名为"ZoomImageDemo",它包含了处理图片上传、预览和裁剪的核心功能。下面我们将详细探讨这些知识点。 1. 图片上传: 在Java Web应用中,图片上传通常涉及到HTTP请求中的多部分...
以上就是关于"java上传图片配置"的主要知识点,涵盖了从后端接收图片、处理图片到存储图片的全过程,以及涉及到的JavaMagick和ImageMagick工具的使用。在实际开发中,根据项目需求和团队技术栈,可以选择不同的实现...
综上所述,这个“图片缩放剪切处理代码”涉及的技术栈包括前端的JavaScript,以及后端的ASP和PHP,它们共同协作以提供用户友好的图片处理功能,如拖放上传、实时预览、缩放和剪切。对于开发者来说,理解和掌握这些...
这个"java+jq+jcrop缩放裁剪上传图片"的主题涵盖了三个关键部分:Java后端处理、jQuery(jq)前端交互以及Jcrop图像裁剪库的使用。下面将详细解释这三个方面的知识点。 首先,让我们来看看前端部分。jQuery(jq)是...
设计一个清晰的RESTful API来处理图片上传请求,包括POST请求用于上传图片,GET请求用于获取已上传图片的URL。 10. **文件持久化**: 除了直接存储在文件系统,还可以使用数据库如MySQL或NoSQL(如MongoDB)来...
【标题】"jsp+CropZoom+jquery+java 图片缩放裁剪" 是一个基于Web的图像处理系统,主要用于实现用户在上传头像时进行自由裁剪的功能。这个项目使用了JSP(JavaServer Pages)作为后端动态网页技术,CropZoom作为前端...
本文将详细讨论“上传图片 - 等比缩放”的技术实现,包括如何生成两个不同尺寸的缩略图,一个为100X100像素,另一个为300X300像素。 首先,我们需要理解什么是等比缩放。等比缩放是指在调整图像大小时保持其原始...
### JAVA实现图片缩放的方法与原理 在当前的互联网应用中,图片处理是十分常见的需求之一,尤其是在涉及用户上传图片的场景下。为了让上传的图片能够适应不同的展示环境,如网页、移动应用等,通常需要对图片进行...
综上所述,JSP上传图片并缩放裁切的程序涉及到前端表单提交、后端文件处理、图像操作和返回结果等多个环节。理解并熟练掌握这些技术,可以提升Web应用的用户体验和功能完整性。在实际项目中,还可以结合CSS和...
这个“上传图片实例JAVA”的主题主要涵盖了如何在Java环境中实现图片的上传、处理和存储。下面将详细介绍这个过程,并提供相关的知识点。 首先,我们需要一个表单(HTML)来让用户选择并提交图片文件。表单应包含一...
在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...
10. **性能优化**:如果处理大量用户上传的头像,需要考虑性能优化,例如使用多线程处理,或者将图片处理任务异步化。 以上就是Java版头像上传、缩放和裁剪功能涉及的主要知识点。具体的实现细节会根据选用的库和...