怎么使用java制作比心图案
这篇文章主要讲解了“怎么使用java制作比心图案”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用java制作比心图案”吧!
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("");//白色的地方打空格,相当于白色背景,这样图片轮廓比较明显elseSystem.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、通过运行上面的代码+这个简单的图案,可以生成一个灰白色的比心图案,如下所示
感谢各位的阅读,以上就是“怎么使用java制作比心图案”的内容了,经过本文的学习后,相信大家对怎么使用java制作比心图案这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!