亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用java制作比心圖案

發布時間:2022-06-01 15:45:29 來源:億速云 閱讀:269 作者:iii 欄目:大數據

這篇文章主要講解了“怎么使用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制作比心圖案

感謝各位的閱讀,以上就是“怎么使用java制作比心圖案”的內容了,經過本文的學習后,相信大家對怎么使用java制作比心圖案這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吐鲁番市| 东莞市| 尼玛县| 濮阳县| 通辽市| 陆川县| 信丰县| 阜新| 郴州市| 屏边| 水富县| 宁远县| 全椒县| 旺苍县| 上思县| 民县| 衢州市| 琼中| 上高县| 长白| 玛纳斯县| 奉化市| 基隆市| 手游| 清苑县| 鄂托克前旗| 海丰县| 汝城县| 黄龙县| 普格县| 仙游县| 溧水县| 张北县| 长乐市| 克什克腾旗| 炎陵县| 碌曲县| 兴业县| 潞城市| 海丰县| 南涧|