用字符画一个海绵宝宝

用" “和”*"两个字符画出一个海绵宝宝,效果如下:

emm……效果可能不是很好,原图是这样的:

下面展示我的代码


代码

提示:代码仅供参考,大部分来自于网络

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 {//需要使用哪种灰度化方式,就去掉那一行的注释"//"。//grayImage(1,"E:\\image.jpg");//最大值法灰度化 //grayImage(2,"E:\\image.jpg");//最小值法灰度化 //grayImage(3,"E:\\image.jpg");//平均值法灰度化//grayImage(4,"E:\\image.jpg");//加权法灰度化 }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);// 加权法灰度化}if(gray<=128) {gray=0;System.out.print("*");}else {gray=255;System.out.print(" ");}}System.out.println();}}// 比较三个数的大小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;}}// 比较三个数的大小取最小数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;}
}

用字符画一个海绵宝宝相关推荐

  1. c语言用字符画一个椭圆,用vc++6.0 程式设计画一个椭圆出来,求完整原始码

    用vc++6.0 程式设计画一个椭圆出来,求完整原始码以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用vc++6.0 ...

  2. c语言用字符画一个椭圆,c语言,绘制椭圆并使其旋转.doc

    c语言,绘制椭圆并使其旋转 设计题目:绘制椭圆并使其旋转. 计算机程序训练题目及要求 目录 一.训练目的-------------------2 二.设计要求-------------------2 ...

  3. python动态图片转字符画_使用python实现一个将图片转换成字符画的功能

    使用python实现一个将图片转换成字符画的功能 发布时间:2020-11-05 16:01:25 来源:亿速云 阅读:97 使用python实现一个将图片转换成字符画的功能?针对这个问题,这篇文章详 ...

  4. char添加一个字符_给你五十行代码把图片变成字符画!程序:太多了,一半都用不完...

    今天和大家分享一个简单又好玩的Python项目–"图片转字符画".废话不多说,先上一个效果图迷惑一下众生. 没错的,图片转字符画就是将我们平常所看到的的图片根据像素RGB值和灰度值 ...

  5. Python3,为了给女神暗送秋波,我默默的写了一个图片字符画生成器,真香。

    图片字符画制作 1.引言 2.代码实战 2.1 原理 2.2 实例 3.总结 1.引言 小屌丝:鱼哥,给你看个照片. 小鱼:什么-照片-首先声明,我可是正经人. 小屌丝:你先看看. 小鱼:就这,有啥好 ...

  6. c语言printf怎么输出马里奥字符画,c++ 用字符画的形式输出超级玛丽中的一个场景...

    超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. ******** ************ ####....#. #..###.....##.... ###.......# ...

  7. 基于Python实现图画转换字符画

    微信改版,加星标不迷路! 基于Python实现图画转换字符画 作者:阿广 概述 前言 准备工作 识别原理 静态图像处理 动态图像处理 结果 阿广说 群聊交流 福利一刻 推荐阅读 前言 前几天写了基于P ...

  8. Python趣味编程小技巧,图片转炫酷字符画,一看就是高手

    hello大家好,今天我又发现了个有趣的小玩意.我是专写有趣小玩意的老师. 老规矩,先上效果图 今天做这个图片转字符画是用到了pil库.这是一个专门用来处理图片的python库.自己直接用pip安装下 ...

  9. python项目实战:最简单的图片转字符画

    2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家一个基础的,且简单的Python图片转字符画的过程,python图像转字符画需要用到matplotlib.py ...

最新文章

  1. centos7.0 没有netstat 和 ifconfig命令问题
  2. 一句话讲清楚GIL锁
  3. Exception in thread main java.io.IOException: No FileSystem for scheme: hdfs
  4. 时隔两年 重新当码农
  5. java 对象复活_Java对象复活
  6. 实现高性能稳定的socket tcp通讯经验分享
  7. php 实现一致性哈希,PHP一致性哈希实现。。
  8. iOS 检测内存泄漏Analyze的一些解决办法
  9. 代号斗罗显示服务器暂未开放,代号斗罗手游
  10. Android的Gallery3D模块介绍
  11. Building Trustworthy Semantic Webs
  12. docker网络端口映射
  13. 跨境电商:YouTube视频营销必看攻略
  14. 一战北邮计专考研经验分享
  15. 深入理解L0,L1和L2正则化
  16. Maven之(四)Maven命令
  17. 最受程序员欢迎的公司榜单发布:2015 IT人才招聘趋势分析
  18. 东南大学和华中科技大学计算机哪个好,中南大学、东南大学、华中科技大学,这三所学校到底哪个好?...
  19. 刚从电影院回来,随便写写……
  20. Linux证书生成器,ssl证书在线生成器(在线生成证书请求文件CSR)

热门文章

  1. php中定时刷新当前页面,php中怎么自动刷新页面
  2. java前置机_银企直联-前置机-企业接入-Java-socket
  3. Spark源码分析-master启动
  4. 「CTA行为召唤按钮」设计规则解析
  5. 历代OPPO Reno主要参数对比,更新于2021年1月
  6. BEV(Bird‘s Eye View)
  7. QT编程:QT下二维数组的使用
  8. 3D引擎架构设计篇-姜雪伟-专题视频课程
  9. 二、C++反作弊对抗实战 (进阶篇 —— 14.利用内存加载+重定向绕过inline iat hook)
  10. java oracle查询结果list取数,Oracle函数返回Table集合