java图片操作--生成与原图对称的图片
package com.pay.common.util; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import javax.imageio.ImageIO; import org.apache.commons.io.IOUtils; public class ImageChange { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub String path="F:\123.jpg"; String desc ="f:\1234.jpg"; FileInputStream in =new FileInputStream(new File(path)); //读取图片 BufferedImage bufImage = ImageIO.read(in); int height=bufImage.getHeight(); int width=bufImage.getWidth(); System.out.println(height); System.out.println(width); // 读取出图片的所有像素 int[] rgbs = bufImage.getRGB(0, 0, width, height, null, 0, width); // 对图片的像素矩阵进行水平镜像 for (int row = 0; row < height; row++) { for (int col = 0; col < width / 2; col++) { int temp = rgbs[row * width + col]; rgbs[row * width + col] = rgbs[row * width + (width - 1 - col)]; rgbs[row * width + (width - 1 - col)] = temp; } } // 把水平镜像后的像素矩阵设置回 bufImage bufImage.setRGB(0, 0, width, height, rgbs, 0, width); // 把修改过的 bufImage 保存到本地 ImageIO.write(bufImage, "JPEG", new File(desc)); } }