`
johnnyhg
  • 浏览: 348093 次
  • 来自: NA
社区版块
存档分类
最新评论

Java处理图片

    博客分类:
  • Java
阅读更多

图片上传到服务器后,会根据情况将图片缩小成一个图标,我们可以利用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,表示这是一个没有键盘 没有显示器的无头服务器,意称机房托管的服务器。

分享到:
评论

相关推荐

    java处理图片背景颜色的方法

    Java 处理图片背景颜色的方法 Java 处理图片背景颜色的方法是指利用 Java 语言来处理图片的背景颜色,例如将蓝底寸照批量转换为白底。这种方法可以批量处理大量图片,具有很高的实用价值。 title 中的“Java 处理...

    Java图像处理类库 Java Image Filters

    Java图像处理类库,如Java Image Filters,是Java平台上的一个重要工具,用于对数字图像进行各种操作和修改。这些类库通常包含了一系列的类和方法,可以实现图像的过滤、调整、裁剪、旋转、合成等多种功能,为开发者...

    JAVA处理图片 加文字水印以及灰色透明背景

    JAVA处理图片 加文字水印以及灰色透明背景,处理图片。

    java处理图片大小等比例缩放,自定义修改图片大小,截取,水印

    以上就是Java处理图片的一些核心知识点,具体应用时需要结合实际情况进行调整。在压缩包中的"java图片大小转换"文件中,很可能包含了实现这些功能的示例代码和使用说明,可以参考学习以加深理解。在实际开发中,我们...

    java处理图片代码

    总的来说,Java处理图片的能力相当强大,通过组合不同的API和算法,开发者可以实现各种复杂的图像处理需求。无论是简单的添加水印、裁剪图片,还是进行更高级的图像分析和编辑,Java都能提供相应的工具和库来支持。...

    java 处理图像的明暗度

    在Java编程语言中,处理图像的明暗度是一项常见的任务,尤其在图像处理、图形用户界面(GUI)应用或者游戏开发中。这个过程通常涉及到图像的色彩空间转换、亮度调整和对比度修改等技术。本文将深入探讨如何使用Java...

    JAVA基本数字图像处理

    在Java编程环境中,数字图像处理是一项重要的技术,广泛应用于图像分析、识别、增强等领域。"JAVA基本数字图像处理"这个项目旨在通过Java语言实现一系列基本的图像操作,以帮助开发者理解图像处理的基本原理并掌握其...

    java实现图像处理算法

    示例代码展示了如何使用Java的图像处理库来对图像进行灰度化处理。在代码中,我们使用javax.imageio.ImageIO类加载输入图像文件,并创建一个与输入图像具有相同尺寸和类型的输出图像。然后,我们遍历输入图像的每个...

    java 图像处理(模糊处理、锐化处理)

    在Java编程语言中,图像处理是一项重要的功能,可以用于创建、编辑或操作图像。本教程将探讨两个关键的图像处理技术:模糊处理和锐化处理。这些技术在图像分析、图像增强以及艺术创作中有着广泛的应用。 模糊处理是...

    java处理图片上传旋转问题,前台后台讲解特别明了。

    Java作为后端语言,处理这种情况时需要与前端协同工作,确保用户上传的图片能正确显示。本文将详细阐述如何在前后台解决图片旋转问题。 ### 前端处理 前端处理主要涉及到图片预览和上传前的旋转操作。当用户通过...

    java 图像处理资源 api

    ### Java 图像处理资源 API #### 一、Java 2D API Java 2D API 是一套用于高级二维图形和图像处理的类集合,它涵盖了线条、文本和图像在一个全面的模型之中。此 API 提供了对图像合成以及带有 Alpha 通道的图像...

    java处理图片

    这些基本操作构成了Java处理图片的基础。通过这些方法,开发者可以创建复杂的图像处理应用,如照片编辑器、图像库或社交媒体平台的图片上传功能。在实际项目中,可能还需要考虑性能优化、错误处理和格式兼容性等问题...

    java高清处理图片

    ### Java高清处理图片:利用ImageMagick提升图片质量和效率 #### 背景与需求 在实际项目开发中,图片处理是一项常见的需求,包括但不限于图片的压缩、尺寸调整以及添加水印等操作。传统的Java库虽然能够实现这些...

    java图片处理

    文件内含java 处理图片大小等比例缩放,指定颜色改变颜色。根据不同图片设置阴影图片。

    java处理图片拼接和添加水印

    在Java编程语言中,处理图片拼接和添加水印是一项常见的任务,特别是在开发涉及图像处理的应用或服务时。本文将深入探讨如何使用Java实现这两个功能,包括必要的理论知识、使用到的库以及具体代码实现。 首先,让...

    java 图片处理工具类 java 图片处理工具类

    java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 ...

    图片处理程序JAVA源代码

    在Java中处理图片涉及到多个类库和概念,例如Java的`java.awt`和`javax.imageio`包。 【描述】中的“简单例子”可能包括了基本的图片读取、显示、保存等功能,这些是学习图像处理的起点。通过这个项目,初学者可以...

    abc.rar_java 水印_watermark java_图像处理_图像识别java

    `BufferedImage`类是Java处理图像的核心,它允许读取、写入和操作图像。常见的图像操作包括调整大小、裁剪、旋转、滤镜效果、颜色转换等。`ImageIO`类则用于读取和写入各种图像格式(如JPEG、PNG、GIF)。 2. **...

    Java处理图片(压缩,放大,缩小)

    Java thumbnailator 处理图片(压缩,放大,缩小)

    数字图像处理:JAVA语言实现

    《数字图像处理:JAVA语言实现》是一门涵盖了图像处理理论与实践的教程,它通过JAVA编程语言来讲解和实现各种图像处理技术。本教程旨在帮助学习者深入理解图像处理的基本概念,掌握用JAVA进行图像处理的方法,并能...

Global site tag (gtag.js) - Google Analytics