「java点阵字」java点阵字库
本篇文章给大家谈谈java点阵字,以及java点阵字库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 如何通过点阵数组识别汉字
- 2、谁会用java输出点阵格式的名字啊!
- 3、请教JAVA牛人,怎么把通过JAVA查一个汉字的数字点阵
- 4、谁做过 用java 生成点阵字库的程序
- 5、JAVA里如何获得指定大小字体的字符转成为点阵信息
- 6、java 二维码 点阵 16进制
java 如何通过点阵数组识别汉字
public class Son {
public static void main(String[] args) {
String[] a = {"wo shi yi ge bing","lai zi lao ban xing","da si bu chi fan"};
f(a);
}
public static String[] f(String[] a){
for (int i = 0; i 3; i++) {
char[] b = a[i].toCharArray();
if (b[0] = 97 b[0] = 122) {
b[0] = (char) (b[0] - 32);
}
a[i] = new String(b);
if (a[i].substring(a[i].length()- 1, a[i].length()) != ".") {
a[i] += ".";
}
}
for (int i = 0; i 3; i++) {
System.out.println(a[i]);
}
return a;
}
}
这是改的楼上的,他的有错误,substring(startIndex,endIndex)这句,endIndex应该为字符串长度,而不是1
谁会用java输出点阵格式的名字啊!
下面的方法可以实现,它可以按照指定的字体将字符串转换为点阵的2维数组:
import java.awt.Font;
import java.awt.Shape;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import javax.swing.plaf.metal.DefaultMetalTheme;
public class FontTest {
public static void main(String[] args) {
try {
DefaultMetalTheme theme = new DefaultMetalTheme();
Font font = new Font(theme.getWindowTitleFont().getFamily(), Font.PLAIN, 30); // 创建字体
AffineTransform at = new AffineTransform();
FontRenderContext frc = new FontRenderContext(at, true, true);
GlyphVector gv = font.createGlyphVector(frc, "ABC a $@#*^"); // 要显示的文字
Shape shape = gv.getOutline(5, 30);
int weith = 200; // 显示面板的宽
int height = 40; // 显示面板的高
boolean[][] view = new boolean[weith][height];
for (int i = 0; i weith; i++) {
for (int j = 0; j height; j++) {
if (shape.contains(i, j)) {
view[i][j] = true;
} else {
view[i][j] = false;
}
}
}
for (int j = 0; j height; j++) {
for (int i = 0; i weith; i++) {
if (view[i][j]) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
请教JAVA牛人,怎么把通过JAVA查一个汉字的数字点阵
以前DOS时代搞过这个。如果你能拿到GB_2312字库,就能做到。将Unicode码转变为GB码,然后高字节-0xA0,乘以94,再加低字节-0xA0,这个结果乘以32,去字库文件里从头偏移这么多,读32字节,按位每16位一行画点就是汉字图形。
图形好像是翻转的,时间长了具体记不清了。
试验了一下,记错了一点。是减手0xA1。下面的这个类的静态方法getDotMap获取一个字的32字节的点阵。每位为1时应该绘制,0时不绘制。
public class ChineseReader extends JFrame{
private static byte[][] dotMap;
static{
try{
FileInputStream dotMapFile=new FileInputStream("hzk16");
dotMap=new byte[dotMapFile.available()][32];
for(int i=0;idotMap.length;i++){
dotMapFile.read(dotMap[i]);
}
dotMapFile.close();
}
catch(FileNotFoundException ex){
ex.printStackTrace();
}
catch(IOException ex){
ex.printStackTrace();
}
}
public static short[] getDotMap(char c){
short[] buffer=new short[16];
int gbCode=Charset.forName("GB2312").encode(String.valueOf(c)).getShort()0xFFFF;
ByteBuffer buf=ByteBuffer.wrap(dotMap[((gbCode8)*94+(gbCode0xFF))-0x3BBF]);
for(int i=0;i16;i++){
buffer[i]=buf.getShort();
}
return buffer;
}
}
假设汉字库文件以“hzk16”命名,存放在同一文件夹中。你自己找不到16点阵汉字库时,找个UCDOS下载,从中能找到的。文件名就是HZK16。
谁做过 用java 生成点阵字库的程序
首先你应该知道,Java的程序必须运行在有JVM(Java虚拟机)的机器上。没有JVM的EXE程序文件也不能执行。
Java生成EXE文件其实很简单:
1)将编好的Java程序(必须含有main方法,这是程序的入口)导出成jar包,这个jar包双击就可以运行了。
2)用将这个jar包加个外壳,扩展名就是.exe的文件了。这样的有很多,比如:exe4j、JSmooth等。这两个的操作都很简单。
如果有什么问题可以给我发信息。
补充:用Eclipse导出jar文件过程:
右键"项目"-- Export -- Java -- JAR file -- 选择项目和输出路径(文件名) -- Finish
JAVA里如何获得指定大小字体的字符转成为点阵信息
1、建一个内存DC。
2、建一个CBitmap。
3、把DC刷白。
4、用TEXTOUT写字到DC上。
5、用GetPixel()获得每个点
java 二维码 点阵 16进制
二维码就是个图片。。。
你看看java的image类, 就能获取到点阵数组了。。。
java点阵字的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java点阵字库、java点阵字的信息别忘了在本站进行查找喔。
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。