import java.awt.Color;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

public class AsciiPic

{

/**

* @param path

* 图片路径

*/

public static void createAsciiPic(final String path) {

final String base = "@#&$%*o!;.";// 字符串由复杂到简单

try {

final BufferedImage image = ImageIO.read(new File(path));

for (int y = 0; y < image.getHeight(); y += 2) {

for (int x = 0; x < image.getWidth(); x++) {

final int pixel = image.getRGB(x, y);

final int r = (pixel & 0xff0000) >> 16, g = (pixel & 0xff00) >> 8, b = pixel & 0xff;

final float gray = 0.299f * r + 0.578f * g + 0.114f * b;

final int index = Math.round(gray * (base.length() + 1) / 255);

System.out.print(index >= base.length() ? " " : String.valueOf(base.charAt(index)));

}

System.out.println();

}

} catch (final IOException e) {

e.printStackTrace();

}

}

public static String _BitmapConvert(String imgpath) {

StringBuffer _sb = new StringBuffer();

File imgfile = new File(imgpath);

char[] charset = { 'L', '5', '2', '0', 'q', ':', '*', '|', '.', ' ' };// 字符串由复杂到简单

try {

BufferedImage buff = ImageIO.read(imgfile);

int bitmapH = buff.getHeight();

int bitmapW = buff.getWidth();

for (int y = 0; y < bitmapH; y++) {

for (int x = 0; x < bitmapW; x++) {

int rgb = buff.getRGB(x, y);

Color c = new Color(rgb);

int cc = (c.getRed() + c.getGreen() + c.getBlue()) / 3;

_sb.append(charset[(int) ((cc * 10 - 1) / 255)]);

}

_sb.append("rn");

}

} catch (Exception e) {

}

return _sb.toString();

}

/**

* test

*

* @param args

*/

public static void main(final String[] args) {

String src = "C:xxx.jpg";

AsciiPic.createAsciiPic(src);

//System.out.println(_BitmapConvert(src));

}

}

原图与效果图

内容来源于网络如有侵权请私信删除

java将图片传给页面,java将图片传为设定编码值显示(可做刺绣)相关推荐

  1. html保存当前页面为图片,将html页面保存成图片,图片写入pdf的实现方法(推荐)

    需求是一个导出pdf的功能,多方奔走终于实现了,走了不少弯路,而且怀疑现在这个方法仍是弯的. 有个jsPDF 插件可以在前端直接生成pdf,很简便,但不支持IE. 前端: 首先引入  html2can ...

  2. java将图片传为设定编码值显示(可做刺绣)

    import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOEx ...

  3. java解析excel的js页面,Java导入Excel文件页面实现JS

    Excel导入: 页面创建导入按钮,如: 代码: 导入交易 JS: function upload(){ layer.open({ type : 2, //层类型 title :'导入文件', //标 ...

  4. java制作网易邮箱登录页面,java调用网易邮箱需要注意的点

    1.需要开启客户端授权码 授权码开启 https://blog.csdn.net/jinwufeiyang/article/details/76400708?locationNum=7&fps ...

  5. un7.7:如何在IDEA中实现图片上传功能并将图片展示出来?

    在IDEA中如何实现图片的上传呢?接下来和我一起实现吧! 所需软件: 后端:IDEA 前端:HbuilderX 测试:火狐浏览器 一.在实体类中创建一个fileInfo类,定义一些属性,代码如下: p ...

  6. 图片采集-输入关键词批量收集图片免费

    图片采集,有一个免费的图片采集软件就可以寻找网页上的各种图片,每个人都可以找到各种高清图源.支持任意格式的图片采集下载,只需要输入关键词或批量导入链接即可采集下载图片.不仅可以拥有大量的图片源还支持批 ...

  7. java 移动页面中的图片上传_移动端上传图片(ajax跨域请求)

    第一次写项目开发经验,望担待. 除了前端以外的事就不叨叨了,下面开始弄干活(两个页面首页.列表页). 项目 开发简述 项目需求:上传图片并展示. 项目地址:项目的链接地址 开发工具:sublime 后 ...

  8. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  9. java web文件上传详解_java web图片上传和文件上传实例详解

    java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...

最新文章

  1. android 瀑布流的实现(用recyclerview的实现的)
  2. Linux的命令行界面简介
  3. [NOIP2017]逛公园 最短路+拓扑排序+dp
  4. 中国电磁线行业发展前景预测与竞争态势分析报告2022-2028年版
  5. mysql+索引优化+查询优化+存储优化_mysql利用覆盖索引避免回表优化查询
  6. 【Linux】一步一步学Linux——ypdomainname命令(173)
  7. springboot 定时器
  8. java---键盘输入,写入到本地硬盘的数据
  9. YII2 使用curl请求,返回false
  10. Python入门经典(2K超清)
  11. 内网远程桌面控制软件Radmin
  12. Vue el-menu-item路由跳转
  13. 转载来自朱小厮博客的 一文看懂Kafka消息格式的演变
  14. 猿创征文|Python基础——Visual Studio版本——第五章 文件I/O
  15. python-turtle(海龟绘图)圣诞树
  16. 使用虚拟机备份软件恢复OpenStack虚拟机
  17. Codeforces Round #797 (Div. 3) F. Shifting String题解
  18. 5.2 中心极限定理
  19. 【流程挖掘的四个质量维度】简单度、拟合度、精确度和泛化度介绍
  20. 一个与众不同的苹果--苹果产品制胜之道

热门文章

  1. 【Python3网络爬虫开发实战】1.2.4-GeckoDriver的安装
  2. 开启ntp_飒,NTP时钟服务器在银行大楼系统方案
  3. html 修改按回退键的url,location.hash保存页面状态的技巧
  4. Spring AOP看这个就够了
  5. Kotlin学习笔记21 协程part1 基本概念
  6. 使用macOS自带convert,sips命令快速处理图片及转换图片格式
  7. Fourier变换、Laplace变换与广义函数总结
  8. html为什么div移动不了,如何使用Jquery将html从一个div移动到另一个div而不会破坏javascript...
  9. ping和telnet的区别
  10. centos mysql 升级 5.7_CentOS 7下升级MySQL5.7.23的一个坑