原来Perl获取汉字的点阵如此简单

示例脚本应保存为utf8格式

Code: [全选] [展开/收缩] [Download] (Untitled.pl)

use GD;
use utf8;
my $gd = GD::Image->new(40, 20); #1
my $black = $gd->colorAllocate( 0, 0, 0);
my $white = $gd->colorAllocate(255, 255, 255);
$gd->stringTTF($white, "C:\\windows\\fonts\\msyh.ttf", 20, 0, 0, 20, "中"); my $dt = $gd->wbmp( $black );
my @dts = map { ord($_) } split('', $dt); for my $e (4 .. $#dts)
{
printf "%08b", $dts[$e];
if (($e-4+1) % 5 == 0 )
{
print "\n";
}
}

0000000000001100000000000000000000000000

0000000000001100000000000000000000000000

0000000000001100000000000000000000000000

0011111111111111111111111000000000000000

0011111111111111111111111000000000000000

0011000000001100000000011000000000000000

0011000000001100000000011000000000000000

0011000000001100000000011000000000000000

0011000000001100000000011000000000000000

0011000000001100000000011000000000000000

0011000000001100000000011000000000000000

0011000000001100000000011000000000000000

0011111111111111111111111000000000000000

0011111111111111111111111000000000000000

0011000000001100000000011000000000000000

0000000000001100000000000000000000000000

0000000000001100000000000000000000000000

0000000000001100000000000000000000000000

0000000000001100000000000000000000000000

0000000000001100000000000000000000000000

再来个

.

                                                                    ****
*****
*******
************
****************
* *********** ***
*** * ************ *****
*** *** * ************** *****
***** **** * *************** *******
**** ******* ** * ***** ********
**** ******** *** *** *********
***** ********** ** *********
**** *********** ** ********
*** ************* *** *******
******** **** *** ********
******** **** **** ***********
******** **** **** ******* ****
**** ** *** **** ****** ****
** *** **** **** *****
** **** **** *** ****
** ** *** *** * ****
** ** *** ** *******
*** * **** ** ******
**** ** *** *** *****
**** ************** *** ******
**** * *********** *******
*** * ********* **********
*** ** ********* ************
** * ********** **************
** * ************** *****************
** ** ***** ********** ********* ********
** ** ***** ********** ********* *******
** ** ****** ********* ******** ****
** *** ********** ******** ******* **
** *** ******* ******* ***** **
* *** ** ****** **** **
* *** **** *** **
***** **** * ***
**** * ***

[Perl]通过GD模块获取字符/汉字的点阵的更多相关文章

  1. MySQL通过函数获取字符串汉字拼音首字母大写字符串

    DELIMITER $$ DROP FUNCTION IF EXISTS `Fun_GetPY`$$ CREATE FUNCTION `HIS`.`Fun_GetPY` (in_string VARC ...

  2. Swift3.0语言教程获取字符

    Swift3.0语言教程获取字符 Swift3.0语言教程获取字符,在字符串中获取某一下标位置(下标索引)处的字符是很常见的功能,在NSString中使用character(at:)方法实现,其语法形 ...

  3. C#获取字符首字母

    ///<summary> /// 获取字符首字母 /// </summary> public static string GetPyChar(string c) { if (s ...

  4. 获取字符宽度:并非自适应。coretext去计算

    获取字符宽度:并非自适应.coretext去计算 UniChar ch = [ns_str characterAtIndex:0]; CGGlyph glyph = 0; CTFontGetGlyph ...

  5. lastIndexOf方法——获取字符最后的索引

    1.2.20 lastIndexOf方法——获取字符最后的索引 2013-08-29 14:55:18     我来说两句 收藏    我要投稿   本文所属图书 > Java程序开发参考手册 ...

  6. javascript 获取字符递增

    比如A->B,AA->AB,Z->AA 参考https://blog.csdn.net/xiaotao2004/article/details/75096607 C#版本,改写为ja ...

  7. python封装configparser模块获取conf.ini值(优化版)

    昨天晚上封装了configparser模块,是根据keyname获取的value.python封装configparser模块获取conf.ini值 我原本是想通过config.ini文件中的sect ...

  8. python使用wmi模块获取windows下的系统信息监控系统-乾颐堂

    Python用WMI模块获取Windows系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 本文实例讲述了python使用wmi模块获取w ...

  9. perl HTML::LinkExtor模块(1)

    use LWP::Simple; use HTML::LinkExtor; $html = get("http://www.baidu.com"); $link = HTML::L ...

随机推荐

  1. MyBatis 学习记录3 MapperMethod类

    主题 之前学习了一下MapperProxy的生产过程,自定义Mapper类的对象是通过动态代理生产的,调用自定义方法的时候实际上是调用了MapperMethod的execute方法:mapperMet ...

  2. ubuntu16.04挂载windows NTFS磁盘方法

    sudo fdisk -l 查看所有磁盘分区 mount命令 mount -t ntfs /dev/sdb3 /mnt/share -o iocharset=utf8,umask= 修改/etc/fs ...

  3. 获取崩溃时的调用栈和生成dump文件,然后自动重启

    首先要说明的是:  linux 下 比较方便可以得到 崩溃时的调用栈,win下 比较难办   1. linux 获取调用栈 代码奉上: #include <execinfo.h> //在头 ...

  4. Node.js中流程控制

    Node.js中的流程控制可以使用async,在使用之前需要先安装,使用npm安装 npm install async --g 下面主要介绍4种流程控制的方式: 1.串行无关联:async.serie ...

  5. OCFS2 Fencing

    OCFS2 FencingPosted on February 8, 2011 by Abdulhameed Basha I am very excited to start writing my e ...

  6. 智能合约调用另一合约中的payable方法

    参考链接: https://ethereum.stackexchange.com/questions/9705/how-can-you-call-a-payable-function-in-anoth ...

  7. [Training Video - 4] [Groovy] Constructors in groovy, this keyword

    Bank.log = log Bank b1 = new Bank() b1.name = "BOA" b1.minbalance = 100 b1.city="Lond ...

  8. mysql varchar 类型 超出字符

    4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上,varchar(50),指的是50字符,无论存放的是数字.字母还是UTF ...

  9. CDATA嵌套问题

    在CDATA内部的所有内容都会被解析器忽略.一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束.但是CDATA是不能够嵌 ...

  10. C#6.0特性(快来围观)(转)

    出处:http://www.cnblogs.com/HJL-Blog/p/4457632.html 说明一下,很多博友一进来就认为仅仅是语法糖,C#语法的更新,代表着它的进步,语法糖是为了让我们更好的 ...