精华内容
下载资源
问答
  • 点阵字实现此效果,首先是...我们拿Python print来打印的话,最好是有现成可用的点阵字库,这样根据其像素信息直接转化为print的字符就可以了。HZK16字库HZK即汉字库的首字母缩写,HZK16字库是符合GB2312标准的16...

    up-df37326a8dd4ceec5b5a99e7109a6d89197.png

    点阵字

    实现此效果,首先是点阵字的概念:点阵字体是把每一个字符都分成16×16或24×24个点,然后用每个点的虚实来表示字符的轮廓。点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示。

    我们拿Python print来打印的话,最好是有现成可用的点阵字库,这样根据其像素信息直接转化为print的字符就可以了。

    HZK16字库

    HZK即汉字库的首字母缩写,HZK16字库是符合GB2312标准的16×16点阵字库,支持的汉字有6763个,每个汉字模型需要16×16一共需要256个点来显示,每个点是二进制位也就是2的256次方数据,即32个字节。

    那么思路清晰了,根据字符串中汉字字符编码,去HZK16字库中获取点阵信息,拿到信息后根据16*16点阵每个点的数据,print出不同字符。

    注意:运行代码时要在代码文件所在文件夹内添加HZK16文件,否则是拿不到点阵数据,HZK16文件在下载链接中可以找到

    实现多字

    import binascii

    KEYS = [0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01]

    def printPlay(textStr,line,background):

    # 初始化16*16的点阵位置,每个汉字需要16*16=256个点来表示,需要32个字节才能显示一个汉字

    # 之所以32字节:256个点每个点是0或1,那么总共就是2的256次方,一个字节是2的8次方

    rect_list = [] * 16

    for i in range(16):

    rect_list.append([] * 16)

    for text in textStr:

    #获取中文的gb2312编码,一个汉字是由2个字节编码组成

    gb2312 = text.encode('gb2312')

    #将二进制编码数据转化为十六进制数据

    hex_str = binascii.b2a_hex(gb2312)

    #将数据按unicode转化为字符串

    result = str(hex_str, encoding='utf-8')

    #前两位对应汉字的第一个字节:区码,每一区记录94个字符

    area = eval('0x' + result[:2]) - 0xA0

    #后两位对应汉字的第二个字节:位码,是汉字在其区的位置

    index = eval('0x' + result[2:]) - 0xA0

    #汉字在HZK16中的绝对偏移位置,最后乘32是因为字库中的每个汉字字模都需要32字节

    offset = (94 * (area-1) + (index-1)) * 32

    font_rect = None

    #读取HZK16汉字库文件

    with open("HZK16", "rb") as f:

    #找到目标汉字的偏移位置

    f.seek(offset)

    #从该字模数据中读取32字节数据

    font_rect = f.read(32)

    #font_rect的长度是32,此处相当于for k in range(16)

    for k in range(len(font_rect) // 2):

    #每行数据

    row_list = rect_list[k]

    for j in range(2):

    for i in range(8):

    asc = font_rect[k * 2 + j]

    #此处&为Python中的按位与运算符

    flag = asc & KEYS[i]

    #数据规则获取字模中数据添加到16行每行中16个位置处每个位置

    row_list.append(flag)

    #根据获取到的16*16点阵信息,打印到控制台

    for row in rect_list:

    for i in row:

    if i:

    #前景字符(即用来表示汉字笔画的输出字符)

    print(line, end=' ')

    else:

    # 背景字符(即用来表示背景的输出字符)

    print(background, end=' ')

    print()

    inpt = input("输入内容:")

    lineSign = '■'

    backgroundSign = '○'

    #backgroundSign = "."

    printPlay(inpt,lineSign,backgroundSign)

    文章来源: www.oschina.net,作者:彭澎,版权归原作者所有,如需转载,请联系作者。

    原文链接:https://my.oschina.net/pengchanghua/blog/3163434

    展开全文
  • 你画我猜游戏的java实现

    千次阅读 2016-05-26 22:27:43
    b) 创建者根据词语利用不同粗细、颜色的画笔以及橡皮画图 c) 图画即时传递到其他参与者的客户端,其他参与者根据当前画图内容写出答案。最先猜测中的玩家与创建者共同得1分,如果都没有猜中,不得分 d)

    下面介绍一下目前实现的功能

    1 系统读取数据库,给参与者50个汉字,包含了该组题所有的答案,该组题分若干轮,总计时3分钟。每轮:
    a) 给出创建者一个词语(成语、单词),开始20秒计时
    b) 创建者根据词语利用不同粗细、颜色的画笔以及橡皮画图
    c) 图画即时传递到其他参与者的客户端,其他参与者根据当前画图内容写出答案。最先猜测中的玩家与创建者共同得1分,如果都没有猜中,不得分
    d) 猜中后,或20秒倒计时结束后,或创建者放弃后,汉字集合中减掉该组词语,进入下一轮
    2 要求提供词语库建库功能,支持新词语录入(替换老词语)
    下面我们展示一些界面图片
    初始界面
    这里写图片描述
    这里写图片描述
    这里写图片描述

    下面附上我们软件的下载地址

    下载地址
    但是要注意几个问题,你发现下载软件后没法用,那是因为我们已经关闭了数据库服务。
    需要代码的可以联系我

    展开全文
  • 1、与串口调试助手一样,可设串口,自动扫描串口,波特率等等,可收发汉字 2、作图(散点,折线,曲线),可设x,y轴范围,单位,名称,自动更新坐标刻度。外部计时模式和系统时钟可选。 3、状态监测:可设置零界点,...

    上位机作图软件 监测温度,单片机串口通信无压力

    本帖最后由 zb12138 于 2018-11-11 13:11 编辑

    功能

    1、与串口调试助手一样,可设串口,自动扫描串口,波特率等等,可收发汉字
    2、作图(散点,折线,曲线),可设x,y轴范围,单位,名称,自动更新坐标刻度。外部计时模式和系统时钟可选。
    3、状态监测:可设置零界点,根据温度显示当前状态

    绘图示意
    在这里插入图片描述

    画图设置
    在这里插入图片描述
    收发测试
    在这里插入图片描述
    在这里插入图片描述
    代码展示

    调用方式

    1、下位机发送格式为
    printf(“A%f,%f#”,x,y);(y就显示为温度,x为时间)
    可以在单片机端改上下限,也可以在上位机上改,两者同步更新。
    printf(“B%f#”,min);(改下限)
    printf(“C%f#”,max);(改上限)
    还可以自己定义D,E,F…
    2、上位机会更新上下限给单片机,发送数据为
    printf(“B%fC%f#\r\n”,min,max);

    下载
    链接:https://download.csdn.net/download/zb12138/15809695
    试用:https://pan.baidu.com/s/1lNIEKDKBq-Xf1ly7131QYA
    提取码:ahis
    联系QQ1161051951获取源码(9元)

    展开全文
  • 字模软件 附VC源代码

    热门讨论 2012-01-26 14:57:14
    4、根据图像显示调整汉字在显示中央 5、实现了字符串横向、纵向取模(纵向取模,主要针对常用的12864——HD61202液晶屏) 6、添加font_mac.h文件,这个是图形库的宏定义 具体的功能还有很多可以扩充的地方,我把源...
  • 明日科技C#开发入门及项目实战

    热门讨论 2013-04-19 15:47:07
    实例169 简单画图程序 实例170 仿qq截图功能 实例171 模拟石英钟 实例172 绘制贝塞尔曲线 实例173 绘制图形验证码 实例174 以椭圆形显示图像 实例175 使用双缓冲技术绘图 实例176 批量添加图片水印 第16章 线程的...
  • 实例169 简单画图程序 313 实例170 仿qq截图功能 318 实例171 模拟石英钟 321 实例172 绘制贝塞尔曲线 323 实例173 绘制图形验证码 324 实例174 以椭圆形显示图像 326 实例175 使用双缓冲技术绘图 327 实例176 批量...
  • 后来lattice包的出现稍微改善了这种情况,你可以说,我要画散点图或直方图,并且按照某个分类变量给图中的元素上色,此时数据才在画图中扮演了一定的中心角色,我们不用去想具体这个点要用什么颜色(颜色会根据变量...
  • Delphi编程100例

    2009-09-22 08:59:12
    使用PaintBox控件制作画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种像素历遍方法的比较和实现 实现屏幕拷贝 ...
  • Delphi7编程100例

    2004-09-02 11:32:44
    使用PaintBox控件制作画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种像素历遍方法的比较和...
  • ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态...画图程序使用DrawGrid控件制作五子棋多彩的数据报表按压缩比将BMP转换为JPG16位真彩转换到256色调整图片的RGB对比度实现图像的灰度级处理效果...
  • Delphi7 编程 100 实例

    2007-09-18 00:34:51
    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态分隔...画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 ...
  • 实例123 汉字区位码与汉字的相互转化 实例124 数字与字符串的相互转换 5.2 字符串查找与判断比较 实例125 在字符串中查找指定字符 实例126 在字符串中提取部分字符 实例127 利用IsNumeric函数判断是否为数字 ...
  • 实例123 汉字区位码与汉字的相互转化 实例124 数字与字符串的相互转换 5.2 字符串查找与判断比较 实例125 在字符串中查找指定字符 实例126 在字符串中提取部分字符 实例127 利用IsNumeric函数判断是否为数字 ...
  • 会计理论考试题

    2012-03-07 21:04:40
    C、选择全拼输入法来输入汉字 D、在控制面板中选“输入法”,选择CBK汉字输入法 27.要想在文章中输入希腊字母“π”,应___B___。 A、用英文字母“PI”代替B、右击“输入法状态”窗口中的软键盘按钮,然后选择希腊...
  • delphi7编程百例

    2007-05-10 16:07:36
    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的...画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比...
  •  实例004 根据需要创建所需解决方案 6 1.2 Visual Studio开发环境的使用 7  实例005 为程序设置版本和帮助信息 7  实例006 设置Windows应用程序启动窗体 8  实例007 统一窗体中控件的字体设置 9  实例008 ...
  • 实例004 根据需要创建所需解决方案 1.2 Visual Studio开发环境的使用 实例005 为程序设置版本和帮助信息 实例006 设置Windows应用程序启动窗体 实例007 统一窗体中控件的字体设置 实例008 通过“格式”菜单...
  • 实例004 根据需要创建所需解决方案 1.2 Visual Studio开发环境的使用 实例005 为程序设置版本和帮助信息 实例006 设置Windows应用程序启动窗体 实例007 统一窗体中控件的字体设置 实例008 通过“格式”菜单...
  • 实例004 根据需要创建所需解决方案 1.2 Visual Studio开发环境的使用 实例005 为程序设置版本和帮助信息 实例006 设置Windows应用程序启动窗体 实例007 统一窗体中控件的字体设置 实例008 通过“格式”菜单...
  • 第一部分 界面设计

    2013-10-22 23:10:34
    实例049 如何使用OLE技术启动画图 实例050 如何在程序中添加Word文档表格 实例051 如何在程序中设置Word文档的字体风格 实例052 如何使用Onldle事件 实例053 如何使程序在循环时响应外界事件 实例054 如何设置...
  • 实例004 根据需要创建所需解决方案 6 1.2 Visual Studio开发环境的使用 8 实例005 为程序设置版本和帮助信息 8 实例006 设置Windows应用程序启动窗体 9 实例007 统一窗体中控件的字体设置 10 实例008 通过“格式”...
  • 实例049 如何使用OLE技术启动画图 实例050 如何在程序中添加Word文档表格 实例051 如何在程序中设置Word文档的字体风格 实例052 如何使用Onldle事件 实例053 如何使程序在循环时响应外界事件 实例054 如何设置...
  • 实例049 如何使用OLE技术启动画图 实例050 如何在程序中添加Word文档表格 实例051 如何在程序中设置Word文档的字体风格 实例052 如何使用Onldle事件 实例053 如何使程序在循环时响应外界事件 实例054 如何设置...
  • 实例169 根据日期动态建立文件 218 实例170 把文件删除到回收站中 219 实例171 清空回收站 221 5.2 查找文件 222 实例172 搜索文件 222 实例173 检查文件是否存在 223 实例174 提取指定文件夹目录 224...
  • 实例169 根据日期动态建立文件 222 实例170 把文件删除到回收站中 223 实例171 清空回收站 225 5.2 查找文件 226 实例172 搜索文件 226 实例173 检查文件是否存在 227 实例174 提取指定文件夹...
  • 实例169 根据日期动态建立文件 222 实例170 把文件删除到回收站中 223 实例171 清空回收站 225 5.2 查找文件 226 实例172 搜索文件 226 实例173 检查文件是否存在 227 实例174 提取指定文件夹...
  • 没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    68 <br>0090 如何获得字母的ASCII码 68 <br>0091 如何根据ASCII码获得字母 68 <br>0092 编程中经常使用的ASCII码 68 <br>0093 获得汉字的区位码 69 <br>0094 如何根据区位码获得汉字 69...
  • 【综合计算显示】 综合计算并显示选中区域存储格的最大值、最小值、平均值、求和、存储格个数、筛选状态下的的加总求和,以及显示选区包含的数字、字符、汉字的个数等信息。 【GB2转BIG5】 将选中区域存储格的简体字...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

根据汉字画图