您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何使用java制作比心圖案”,在日常操作中,相信很多人在如何使用java制作比心圖案問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用java制作比心圖案”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、改變Spring啟動時候的圖標
這一步太簡單了,就是在Spring項目下的resources文件夾下加一個banner.txt即可。
這個時候你可以創建完了文件之后,隨便加一些符號嘗試一下即可。
2、自定義圖案
可以找到一個心儀的圖片,然后通過下方程序自動生成符號圖案。
import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class AscPic { public static void main(String[] args) throws IOException { String path = "d:/heart3.jpg";//導入的圖片 String base = "love";//將會用這個字符串里的字符填充圖片 BufferedImage image = ImageIO.read(new File(path));//讀入圖片,并用圖片緩沖區對象來接收 float scale = (float) 1; //獲取縮放后的寬高 int width = (int) (image.getWidth()*scale)*3; int height = (int) (image.getHeight()*scale); //調用縮放方法獲取縮放后的圖片 Image img = image.getScaledInstance(width , height, Image.SCALE_DEFAULT); image = toBufferedImage(img); int[][] imageArray = new int[image.getHeight()][image.getWidth()]; int[] sum = new int[image.getWidth()]; int cnt = 0; //雙層for循環,遍歷圖片 for (int y = 0; y < image.getHeight(); y++) {//先豎向遍歷,再橫向遍歷,即一行一行的找,后面也會一行一行的打印 for (int x = 0; x < image.getWidth(); x++) { int color = image.getRGB(x, y);//圖片緩沖區自帶的方法,可以得到當前點的顏色值,返回值是int類型 int r=(color>>16)&0xff; int g=(color>>8)&0xff; int b=color&0xff; float gray = 0.299f * r + 0.578f * g + 0.114f * b;//灰度值計算公式,固定比例,無需理解 int index = Math.round(gray * (base.length()) / 255); if(index>=base.length()) { imageArray[y][x] = -1; }else { imageArray[y][x] = cnt++; sum[x]+=index; } } } for(int i = 0;i<image.getHeight();i++){ for(int j = 0;j<image.getWidth();j++){ if(sum[j]==0) continue; else if(imageArray[i][j]==-1) System.out.print(" ");//白色的地方打空格,相當于白色背景,這樣圖片輪廓比較明顯 else System.out.print(base.charAt(imageArray[i][j]%base.length()));//有顏色的地方打字符 } System.out.println();//一行打完,換行 } } public static BufferedImage toBufferedImage(Image image) { if (image instanceof BufferedImage) { return (BufferedImage) image; } image = new ImageIcon(image).getImage(); boolean hasAlpha = false; BufferedImage bimage = null; GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment(); try { int transparency = Transparency.OPAQUE; if (hasAlpha) { transparency = Transparency.BITMASK; } GraphicsDevice gs = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = gs.getDefaultConfiguration(); bimage = gc.createCompatibleImage(image.getWidth(null), image .getHeight(null), transparency); } catch (HeadlessException e) { } if (bimage == null) { int type = BufferedImage.TYPE_INT_RGB; if (hasAlpha) { type = BufferedImage.TYPE_INT_ARGB; } bimage = new BufferedImage(image.getWidth(null), image .getHeight(null), type); } Graphics g = bimage.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); return bimage; } }
3、通過運行上面的代碼+這個簡單的圖案,可以生成一個灰白色的比心圖案,如下所示
到此,關于“如何使用java制作比心圖案”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。