如何将输入的文字转换成指定大小的点阵。比如输入一个字“中”,可以按照要求转换成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 有没有一个公式来计算呢,然后把输入的文字和屏幕长和宽套进去?
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 有没有一个公式来计算呢,然后把输入的文字和屏幕长和宽套进去?
解决方案 »
- 关于win2003+IIS6+INTRAWEB 问题? 大侠们指点一二
- 急啊!求大家帮忙了
- [Fatal Error] uMapInfo.pas(6): File not found: 'Ole2.dcu'
- 请问关于tclientdataset的commandtext 的写法
- 请问怎么判断Edit输入的是整型数还是其它字符?
- 给几个字符串函数
- Indy8异常"Cannot allocate socket"是怎么回事??加急!!!
- 关于ADOconnect的问题,怎么做?快来帮忙看看吧~!!!高分相送!!
- 那里可以下载API的详细中文帮助或手册
- 控件获得MouseDown消息
- 哎.好吧.我承认.我喜欢上Delphi了.虽然很多人都不看好它.
- 大哥哥,大姐姐,点阵:如何将输入的文字转换成指定大小的点阵?
function str2bitmap (const s:string):string;
begin
result:='';
b:=0;
imagehide.picture.bitmap.canvas.textout(0,0,str);
for y:=0 to 16-1 do
for x:=0 to 48-1 do
begin
if imagehide.picture.bitmap.canvas.pixel[x,y]=imagehide.picture.bitmap.canvas.font.color then
b:=b or (1 shl (x mod 16));
if (x mod 16=15) then
begin
result:=result+format(" %.2x",[b]);
b:=0;
end;
end;
end;
b:=b or (1 shl (x mod 16));
if (x mod 16=15) then
该改为
b:=b or (1 shl (x mod 8));
if (x mod 8=7) then
showmessage(inttostr(b)); 这里没有执行
或者改为:
if imagehide.picture.bitmap.canvas.pixels[x,y]<>clwhite then
b:=b or (1 shl (x mod 8));