原图                                                            编译后

源码如下:注释超全哦

package com.sirius.utils;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;/*** className:MyFontImage* Description:图片弱化** @author:yanmh*/public class MyFontImage {/*** 取想要转换的图片** @param write* @param pathFile* @return void*///再读取想要转换的图片public static void createFongImg(String write,String pathFile){String base = write;try{//使用 ImageIO 中提供的静态方法 read(),传入一个文件,read() 方法回返回一个 BufferedImage 类型的图片缓存流。我们通过new File(path),来创建一个文件流。/***   注意 图片不能使用的ps过的图片存在异常*   javax.imageio.IIOException: Unsupported Image Type*   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1068)*   at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1039)*   at javax.imageio.ImageIO.read(ImageIO.java:1448)*   at javax.imageio.ImageIO.read(ImageIO.java:1308)*/BufferedImage image = ImageIO.read(new File(pathFile));//1.再创建一个 BufferedImage 用于放置我们输出文字的图片。参数呢就是图片的宽度,图片的高度,和图片的类型。BufferedImage newImage = new BufferedImage(image.getWidth(),image.getHeight(),image.getType());//2.创建一个2D坐标转换及绘图相关的类 Graphics2D,用来设置每个像素点的颜色、字体大小和字体样式。Graphics2D graphics2D = (Graphics2D) newImage.getGraphics();//3.设置字体风格、样式和大小graphics2D.setFont(new Font("宋体",Font.BOLD,12));int index = 0;//4.下面就是写一个for循环,循环遍历每一个像素点,将每隔12个像素点就替换为文字。for(int y = 0; y < image.getHeight(); y += 12){for (int x = 0; x < image.getWidth(); x += 12){//5.循环每一个像素点//6.获取图片当前位置像素的颜色int pxcolor = image.getRGB(x,y);//7.分离出rgb三种颜色,分别进行灰度和二值化处理int r = (pxcolor & 0xff0000) >> 16,g = (pxcolor & 0xff00) >> 8,b = pxcolor & 0xff;//8.通过graphics2d设置字体颜色graphics2D.setColor(new Color(r, g, b));//9.在当前位置上绘上一个文字graphics2D.drawString(String.valueOf(base.charAt(index % base.length())), x, y);//10.当前文字被绘上以后绘制下一个文字index++;}}//11.通过 ImageIO 方法,把图片重新绘制,并输出ImageIO.write(newImage, "jpg", new FileOutputStream(pathFile));}catch (Exception e){e.printStackTrace();}}public static void main(String args[]){MyFontImage.createFongImg("我爱你","C:\\Users\\Cordova\\Desktop\\timg.jpg");System.out.println("OK");}}

java最强图片弱化源码详细注释-----从此告别单身相关推荐

  1. ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)...

    功能概述 Excel2HtmlTable的主要功能就是把Excel的内容以表格的方式,展现在页面中. Excel的多个Sheet对应页面的多个Tab选项卡. 转换算法的难点在于,如何处理行列合并,将E ...

  2. 常用算法 之一 详解 MD5 实现(基于算法的官方原文档)及源码详细注释

    写在前面   在之前的工作中,用到了CRC16.MD5 和 SHA1 算法,主要用来校验下发的文件.网上关于这些算法的文章铺天盖地,以下内容仅仅是自己在学习时候的一个记录,一些套话来自于互联网.下面先 ...

  3. 汇编实验 用表格形式显示字符(附源码详细注释和相关注意的知识)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_40774175/article/ ...

  4. 常用算法 之三 详解 SHA1 实现(基于算法的官方原文档)及源码详细注释

    写在前面   在之前的工作中,用到了CRC16.MD5 和 SHA1 算法,主要用来校验下发的文件.网上关于这些算法的文章铺天盖地,以下内容仅仅是自己在学习时候的一个记录,一些套话来自于互联网.下面先 ...

  5. slam十四讲-ch6-非线性优化(包含手写高斯牛顿、使用g2o库、使用ceres库三种方法的源码详细注释)

    一.自写高斯-牛顿法 该程序是要进行一个非线性优化,对非线性函数的系数进行优化 y=exp(ax2+bx+c) 给定初始的系数 ae,be,ce(估计的) ar,br,cr(真实的) 源码如下: // ...

  6. 第一篇:SLAM-Gmapping 代码阅读(源码详细注释)

    源码注释地址:https://github.com/Lcp1/Lcp-gmapping.git 第二篇:粒子更新过程代码汇总(gmapping数据结构解析精华) 1.从代码Gmapping包的main ...

  7. 深度学习算法--python实现用TensorFlow构建字符级RNN语言建模(源码+详细注释)

    语言建模是一个迷人的应用,它使机器能完成与人类语言相关的任务,如生成英语句子.现在要构建的模型中,输入为文本文档(纯文本格式的威廉·莎 士比亚的悲剧<哈姆雷特>),目标是研发可以生成与输入 ...

  8. LinkedHashMap 源码详细分析(JDK1.8)

    1. 概述 LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题.除此之外,Linke ...

  9. linkedhashmap 顺序_LinkedHashMap 源码详细分析(JDK1.8)

    1. 概述 LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题.除此之外,Linke ...

最新文章

  1. innodb行锁理解
  2. python列表、集合、字典推导测试
  3. ggplot2 | 使用小提琴图+箱形图+抖动图展示数据分布情况
  4. 如何在linux下观看需vodplayer播放的电影
  5. php框架 tp laravel,TP框架和Laravel框架的区别是什么
  6. 互联网电商都是怎么用工厂模式的?
  7. 云计算安全知识CCSK V4 知多少
  8. 正态分布,锐利分布,莱斯分布 matlab拟合源码
  9. Linux服务器查看带宽,进程和线程
  10. GUI界的大战: QT VS GTK
  11. 教你文件重命名快速操作
  12. SourceTree的用法
  13. 贝壳二手房爬虫,搞搞房价
  14. 使用WordPress插件自动实现百度收录查询
  15. 东南大学计算机类专业排名,东南大学优势专业排名,2021年东南大学最好的专业排名...
  16. 电子数据证据的证据能力及证明力研究
  17. android 项目练习:自己的词典app——生词本(二)
  18. Pyecharts基本图:仪表盘
  19. Attribution
  20. 小项目实践:单片机做的半导体制冷小冰箱 原理图和程序

热门文章

  1. 最爱的三毛之《哑奴》
  2. 蓝桥杯 黑白无常 朴素算法
  3. Vijos P1986 小h的妹子树二
  4. VB.NET和PLC通讯,KepServer作为OPC通讯的服务器
  5. 个人博客建站教程最全解析
  6. dedecms建站教程
  7. 通联互联网支付网关商户接口技术规范
  8. 【MyBatis】MyBatis 核心配置综述之 ParameterHandler
  9. linux 图形界面 文件压缩/解压缩 归档管理器 简介
  10. 解析:人人都可以做***的勒索模式RaaS到底什么来头?