本教程操作环境:windows7系统、java10版,DELL G3电脑。
1、改变Spring启动时候的图标
这一步太简单了,就是在Spring项目下的resources文件夹下加一个banner.txt即可。
这个时候你可以创建完了文件之后,随便加一些符号尝试一下即可。
2、自定义图案
可以找到一个心仪的图片,然后通过下方程序自动生成符号图案。
importjavax.imageio.ImageIO; importjavax.swing.*; importjava.awt.*; importjava.awt.image.BufferedImage; importjava.io.File; importjava.io.IOException; publicclassAscPic{ publicstaticvoidmain(String[]args)throwsIOException{ Stringpath="d:/heart3.jpg";//导入的图片 Stringbase="love";//将会用这个字符串里的字符填充图片 BufferedImageimage=ImageIO.read(newFile(path));//读入图片,并用图片缓冲区对象来接收 floatscale=(float)1; //获取缩放后的宽高 intwidth=(int)(image.getWidth()*scale)*3; intheight=(int)(image.getHeight()*scale); //调用缩放方法获取缩放后的图片 Imageimg=image.getScaledInstance(width,height,Image.SCALE_DEFAULT); image=toBufferedImage(img); int[][]imageArray=newint[image.getHeight()][image.getWidth()]; int[]sum=newint[image.getWidth()]; intcnt=0; //双层for循环,遍历图片 for(inty=0;y<image.getHeight();y++){//先竖向遍历,再横向遍历,即一行一行的找,后面也会一行一行的打印 for(intx=0;x<image.getWidth();x++){ intcolor=image.getRGB(x,y);//图片缓冲区自带的方法,可以得到当前点的颜色值,返回值是int类型 intr=(color>>16)&0xff; intg=(color>>8)&0xff; intb=color&0xff; floatgray=0.299f*r+0.578f*g+0.114f*b;//灰度值计算公式,固定比例,无需理解 intindex=Math.round(gray*(base.length())/255); if(index>=base.length()){ imageArray[y][x]=-1; }else{ imageArray[y][x]=cnt++; sum[x]+=index; } } } for(inti=0;i<image.getHeight();i++){ for(intj=0;j<image.getWidth();j++){ if(sum[j]==0)continue; elseif(imageArray[i][j]==-1) System.out.print("");//白色的地方打空格,相当于白色背景,这样图片轮廓比较明显 else System.out.print(base.charAt(imageArray[i][j]%base.length()));//有颜色的地方打字符 } System.out.println();//一行打完,换行 } } publicstaticBufferedImagetoBufferedImage(Imageimage){ if(imageinstanceofBufferedImage){ return(BufferedImage)image; } image=newImageIcon(image).getImage(); booleanhasAlpha=false; BufferedImagebimage=null; GraphicsEnvironmentge=GraphicsEnvironment .getLocalGraphicsEnvironment(); try{ inttransparency=Transparency.OPAQUE; if(hasAlpha){ transparency=Transparency.BITMASK; } GraphicsDevicegs=ge.getDefaultScreenDevice(); GraphicsConfigurationgc=gs.getDefaultConfiguration(); bimage=gc.createCompatibleImage(image.getWidth(null),image .getHeight(null),transparency); }catch(HeadlessExceptione){ } if(bimage==null){ inttype=BufferedImage.TYPE_INT_RGB; if(hasAlpha){ type=BufferedImage.TYPE_INT_ARGB; } bimage=newBufferedImage(image.getWidth(null),image .getHeight(null),type); } Graphicsg=bimage.createGraphics(); g.drawImage(image,0,0,null); g.dispose(); returnbimage; } }
3、通过运行上面的代码+这个简单的图案,可以生成一个灰白色的比心图案,如下所示
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容