转载备忘
package cn.com.weijiazhi.utils;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public final class ImageUtils {
public ImageUtils() {
}
/**
* 把图片印刷到图片上
*
* @param pressImg
* -- 水印文件
* @param targetImg
* -- 目标文件
* @param x
* @param y
*/
public final static void pressImage(String pressImg, String targetImg,
int x, int y) {
try {
File _file = new File(targetImg);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
// 水印文件
File _filebiao = new File(pressImg);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
g.drawImage(src_biao, wideth - wideth_biao - x, height - height_biao - y, wideth_biao, height_biao, null);
g.dispose();
FileOutputStream out = new FileOutputStream(targetImg);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 打印文字水印图片
*
* @param pressText
* --文字
* @param targetImg
* -- 目标图片
* @param fontName
* -- 字体名
* @param fontStyle
* -- 字体样式
* @param color
* -- 字体颜色
* @param fontSize
* -- 字体大小
* @param x
* -- 偏移量
* @param y
*/
public static void pressText(
String pressText,
String targetImg,
String outImg,
String fontName,
int fontStyle,
Color color,
int fontSize,
int x,
int y,
float qualNum,
boolean antialiasOn) {
try {
File _file = new File(targetImg);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
g.setColor(color);
g.setFont(new Font(fontName, fontStyle, fontSize));
if(antialiasOn) {
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
}
g.drawString(pressText, wideth - fontSize - x, height - fontSize/ 2 - y);
g.dispose();
FileOutputStream out = new FileOutputStream(outImg);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
param.setQuality(qualNum, true);
encoder.encode(image, param);
out.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
分享到:
相关推荐
Java 处理图片背景颜色的方法 Java 处理图片背景颜色的方法是指利用 Java 语言来处理图片的背景颜色,例如将蓝底寸照批量转换为白底。这种方法可以批量处理大量图片,具有很高的实用价值。 title 中的“Java 处理...
Java图像处理类库,如Java Image Filters,是Java平台上的一个重要工具,用于对数字图像进行各种操作和修改。这些类库通常包含了一系列的类和方法,可以实现图像的过滤、调整、裁剪、旋转、合成等多种功能,为开发者...
JAVA处理图片 加文字水印以及灰色透明背景,处理图片。
以上就是Java处理图片的一些核心知识点,具体应用时需要结合实际情况进行调整。在压缩包中的"java图片大小转换"文件中,很可能包含了实现这些功能的示例代码和使用说明,可以参考学习以加深理解。在实际开发中,我们...
总的来说,Java处理图片的能力相当强大,通过组合不同的API和算法,开发者可以实现各种复杂的图像处理需求。无论是简单的添加水印、裁剪图片,还是进行更高级的图像分析和编辑,Java都能提供相应的工具和库来支持。...
在Java编程语言中,处理图像的明暗度是一项常见的任务,尤其在图像处理、图形用户界面(GUI)应用或者游戏开发中。这个过程通常涉及到图像的色彩空间转换、亮度调整和对比度修改等技术。本文将深入探讨如何使用Java...
在Java编程环境中,数字图像处理是一项重要的技术,广泛应用于图像分析、识别、增强等领域。"JAVA基本数字图像处理"这个项目旨在通过Java语言实现一系列基本的图像操作,以帮助开发者理解图像处理的基本原理并掌握其...
示例代码展示了如何使用Java的图像处理库来对图像进行灰度化处理。在代码中,我们使用javax.imageio.ImageIO类加载输入图像文件,并创建一个与输入图像具有相同尺寸和类型的输出图像。然后,我们遍历输入图像的每个...
在Java编程语言中,图像处理是一项重要的功能,可以用于创建、编辑或操作图像。本教程将探讨两个关键的图像处理技术:模糊处理和锐化处理。这些技术在图像分析、图像增强以及艺术创作中有着广泛的应用。 模糊处理是...
Java作为后端语言,处理这种情况时需要与前端协同工作,确保用户上传的图片能正确显示。本文将详细阐述如何在前后台解决图片旋转问题。 ### 前端处理 前端处理主要涉及到图片预览和上传前的旋转操作。当用户通过...
### Java 图像处理资源 API #### 一、Java 2D API Java 2D API 是一套用于高级二维图形和图像处理的类集合,它涵盖了线条、文本和图像在一个全面的模型之中。此 API 提供了对图像合成以及带有 Alpha 通道的图像...
这些基本操作构成了Java处理图片的基础。通过这些方法,开发者可以创建复杂的图像处理应用,如照片编辑器、图像库或社交媒体平台的图片上传功能。在实际项目中,可能还需要考虑性能优化、错误处理和格式兼容性等问题...
### Java高清处理图片:利用ImageMagick提升图片质量和效率 #### 背景与需求 在实际项目开发中,图片处理是一项常见的需求,包括但不限于图片的压缩、尺寸调整以及添加水印等操作。传统的Java库虽然能够实现这些...
文件内含java 处理图片大小等比例缩放,指定颜色改变颜色。根据不同图片设置阴影图片。
在Java编程语言中,处理图片拼接和添加水印是一项常见的任务,特别是在开发涉及图像处理的应用或服务时。本文将深入探讨如何使用Java实现这两个功能,包括必要的理论知识、使用到的库以及具体代码实现。 首先,让...
java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 ...
在Java中处理图片涉及到多个类库和概念,例如Java的`java.awt`和`javax.imageio`包。 【描述】中的“简单例子”可能包括了基本的图片读取、显示、保存等功能,这些是学习图像处理的起点。通过这个项目,初学者可以...
`BufferedImage`类是Java处理图像的核心,它允许读取、写入和操作图像。常见的图像操作包括调整大小、裁剪、旋转、滤镜效果、颜色转换等。`ImageIO`类则用于读取和写入各种图像格式(如JPEG、PNG、GIF)。 2. **...
Java thumbnailator 处理图片(压缩,放大,缩小)
《数字图像处理:JAVA语言实现》是一门涵盖了图像处理理论与实践的教程,它通过JAVA编程语言来讲解和实现各种图像处理技术。本教程旨在帮助学习者深入理解图像处理的基本概念,掌握用JAVA进行图像处理的方法,并能...