欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java使用字符畫一個海綿寶寶

 更新時間:2022年01月12日 14:24:27   作者:泰然TJ  
這篇文章主要為大家詳細(xì)介紹了java使用字符畫一個海綿寶寶,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java使用字符畫一個海綿寶寶的具體代碼,供大家參考,具體內(nèi)容如下

用字符畫一個海綿寶寶

用" “和”*"兩個字符畫出一個海綿寶寶,效果如下:

emm……效果可能不是很好,原圖是這樣的:

下面展示我的代碼

代碼

提示:代碼僅供參考,大部分來自于網(wǎng)絡(luò)

package package1;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageDraw {
?? ?public static void main(String[] args) throws IOException {
?? ??? ?//需要使用哪種灰度化方式,就去掉那一行的注釋"http://"。
?? ??? ?//grayImage(1,"E:\\image.jpg");//最大值法灰度化?
?? ??? ?//grayImage(2,"E:\\image.jpg");//最小值法灰度化?
?? ??? ?//grayImage(3,"E:\\image.jpg");//平均值法灰度化
?? ??? ?//grayImage(4,"E:\\image.jpg");//加權(quán)法灰度化?
?? ? ?}
?? ?public static void grayImage(int status, String imagePath) throws IOException {
?? ??? ?File file = new File(imagePath);
?? ??? ?BufferedImage image = ImageIO.read(file);
?? ??? ?int width = image.getWidth();
?? ??? ?int height = image.getHeight();
?? ??? ?BufferedImage grayImage = new BufferedImage(width, height, image.getType());
?? ??? ?for (int i = 0; i < height; i++) {
?? ??? ??? ?for (int j = 0; j < width; j++) {
?? ??? ??? ??? ?int color = image.getRGB(j, i);
?? ??? ??? ??? ?final int r = (color >> 16) & 0xff;
?? ??? ??? ??? ?final int g = (color >> 8) & 0xff;
?? ??? ??? ??? ?final int b = color & 0xff;
?? ??? ??? ??? ?int gray = 0;
?? ??? ??? ??? ?if (status == 1) {
?? ??? ??? ??? ??? ?gray = getBigger(r, g, b);// 最大值法灰度化
?? ??? ??? ??? ?} else if (status == 2) {
?? ??? ??? ??? ??? ?gray = getSmall(r, g, b);// 最小值法灰度化
?? ??? ??? ??? ?} else if (status == 3) {
?? ??? ??? ??? ??? ?gray = getAvg(r, g, b);// 均值法灰度化
?? ??? ??? ??? ?} else if (status == 4) {
?? ??? ??? ??? ??? ?gray = (int) (0.3 * r + 0.59 * g + 0.11 * b);// 加權(quán)法灰度化
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(gray<=128) {
?? ??? ??? ??? ??? ?gray=0;
?? ??? ??? ??? ??? ?System.out.print("*");
?? ??? ??? ??? ?}else {
?? ??? ??? ??? ??? ?gray=255;
?? ??? ??? ??? ??? ?System.out.print(" ");
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?System.out.println();
?? ??? ?}
?? ?}
?? ?// 比較三個數(shù)的大小
?? ?public static int getBigger(int x, int y, int z) {
?? ??? ?if (x >= y && x >= z) {
?? ??? ??? ?return x;
?? ??? ?} else if (y >= x && y >= z) {
?? ??? ??? ?return y;
?? ??? ?} else if (z >= x && z >= y) {
?? ??? ??? ?return z;
?? ??? ?} else {
?? ??? ??? ?return 0;
?? ??? ?}
?? ?}
?? ?// 比較三個數(shù)的大小取最小數(shù)
?? ?public static int getSmall(int x, int y, int z) {
?? ??? ?if (x <= y && x <= z) {
?? ??? ??? ?return x;
?? ??? ?} else if (y >= x && y >= z) {
?? ??? ??? ?return y;
?? ??? ?} else if (z >= x && z >= y) {
?? ??? ??? ?return z;
?? ??? ?} else {
?? ??? ??? ?return 0;
?? ??? ?}
?? ?}
?? ?// 均值法
?? ?public static int getAvg(int x, int y, int z) {
?? ??? ?int avg = (x + y + z) / 3;
?? ??? ?return avg;
?? ?}
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 劍指Offer之Java算法習(xí)題精講字符串操作與數(shù)組及二叉搜索樹

    劍指Offer之Java算法習(xí)題精講字符串操作與數(shù)組及二叉搜索樹

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Spring的連接數(shù)據(jù)庫以及JDBC模板(實例講解)

    Spring的連接數(shù)據(jù)庫以及JDBC模板(實例講解)

    下面小編就為大家?guī)硪黄猄pring的連接數(shù)據(jù)庫以及JDBC模板(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • JAVA通過XPath解析XML性能比較詳解

    JAVA通過XPath解析XML性能比較詳解

    本篇文章主要介紹了JAVA通過XPath解析XML性能比較詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Spring mvc攔截器實現(xiàn)原理解析

    Spring mvc攔截器實現(xiàn)原理解析

    這篇文章主要介紹了Spring mvc攔截器實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java基礎(chǔ)之代碼死循環(huán)詳解

    Java基礎(chǔ)之代碼死循環(huán)詳解

    這篇文章主要介紹了Java基礎(chǔ)之代碼死循環(huán)詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java中的ReentrantLock實現(xiàn)原理及代碼演示

    Java中的ReentrantLock實現(xiàn)原理及代碼演示

    這篇文章主要介紹了Java中的ReentrantLock實現(xiàn)原理及代碼演示,非公平鎖 如果已經(jīng)進(jìn)入隊列,鏈表里面的線程是先進(jìn)先出,如果已經(jīng)釋放了鎖,在搶占鎖時,鏈表里面的頭結(jié)點和還沒有入隊列的線程搶鎖,需要的朋友可以參考下
    2024-01-01
  • Java根據(jù)正整數(shù)的位數(shù)并逆序打印出各位數(shù)字

    Java根據(jù)正整數(shù)的位數(shù)并逆序打印出各位數(shù)字

    給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字,需要的朋友可以參考下
    2017-02-02
  • Java Swing組件文件選擇器JFileChooser簡單用法示例

    Java Swing組件文件選擇器JFileChooser簡單用法示例

    這篇文章主要介紹了Java Swing組件文件選擇器JFileChooser簡單用法,結(jié)合實例形式分析了Swing組件中的文件選擇器JFileChooser的簡單使用方法,需要的朋友可以參考下
    2017-11-11
  • java開發(fā)工作中對InheritableThreadLocal使用思考

    java開發(fā)工作中對InheritableThreadLocal使用思考

    這篇文章主要為大家介紹了java開發(fā)工作中對InheritableThreadLocal使用思考詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • SpringMVC文件上傳的配置實例詳解

    SpringMVC文件上傳的配置實例詳解

    本文通過實例代碼給大家介紹SpringMVC文件上傳的配置相關(guān)內(nèi)容,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05

最新評論