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

溫馨提示×

溫馨提示×

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

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

如何使用java制作比心圖案

發布時間:2023-04-20 09:48:23 來源:億速云 閱讀:111 作者:iii 欄目:編程語言

這篇文章主要介紹“如何使用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制作比心圖案

到此,關于“如何使用java制作比心圖案”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

绥中县| 瑞金市| 洛川县| 姚安县| 浦东新区| 汾西县| 临洮县| 怀化市| 新密市| 大兴区| 通化市| 正安县| 江北区| 尉犁县| 龙游县| 乌鲁木齐县| 郑州市| 灵川县| 黄骅市| 保山市| 玛沁县| 乌审旗| 台山市| 富平县| 浦北县| 菏泽市| 德清县| 江源县| 台江县| 垦利县| 淮南市| 包头市| 商丘市| 宝清县| 车险| 迁安市| 新丰县| 灵宝市| 丰台区| 深圳市| 普兰县|