Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีสร้างภาพกระจก (Mirror Image) ด้วย Java

การสร้างภาพกระจกทำได้โดยการคัดลอกพิกเซลจากขวาไปซ้าย

ขั้นตอน

  1. อ่านภาพด้วย ImageIO.read()
  2. ดึงขนาดภาพ (width, height)
  3. สร้าง BufferedImage ว่างสำหรับผลลัพธ์
  4. วนลูปทุกพิกเซล แถว y เดียวกัน คอลัมน์ x จากขวาไปซ้าย
  5. ดึงค่าพิกเซลด้วย getRGB() ตั้งค่าด้วย setRGB() ที่ตำแหน่งกระจก

ตัวอย่างโค้ด

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 {
        File file = new File("D:\\Images\\tree.jpg");
        BufferedImage img = ImageIO.read(file);
        
        int h = img.getHeight(), w = img.getWidth();
        BufferedImage res = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
        
        for (int y = 0; y < h; y++) {
            for (int x = 0, mirrorX = w - 1; x < w; x++, mirrorX--) {
                int pixel = img.getRGB(x, y);
                res.setRGB(mirrorX, y, pixel);
            }
        }
        
        ImageIO.write(res, "jpg", new File("D:\\Images\\mirror_image.jpg"));
        System.out.println("Done...");
    }
}

ภาพอินพุตและเอาต์พุต

ภาพจะกลายเป็นภาพกระจก แสดงด้านซ้ายเป็นด้านขวา และในทางกลับกัน