本文实例为大家分享了java实现图像转码为字符画的具体代码,供大家参考,具体内容如下
public class ImageProcesser {
private static final char[] charset1 = {'M','8','V','|',':','.',' '}; //默认字符素材集
private char[] charset; //字符画素材集
private String imgString = ""; //储存转化后的字符串
//使用指定字符集构造
public ImageProcesser(char[] charset){
this.charset = charset;
}
//使用默认字符集构造
public ImageProcesser(){
this.charset = charset1;
}
public String getImgString(){
return imgString;
}
public ImageProcesser toBitmapConvert(String imagepath){
return toBitmapConvert(new File(imagepath));
}
public ImageProcesser toBitmapConvert(File imageFile){
StringBuffer sb = new StringBuffer();
if(!imageFile.exists()){ //当读取的文件不存在时,结束程序
System.out.println("File is not exists!");
System.exit(1);
}
Color color;
try{
BufferedImage buff = ImageIO.read(imageFile); //将图片文件装载如BufferedImage流
buff = compressImage(buff);
int bitmapH = buff.getHeight();
int bitmapW = buff.getWidth();
//逐行扫描图像的像素点,读取RGB值,取其平均值,并从charset中获取相应的字符素材,并装载到sb中
for(int y=0; yh){
new_W = 100;
new_H = 100*h/w ;
}else{
new_H = 100;
new_W = 100*w/h;
}
BufferedImage smallImg = new BufferedImage(new_W,new_H,srcImg.getType());
Graphics g = smallImg.getGraphics();
g.drawImage(srcImg,0,0,new_W,new_H,null);
g.dispose();
return smallImg;
}
public void saveAsTxt(String fileName){
try{
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
for(int i = 0;i
点击查看:参考链接。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



