java实现图像转码为字符画的方法
本文实例为大家分享了java实现图像转码为字符画的具体代码,供大家参考,具体内容如下
publicclassImageProcesser{
privatestaticfinalchar[]charset1={'M','8','V','|',':','.',''};//默认字符素材集
privatechar[]charset;//字符画素材集
privateStringimgString="";//储存转化后的字符串
//使用指定字符集构造
publicImageProcesser(char[]charset){
this.charset=charset;
}
//使用默认字符集构造
publicImageProcesser(){
this.charset=charset1;
}
publicStringgetImgString(){
returnimgString;
}
/*将图形文件转化为字符画字符串*/
publicImageProcessertoBitmapConvert(Stringimagepath){
returntoBitmapConvert(newFile(imagepath));
}
publicImageProcessertoBitmapConvert(FileimageFile){
StringBuffersb=newStringBuffer();
if(!imageFile.exists()){//当读取的文件不存在时,结束程序
System.out.println("Fileisnotexists!");
System.exit(1);
}
Colorcolor;
try{
BufferedImagebuff=ImageIO.read(imageFile);//将图片文件装载如BufferedImage流
buff=compressImage(buff);
intbitmapH=buff.getHeight();
intbitmapW=buff.getWidth();
//逐行扫描图像的像素点,读取RGB值,取其平均值,并从charset中获取相应的字符素材,并装载到sb中
for(inty=0;yh){
new_W=100;
new_H=100*h/w;
}else{
new_H=100;
new_W=100*w/h;
}
BufferedImagesmallImg=newBufferedImage(new_W,new_H,srcImg.getType());
Graphicsg=smallImg.getGraphics();
g.drawImage(srcImg,0,0,new_W,new_H,null);
g.dispose();
returnsmallImg;
}
/*将字符串保存为.txt文件*/
publicvoidsaveAsTxt(StringfileName){
try{
PrintWriterout=newPrintWriter(newBufferedWriter(newFileWriter(fileName)));
for(inti=0;i
点击查看:参考链接。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。