Để tạo hình ảnh gương:
- Đọc hình ảnh cần thiết bằng phương thức ImageIO.read().
- Lấy chiều cao và chiều rộng của hình ảnh.
- Tạo BufferedImage rỗng để lưu kết quả.
- Dùng vòng lặp for lồng nhau duyệt qua từng pixel trong hình ảnh.
- Duyệt chiều rộng từ phải sang trái.
- Lấy giá trị pixel bằng phương thức getRGB().
- Gán giá trị pixel vào hình ảnh kết quả bằng setRGB(), thay thế giá trị chiều rộng mới.
Ví dụ
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
public class MirrorImage {
public static void main(String args[]) throws IOException {
// Đọc hình ảnh
File file = new File("D:\\Images\\tree.jpg");
BufferedImage img = ImageIO.read(file);
// Lấy chiều cao và chiều rộng
int height = img.getHeight();
int width = img.getWidth();
// Tạo BufferedImage để lưu đầu ra
BufferedImage res = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
for (int j = 0; j < height; j++) {
for (int i = 0, w = width - 1; i < width; i++, w--) {
int p = img.getRGB(i, j);
// Gán giá trị pixel cho ảnh gương - cả trái và phải
res.setRGB(w, j, p);
}
}
// Lưu hình ảnh đã chỉnh sửa
file = new File("D:\\Images\\mirror_image.jpg");
ImageIO.write(res, "jpg", file);
System.out.println("Hoàn tất...");
}
}
Ảnh đầu vào

Ảnh đầu ra
