通过图片的IO流穿入, 即可输出一张同样高和宽, 大小小很多的图片!!
/**
* 穿入Inputstream图片IO流即可
*
* @param stream
*/
public void SavePngImage(InputStream stream) {
int w = 0;
int h = 0;
BufferedImage bufImg = null;
try {
BufferedImage image = ImageIO.read(stream);
w = image.getWidth();
h = image.getHeight();
bufImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
//bufImg = ImageUtil.createCompatibleImage(w, h, Transparency.OPAQUE);
Graphics2D g2d = bufImg.createGraphics();
//File file = new File("e:\\2.gif");
//javax.imageio.ImageIO.read(file);
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
} catch (IOException e) {
e.printStackTrace();
}
//输出的图片路径
saveImage(bufImg, "c:/test.jpg");
}
// 保存图片
public void saveImage(BufferedImage img, String path) {
try {
String extension = path.substring(path.lastIndexOf('.') + 1);
extension = isFormatSupported(extension) ? extension : "png";
ImageIO.write(img, extension, new File(path));
} catch (Exception e) {
e.printStackTrace();
}
}
// 判断ImageIO是否支持指定的图片格式
public static boolean isFormatSupported(String format) {
for (String f : ImageIO.getWriterFormatNames()) {
if (f.equalsIgnoreCase(format)) { return true; }
}
return false;
}
public static void main(String[] args){
File file = new File("c:/input.jpg");
xxx.SavePngImage(file.getInputStream());
}
分享到:
相关推荐
"缩小图片大小,并无刷新上传"的场景通常涉及到前端与后端的交互,以及图像处理技术。这里我们将深入探讨如何实现这一功能,主要关注Java后端处理文件上传以及使用DWR(Direct Web Remoting)进行异步通信。 首先,...
### JAVA缩小图片尺寸 在Java开发中,对图像进行处理是一项常见的需求,特别是在涉及大量图像数据的应用场景下。本文将详细介绍如何使用Java内置库`javax.imageio`与`java.awt`中的类来实现图片尺寸的缩放功能。...
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
在这个例子中,创建一个与原始图片相同大小的新`BufferedImage`对象,类型为`TYPE_INT_RGB`,即24位真彩色。 6. **绘制缩放后的图像**:`tag.getGraphics().drawImage()`将缩放后的图像绘制到新创建的`...
实现图片的中心放大和缩小,我们可以维护一个缩放因子,并在每次调整大小时计算新的图片尺寸,保持图片的中心点不变。这可以通过改变`ImageIcon`的尺寸来实现。同时,需要更新显示组件(如`JLabel`)的尺寸以适应...
### Java 图片放大与缩小:实现与技术细节 在Java编程中,处理图像的缩放是一种常见的需求,尤其是在Web开发、图像处理应用或是任何需要动态调整图像大小的场景下。本文将深入探讨如何使用Java来实现图片的指定放大...
总的来说,“图片缩小工具(java)”是一个基于Java的实用程序,它利用Java的图像处理能力,帮助用户便捷地缩小图片尺寸并减小文件大小。对于开发者来说,理解并掌握Java的图像处理API和技术,可以扩展到更广泛的图像...
- 缩放后的图像被绘制到`BufferedImage`上,然后通过`FileOutputStream`和`JPEGImageEncoder`写入到指定的目标文件,完成图片的放大或缩小并保存为JPEG格式。 5. **异常处理**: - 在文件读写过程中,可能会出现`...
2. **放大缩小功能**:放大和缩小图片需要使用`AffineTransform`的`scale()`方法。在用户选择放大或缩小操作时(例如通过鼠标滚轮或特定按钮),我们需要获取当前缩放因子,并根据用户的选择更新这个因子,然后应用...
最后,按比例缩小图片是缩放的一种特例,可以通过计算缩放因子实现。假设我们希望将图片缩小到原来的50%,可以这样做: ```java double scale = 0.5; // 缩放因子 int newWidth = (int) (source.getWidth() * scale...
图片压缩的主要目的是减少文件大小,便于存储和快速传输。Java提供了多种库来处理图片压缩,如Apache Commons Imaging(旧称Sanselan)和ImageMagick的Java绑定。其中,Java Advanced Imaging (JAI) 是Java标准扩展...
在Java编程语言中,处理图像是...通过理解`BufferedImage`、`Graphics2D`和图像插值算法,开发者可以有效地调整图像的大小。在实际应用中,根据需求选择合适的算法和优化策略是关键,以确保图像质量和处理效率的平衡。
2. **使用inSampleSize属性进行下采样**:在`BitmapFactory.Options`中设置`inSampleSize`属性为大于1的整数,表示对原图进行下采样处理,即按照指定的比例缩小图片尺寸,从而减少内存占用。 3. **释放不再使用的...
6. 图像质量:缩小图片可能会导致图像质量下降,特别是在低分辨率输出时。使用高质量的插值算法(如bicubic或lanczos)可以提高缩放后的图像质量,但会增加计算量。 通过理解以上知识点,您可以编写出将图片同比例...
本文将深入探讨使用JSP(JavaServer Pages)进行图片旋转的技术细节,以及如何实现图片的放大和缩小功能。 JSP是Java平台上的动态网页技术,允许开发者在HTML或XML文档中嵌入Java代码,以实现服务器端的业务逻辑和...
1. **读取图片**:使用`ImageIO.read()`方法从指定的文件路径或输入流中读取图片,将其转换为`BufferedImage`对象。 ```java File file = new File("path/to/your/image.jpg"); BufferedImage originalImage = ...
用户可以通过鼠标滚轮或专门的缩放控件来调整图片大小,同时保持图像清晰度。 多线程的应用是该系统的一大亮点。在处理大量图片或执行耗时操作(如缩略图生成、图片转换)时,使用多线程可以避免阻塞主线程,保证...
缩小是指减少图片的分辨率,使其在屏幕上显示得更小;放大则是增加分辨率,使图片显示得更大。在Java中,主要通过`java.awt.Image`类及其子类来实现这些操作。 ##### 2.2 Java中的图片处理类库 Java提供了多种类库...
`BufferedImage`提供了丰富的API,可以用来调整图像的大小。以下是一个简单的图像等比率压缩的步骤: 1. **读取图像**:使用`ImageIO.read()`方法读取指定路径的图像文件到`BufferedImage`对象。 2. **计算新尺寸**...
如果需要按比例缩小图片,可以使用`AffineTransformOp`进行缩放。 4. **写入压缩后的图片**:创建一个`ImageWriter`对象,设置输出格式和压缩质量,然后调用`write`方法将处理后的图像写入文件。 ```java File ...