利用Java制作字符动画实例代码

  BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));

  int width = bi.getWidth();//原图宽度

  int height = bi.getHeight();//原图高度

  int minx = bi.getMinX();//BufferedImage 原图 最小X坐标

  int miny = bi.getMinY(); //BufferedImage 原图 最小Y坐标

  for (int i = miny; i < height; i += 8) {//遍历图片中的像素点,用字符判断像素范围来替换

  for (int j = minx; j < width; j += 8) {

  int pixel = bi.getRGB(j, i); // 下面三行代码将一个数字转换为RGB数字

  int red = (pixel & 0xff0000) >> 16;

  int green = (pixel & 0xff00) >> 8;

  int blue = (pixel & 0xff);

  double gray = 0.299 * red + 0.578 * green + 0.114 * blue; //图片变灰计算公式

  char c = toChar((int) gray); //根据计算出来的gray值返回不同字符

  bufferedWriter.write(c);

  }

  bufferedWriter.newLine();

  }

  //输出图片