大哥哥,大姐姐,点阵:如何将输入的文字转换成指定大小的点阵?

nimeide1234567890 2009-12-10 10:41:36
如何将输入的文字转换成指定大小的点阵。比如输入一个字“中”,可以按照要求转换成8*8,16*16,24*24,32*32等规格的点阵图

就是说要的结果是类似16进制,如64*32的LED屏幕显示22222,那么得到的16进制是:
64 div 8 = 8
8 * 32 = 256
所以下面也是256个点(00算一个点的话)

00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
3C 3C 3C 3C 3C 00 00 00
42 42 42 42 42 00 00 00
42 42 42 42 42 00 00 00
42 42 42 42 42 00 00 00
04 04 04 04 04 00 00 00
04 04 04 04 04 00 00 00
08 08 08 08 08 00 00 00
10 10 10 10 10 00 00 00
20 20 20 20 20 00 00 00
42 42 42 42 42 00 00 00
7E 7E 7E 7E 7E 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00

那如果发送“我是龙卷风”,那么得到的16进制是:
也就是说每行最多只显示4个中文字,单字节每行可以显示8个,如数字或英文,所以超过4个中文字就从1,1这个坐标开始显示中文字,来进行点阵

06 40 00 00 02 00 01 10
38 50 0F F0 02 40 11 18
08 48 08 10 02 20 09 20
08 48 0F F0 02 20 3F FC
08 40 08 10 7F FE 01 00
FF FE 0F F0 02 80 02 00
08 40 00 00 02 90 FF FE
08 48 FF FE 02 90 04 20
0E 28 01 00 04 A0 0F D8
38 30 09 00 04 C0 14 4E
C8 20 09 F8 08 80 24 44
08 50 09 00 09 80 85 40
09 92 15 00 12 82 04 90
08 0A 23 00 20 82 04 10
28 06 40 FE 40 7E 03 F0
10 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00
1F F8 00 00 00 00 00 00
10 08 00 00 00 00 00 00
10 48 00 00 00 00 00 00
14 68 00 00 00 00 00 00
12 48 00 00 00 00 00 00
11 48 00 00 00 00 00 00
10 88 00 00 00 00 00 00
10 88 00 00 00 00 00 00
11 48 00 00 00 00 00 00
12 6A 00 00 00 00 00 00
24 2A 00 00 00 00 00 00
28 26 00 00 00 00 00 00
40 06 00 00 00 00 00 00
80 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00

有没有一个公式来计算呢,然后把输入的文字和屏幕长和宽套进去?
...全文
148 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
亮剑_ 2009-12-12
  • 打赏
  • 举报
回复
你是不是需要一个将文字(含数字、西文字母、汉字等)转化为LED屏显示的格式

LED屏应用很多,这个应该能找到现成的算法的
imho888 2009-12-11
  • 打赏
  • 举报
回复
找一个汉字库,匹配汉字,取出点阵点图
nimeide1234567890 2009-12-11
  • 打赏
  • 举报
回复
帮我啊,大哥哥,大姐姐
winstonbonaparte 2009-12-10
  • 打赏
  • 举报
回复
進來學習的
nimeide1234567890 2009-12-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kobaer 的回复:]
楼主搞了4个贴问这个问题  分多啊
[/Quote]

这个问题对我来说很重要,但自己又一点都不懂,时间又紧迫
kobaer 2009-12-10
  • 打赏
  • 举报
回复
楼主搞了4个贴问这个问题 分多啊
nimeide1234567890 2009-12-10
  • 打赏
  • 举报
回复
我比较笨,说的我还是不太懂,真想大哥哥,大姐姐手把手知道我,
阿发伯 2009-12-10
  • 打赏
  • 举报
回复
lz闹着玩呢。接分
haitao 2009-12-10
  • 打赏
  • 举报
回复
记得我回复过的,怎么没有了?
删掉了??
iqyely 2009-12-10
  • 打赏
  • 举报
回复
关注,学习下
tcdzyq 2009-12-10
  • 打赏
  • 举报
回复
jf
风之谷 2009-12-10
  • 打赏
  • 举报
回复
关注中
apilove 2009-12-10
  • 打赏
  • 举报
回复
关注并JF
wooden954 2009-12-10
  • 打赏
  • 举报
回复
楼主的英文字符是用等宽字体还是不等宽字体?
楼主的图像编码顺序是什么样的?
楼主的图像是单色的还是彩色的?
haitao 2009-12-10
  • 打赏
  • 举报
回复
const cbit:array [0..7] of byte=($80,$40,$20,$10,$8,$4,$2,$1);
haitao 2009-12-10
  • 打赏
  • 举报
回复
const ln=#13#10;
haitao 2009-12-10
  • 打赏
  • 举报
回复
    result:='LCD byte:'+ln;
for i:=0 to self.ImgLCD.Height-1 do
Begin
b:=0;
for j:=0 to self.ImgLCD.Width-1 do
Begin
if self.ImgLCD.Canvas.Pixels[j,i]=ccnone then //ccnone就是背景色
else
b:=b or cbit[j mod 8];
if j mod 8=7 then
Begin
result:=result+format('%.2X ',[b]);
b:=0;
End;
End;
if b<>0 then
result:=result+format('%.2X ',[b]);
result:=result+ln;
End;
exit;
End;
wsxcdx 2009-12-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 winstonbonaparte 的回复:]
進來學習的
[/Quote]

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧