我的.lfp图像是一个圆形网格,每个圆圈封装大约20x20像素,就像在this zoomed in version中看到的一样。我希望能够为每个圆圈选择相同的像素,并从中构建一个新图像。因此,举例来说,我会拍摄每个圆圈的中心像素,然后拍出这些照片。
我有这个基本代码将jpeg图像变成一个字节数组,但由于我不完全理解字节数组如何存储像素,也不知道它是以什么顺序存储,我不知道如何选择所需的像素。此外,一旦我选择了它们,我如何将它们连接成一个新的图像?
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class SimpleConvertImage {
public static void main(String[] args) throws IOException{
String dirName="./";
ByteArrayOutputStream baos=new ByteArrayOutputStream(1000);
BufferedImage img=ImageIO.read(new File(dirName,"plants.jpg"));
ImageIO.write(img, "jpg", baos);
baos.flush();
String base64String=Base64.encode(baos.toByteArray());
baos.close();
byte[] bytearray = Base64.decode(base64String);
for (int i = 0; i < bytearray.length/2; i++) {
byte t = bytearray[i];
bytearray[i] = bytearray[bytearray.length - 1 - i];
bytearray[bytearray.length - 1 - i] = t;
}
BufferedImage imag=ImageIO.read(new ByteArrayInputStream(bytearray));
ImageIO.write(imag, "jpg", new File(dirName,"plantJava.jpg"));
}
}
提前致谢。