无聊,写了一个小工具。
将汉字转成点阵,图片转成点阵,看下效果图:
左边的是在记事本里显示的效果,再来一张:
功能还很单一,只能一种颜色,便宜量就是你每次跳几个像素取点。
适用地点:做一些有效果的字,可以用txt的替换工具将点变成其他的。
比如:字为“某某我爱你”,转成点阵后,将字的部分替换为“O”(字母),空格的部分替换为“0”数字,然后发给心爱的人,教她做一个替换,再把字显示出来,嘿嘿。
其实,图片也可以处理,但是效果没有汉字好,色差大!
大家用的时候可以多尝试几个颜色,要是文字图片的话,取灰色就出效果了!
运行环境:JDK6
package com.liu;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Main extends JFrame {
/**
*
*/
private static final long serialVersionUID = 2764274223326342315L;
private JTextArea showArea;
private JButton btnOk;
private JFileChooser jfc;
private JLabel jLabel3;
private JTextField point;
private JLabel jLabel2;
private JLabel jLabel1;
private JComboBox offsetbox;
private JScrollPane jScrollPane1;
private JButton btnColor;
private JPanel jpcolor;
private JButton choosefile;
private JTextField filepathArea;
private String YES = "*";
private String NO = " ";
private Integer[] cell = new Integer[] { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
private JLabel jlImage = new JLabel();
private File image;
private Color color = new Color(0, 0, 0);
public Main() {
getContentPane().setLayout(null);
jfc = new JFileChooser("wenjian");
btnOk = new JButton();
getContentPane().add(btnOk);
btnOk.setText("ok");
btnOk.setBounds(869, 12, 59, 27);
jScrollPane1 = new JScrollPane();
getContentPane().add(jScrollPane1);
jScrollPane1.setBounds(458, 56, 470, 334);
showArea = new JTextArea();
jScrollPane1.setViewportView(showArea);
showArea.setBounds(458, 56, 470, 334);
filepathArea = new JTextField();
getContentPane().add(filepathArea);
filepathArea.setBounds(12, 12, 150, 27);
choosefile = new JButton();
getContentPane().add(choosefile);
choosefile.setText("\u56fe\u7247 ");
choosefile.setBounds(174, 12, 89, 27);
jpcolor = new JPanel();
getContentPane().add(jpcolor);
jpcolor.setBounds(294, 17, 25, 22);
jpcolor.setBackground(Color.BLACK);
btnColor = new JButton();
getContentPane().add(btnColor);
btnColor.setText("\u53d6\u8272");
btnColor.setBounds(331, 12, 82, 27);
ComboBoxModel offsetboxModel = new DefaultComboBoxModel(cell);
offsetbox = new JComboBox();
getContentPane().add(offsetbox);
offsetbox.setModel(offsetboxModel);
offsetbox.setBounds(470, 12, 62, 27);
jLabel1 = new JLabel();
getContentPane().add(jLabel1);
jLabel1.setText("px");
jLabel1.setBounds(537, 15, 18, 20);
jLabel2 = new JLabel();
getContentPane().add(jLabel2);
jLabel2.setText("\u504f\u79fb\u91cf");
jLabel2.setBounds(418, 15, 45, 20);
point = new JTextField();
getContentPane().add(point);
point.setBounds(675, 12, 45, 27);
point.setText(YES);
jLabel3 = new JLabel();
getContentPane().add(jLabel3);
jLabel3.setText("\u586b\u5145\u5b57\u7b26");
jLabel3.setBounds(592, 15, 80, 20);
btnColor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
color = JColorChooser.showDialog(Main.this, "Color", color);
if (color == null) {
color = Color.BLACK;
}
jpcolor.setBackground(color);
System.out.println(color.getRGB());
}
});
choosefile.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
getContentPane().remove(jlImage);
jfc.setDialogTitle("Open JPEG file");
jfc.showOpenDialog(jfc);
image = jfc.getSelectedFile();
if (image == null)
return;
String path = image.getAbsolutePath();
filepathArea.setText(path);
jlImage = new JLabel(new ImageIcon(image.getAbsolutePath()));
getContentPane().add(jlImage);
jlImage.setBounds(0, 56, 470, 334);
}
});
btnOk.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int offset = cell[offsetbox.getSelectedIndex()];
showArea.setText("");
String str = "";
BufferedImage bi = null;
try {
bi = ImageIO.read(image);
} catch (IOException e1) {
e1.printStackTrace();
}
for (int i = offset / 2; i < bi.getHeight(); i += offset) {
str = "";
for (int j = offset / 2; j < bi.getWidth(); j += offset) {
int pixel = bi.getRGB(j, i);
if (pixel > color.getRGB()) {
str += NO;
} else {
str += YES;
}
}
showArea.append(str + "\n");
System.out.println(str);
}
}
});
this.setSize(969, 453);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
showArea.setFont(new Font("黑体", Font.BOLD, 13));
}
public static void main(String[] args) {
new Main();
}
}
后面可以加上复合取色,这样图片的效果会好一点,小工具,欢迎交流
- 大小: 106.9 KB
- 大小: 54.9 KB
- 大小: 121.7 KB
- 大小: 97.8 KB
分享到:
相关推荐
非常好用的液晶取模工具 LCD12864 1602各种液晶可用 汉字和图片都可取模 图片大小可自设 并可以做动画 自带入门教程 玩转液晶的必备小软件 小工具
文字和图片转点阵的工具,不多说了,自己看吧。
为android提供的二值化jni库,和完整demo,比Java代码的效率高10s! 一个基于jni的图像处理工具 包括二值化 灰度化 膨胀 腐蚀 等等 是android上图像处理的好例子 还能提高处理速度!实现点阵图的转化
LCD 图形生成 点阵,文字,图片都可以,多种模式
2.附带字库建造工具,可以任意抓图,将图片建造成字库信息,供插件来调用; 3.字库建造工具附带穷举文字程序,可遍历操作系统中所有的字体字号,将其转换为所需要的字库; 4.支持颜色不纯,有所偏差的文字识别及字库...
图片文字取模工具是一款简单实用的图片取模软件,图片文字取模工具能够帮助用户进行简单绿色的图片取模,实现任意大小任意字体的文字取模以及任意大小任意格式的图片,软件操作简单,有需要的朋友快来下载试试吧!...
(适合小字库) b. 增加了 “扫描方向及反显”设置。 2. Multi-Language V1.01 a. 修改了除 office 2000 外,其它不能支持的问题。 V1.00: (20110627) 1. 继承 FontMaker V2.01 的所有功能。 2. 增加了一个...
2、支持使用从12x12到256x256任意点阵大小进行文字取模[例如16x48],考虑到实用因素,并未对宽高超过256x256的点阵进行支持; 3、支持图片和文字混合排版编辑,图片源目前支持BMP、JPEG、ICO、EXE、DLL格式的文件,...
即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是...
本软件将图象制作成点阵信息保存于字库,可以进行文字识别,典型用在游戏辅助工具的制作! SimPlugOCR.dll为文字识别组件,如果用按键精灵的放在精灵的plugin目录进行调用;VB, VC, Delphi, BCB, PB... 等开发环境...
(适合小字库) b. 增加了 “扫描方向及反显”设置。 2. Multi-Language V1.01 a. 修改了除 office 2000 外,其它不能支持的问题。 V1.00: (2007-2011) 1. 继承 FontMaker V2.01 的所有功能。 2. 增加了一...
图片文字取模工具软件是一款任意大小任意字体的文字取模&任意大小任意格式的图片取模图片文字取模工具的功能和特点:1、字模输出格式有汇编和C语言两种2、取模方式 可横向或纵向 可字节倒序 可反色3、在提取矢量字库...
文字输入完毕后,用Ctrl+Enter结束输入,不再提供工具按钮。 03。取模原则:以字节为单位,若不符合 8 的倍数时,补足位数。看图象就知道哦。 04。当横向取模时是宽度满足上述原则。 05。当纵向取模时是高度满足上述...
+ 增加了单个字符或多个字符输出成位图文件设定。 * 完善了阿拉伯文字库(unicode 字库有效)。 + 增加自定义字符功能(unicode 字库有效)。 Multi-language(多国语言) + 增加输出编码格式 (mbcs, utf16-lb, ...
我这里测试是3万多字的TXT文件在2分钟内转成16X16点阵的字库文件。 版本号为pctolcd2.53 由于本软件侧重于对字符的处理,所以在图象方面功能较弱,请见晾。 5月8日发布正式版 正式版已经开始朝着液晶字库生成...
还能用来批量转换图像文件格式(在转换过程中还可以进行自动化修改操作)、快速浏览文件夹中的图片、修正数码相片白平衡、将点阵图片转换为矢量图片等等,是一个图像处理的多面手。用它绘制线型、编辑文字、修改插图...
2.附带字库建造工具,可以任意抓图,将图片建造成字库信息,供插件来调用; 3.字库建造工具附带穷举文字程序,可遍历操作系统中所有的字体字号,将其转换为所需要的字库; 4.支持颜色不纯,有所偏差的文字识别及字库...
15. 支持识别指定图片中的文字 16. 支持在代码中添加字库 图色方面 1. 所有图色接口都支持后台gdi 后台gdi2 后台dx 后台dx2 后台dx3 以及前台normal 2. 支持颜色查找,多种颜色查找,并可指定搜索的方向以及相似度 ...
推荐通用文字图片JS不间断滚动封装类 代替Marquee 15.站长推荐全新兼容DIV+CSS版中国地图 JS+DIV+CSS支持热点效果的中国地图 16.支持4级树形 展开菜单插件dTree原版下载 2)JQuery Tab 1.jQuery.Switchable...