利用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();
}
//输出图片