java的图片处理代码
时间: 2024-05-29 20:12:48 浏览: 16
以下是Java中加载、处理和保存图片的示例代码:
// 导入Java图形处理所需的类库
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
// 加载图片
BufferedImage image = ImageIO.read(new File("image.jpg"));
// 缩放图片
int newWidth = 800;
int newHeight = 600;
BufferedImage scaledImage = new BufferedImage(newWidth, newHeight, image.getType());
Graphics2D g2d = scaledImage.createGraphics();
g2d.drawImage(image, 0, 0, newWidth, newHeight, null);
g2d.dispose();
// 保存图片
File output = new File("scaledImage.jpg");
ImageIO.write(scaledImage, "jpg", output);
相关问题
Java 图片请求处理代码
以下是一个简单的 Java 图片请求处理的代码示例:
```java
import java.io.*;
import java.net.*;
public class ImageRequestHandler {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com/image.jpg"); // 图片的 URL 地址
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET"); // 设置请求方法为 GET
conn.setRequestProperty("User-Agent", "Mozilla/5.0"); // 设置 User-Agent
conn.connect(); // 建立连接
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = conn.getInputStream();
OutputStream outputStream = new FileOutputStream(new File("image.jpg")); // 图片保存的路径和文件名
byte[] buffer = new byte[1024];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead); // 写入图片数据
}
outputStream.close();
inputStream.close();
System.out.println("图片下载成功!");
} else {
System.out.println("图片下载失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这里使用 HttpURLConnection 类来发送 GET 请求,获取图片数据,并将图片保存在指定的路径和文件名。要注意设置 User-Agent 头,以避免被服务器拒绝访问。
java 图片压缩代码
在Java中,你可以使用Java的图像处理库ImageIO和BufferedImage类来实图片压缩。下面是一个示代码,演示了如何使用ImageIO和BufferedImage来压缩图片:
```java
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageCompression {
public static void main(String[] args) {
String inputFile = "path/to/your/input/image.jpg";
String outputFile = "path/to/your/output/compressed_image.jpg";
int targetWidth = 800; // 压缩后的目标宽度
int targetHeight = 600; // 压缩后的目标高度
float quality = 0.8f; // 压缩质量,范围从0到1,1表示最高质量
try {
// 读取输入图片
BufferedImage inputImage = ImageIO.read(new File(inputFile));
// 创建一个空白的目标图片
BufferedImage outputImage = new BufferedImage(targetWidth, targetHeight, inputImage.getType());
// 绘制目标图片
outputImage.getGraphics().drawImage(inputImage.getScaledInstance(targetWidth, targetHeight, BufferedImage.SCALE_SMOOTH), 0, 0, null);
// 写入输出文件
ImageIO.write(outputImage, "jpg", new File(outputFile));
System.out.println("图片压缩成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,你需要将`"path/to/your/input/image.jpg"`替换为实际的输入图片路径,将`"path/to/your/output/compressed_image.jpg"`替换为实际的输出压缩图片路径。`targetWidth`和`targetHeight`是压缩后的目标宽度和高度,你可以根据需要进行调整。`quality`表示压缩的质量,范围从0到1,1表示最高质量。根据实际情况,你可以选择其他图片格式,如PNG、GIF等,并相应地更改`ImageIO.write()`方法中的参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)