java - 图像像素数据读取和打印

标签 java csv pixel filewriter printwriter

嘘。我有一个很棒的代码,它将图像所有像素的数据输出到 csv/txt 文件中。现在它没有显示文件中的任何内容。该文件完全空白。我缺少什么?伙计们?

import java.awt.Component;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.util.Scanner;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;

public class JavaWalkBufferedImageTest1 extends Component {

  public static void main(String[] foo) {
  File outFile = new File ("finall.txt");
    try{
  FileWriter fWriter = new FileWriter (outFile, true);
    PrintWriter pWriter = new PrintWriter (fWriter);
    new JavaWalkBufferedImageTest1(pWriter);
   pWriter.close();
} catch(Exception e){       }
  }

  public void printPixelARGB(int pixel, PrintWriter pW4) {
    int red = (pixel >> 16) & 0xff;
    int green = (pixel >> 8) & 0xff;
    int blue = (pixel) & 0xff;
    pW4.print(red + ", " + green + ", " + blue);
  }

  private void marchThroughImage(BufferedImage image, PrintWriter pW3) {
    int w = image.getWidth();
    int h = image.getHeight();

    for (int i = h; i < h; i++) {
      for (int j = w; j < w; j++) {
    pW3.print( j + ", " + i + ", ");               //X,Y
    int pixel = image.getRGB(j, i);
    printPixelARGB(pixel, pW3); //red,green,blue
    pW3.println("");      
      }
    }
  }

  public JavaWalkBufferedImageTest1(PrintWriter pW2) {
    try {
      BufferedImage image = ImageIO.read(this.getClass().getResource("color.jpg"));
      marchThroughImage(image, pW2);
    } catch (IOException e) {
      System.err.println(e.getMessage());
    }
  }
}

最佳答案

仔细看看 MarchThroughImage() 中的 for 循环:) 你从 i 等于 h 开始,并要求它在 i >= h 时停止。所以实际上没有发生迭代。 j 也是如此。

从 0 开始,您应该会得到一些输出。

关于java - 图像像素数据读取和打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826159/

相关文章:

java - 重新启用 Eclipse 插件进度监视器中禁用的取消按钮?

java - NoSuchMethodError TabLayout.OnTabSelectedListener

oracle - 从 Oracle 数据库表生成 .csv 文件的最快方法是什么?

c# - C#中的Bitmap类内部是否逐列存储像素

iphone - 如何从 CGImageRef 对象获取像素的 RGB 值?

java - Java 中的动态变量声明

java - 如何解决Selenium WebDriver的sendKeys方法抛出的ElementNotInteractableException?

sql-server - SSIS查找 "cannot map the input column, because data types do not match"

python - 从多个 csv 文件创建二维矩阵

c - 读取Pixel值,然后比较并设置为对应的值