zoukankan      html  css  js  c++  java
  • 使用Java代码将一张图片生成为字符画

     测试的图片:

     输出的结果:

    代码:

     1 package test;
     2 
     3 import java.awt.image.BufferedImage;
     4 import java.io.File;
     5 import java.io.IOException;
     6 
     7 import javax.imageio.ImageIO;
     8 
     9 /**
    10  * 将一张图片生成为字符画
    11  * 
    12  * @author 11475
    13  *
    14  */
    15 public class DemoCase {
    16     /**
    17      * @param path 图片路径
    18      */
    19     public static void createAsciiPic(final String path) {
    20         final String base = "@#&$%*o!;.";// 字符串由复杂到简单
    21         try {
    22             final BufferedImage image = ImageIO.read(new File(path));
    23             for (int y = 0; y < image.getHeight(); y += 2) {
    24                 for (int x = 0; x < image.getWidth(); x++) {
    25                     final int pixel = image.getRGB(x, y);
    26                     final int r = (pixel & 0xff0000) >> 16, g = (pixel & 0xff00) >> 8, b = pixel & 0xff;
    27                     final float gray = 0.299f * r + 0.578f * g + 0.114f * b;
    28                     final int index = Math.round(gray * (base.length() + 1) / 255);
    29                     System.out.print(index >= base.length() ? " " : String.valueOf(base.charAt(index)));
    30                 }
    31                 System.out.println();
    32             }
    33         } catch (final IOException e) {
    34             e.printStackTrace();
    35         }
    36     }
    37 
    38     /**
    39      * 在 createAsciiPic(final String path)添加图片的路径
    40      */
    41     public static void main(final String[] args) {
    42         DemoCase.createAsciiPic("C:\Users\11475\Desktop\resizeApi (2).png");
    43     }
    44 }
  • 相关阅读:
    python3中Requests将verify设置为False后,取消警告的方式
    unicode编码转换中文_python
    base64编解码_python
    数据结构学习之二叉树
    springboot全能框架学习之旅
    数据结构之树
    经典的猴子分香蕉问题
    求n个数的排列
    三元运算的应用
    将正整数分解成质因数乘积
  • 原文地址:https://www.cnblogs.com/greamrod/p/10401183.html
Copyright © 2011-2022 走看看