「java点阵字」java点阵字库

博主:adminadmin 2022-11-22 03:40:09 54

本篇文章给大家谈谈java点阵字,以及java点阵字库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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点阵字」java点阵字库

谁会用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点阵字的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。