CG08-字符的生成和显示原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

● 填充图元属性 ● 字符表示/输 出
点阵字符存储 点阵字符显示 矢量字符存储 矢量字符显示 两种字符比较
占用空间不同
– 矢量字符占用空间较少, 矢量字符占用空间较少, 首先其单个字符占用较少空间; 首先其单个字符占用较少空间; 其次,矢量字符只需保存一套字符,所需的不同型号 其次,矢量字符只需保存一套字符, 的字符可以通过相应的几何变换来产生. 的字符可以通过相应的几何变换来产生.
● 填充图元属性 ● 字符表Baidu Nhomakorabea/输 出
点阵字符存储 点阵字符显示 矢量字符存储 矢量字符显示 两种字符比较
● 字符属性
矢量字符的存储
☆填充图元生成 ● 扫描转换填充 ● 区域填充算法
■ 两种方法转换 ■ 两种方法区别
字符矢量表示中 , 记录的是字符的 字符矢量表示中, 笔画信息. 笔画信息.
0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
● 字符属性
点阵字符的显示
☆填充图元生成 ● 扫描转换填充 ● 区域填充算法
■ 两种方法转换 ■ 两种方法区别
从给定字符编码,到在屏幕上将它显示出来,需要经历 从给定字符编码,到在屏幕上将它显示出来, 两个步骤: 两个步骤: – 第一步:从字库中将它的位图检索出来,由于表示 第一步:从字库中将它的位图检索出来, 同一型号字符的位图所占空间大小相同, 同一型号字符的位图所占空间大小相同,可以直接 将一个字符在字库中的位置计算出来; 将一个字符在字库中的位置计算出来; – 第二步:将检索到的位图写到帧缓存中,这可以利 第二步:将检索到的位图写到帧缓存中, 用光栅系统的位拷贝功能. 用光栅系统的位拷贝功能.
● 字符属性
点阵字符的存储
☆填充图元生成 ● 扫描转换填充 ● 区域填充算法
■ 两种方法转换 ■ 两种方法区别
点阵字符是由一个位图表示 – 保存字符就是保存表示它的位图. 保存字符就是保存表示它的位图. – 字型7×9,9×16,16×24等指的是位图的尺寸. 字型7 16,16×24等指的是位图的尺寸 等指的是位图的尺寸. 对于 16×24的汉字: 一个汉字需要 16x24=384位, 对于16×24 的汉字 一个汉字需要16x24=384 位 的汉字: 48个字节 个字节, 即:48个字节, 常 用 汉 字 有 6763 个 , 从 而 存 储 这 种 型 号 需 要 6763×48≈324K字节. 6763×48≈324K字节.
● 字符属性

字符的编码
x0 x1 x2 x3 x4 x5
y0 0 y1 1 y2 0 y3 1 y4 0 y5 1 -1
不连线 连线
● 填充图元属性 ● 字符表示/输 出
点阵字符存储 点阵字符显示 矢量字符存储 矢量字符显示 两种字符比较
字符结束标志
● 字符属性
表示一个矢量字符最终只需要 所有 表示一个矢量字符最终只需要所有 的端点坐标信息及其 及其是否连线的标 的端点坐标信息 及其 是否连线的标 志. 实际的矢量字符的存储结构要加上 一些管理信息和字型信息等. 一些管理信息和字型信息等.
《计算机图形学》 计算机图形学》
字符的生成和显示
深圳大学计算机系 李坚强博士
字符的表示与输出
☆填充图元生成 ● 扫描转换填充 ● 区域填充算法
■ 两种方法转换 ■ 两种方法区别
国际字符编码: 国际字符编码:
ASCII( ASCII(American Standard Code for Information Interchange) Interchange) – 7位二进制编码,共128个字符. 位二进制编码, 128个字符 个字符. – 一个字符的ASCII码用一个字节(8位)表示,其最高位不用 一个字符的ASCII码用一个字节 码用一个字节( 表示, 或作为奇偶校验位. 或作为奇偶校验位.
字符的编码
x0 x1 x2 x3 x4 x5
● 填充图元属性 ● 字符表示/输 出
点阵字符存储 点阵字符显示 矢量字符存储 矢量字符显示 两种字符比较
y0 0 y1 1 y2 0 y3 1 y4 0 y5 1 -1
不连线 连线
字符结束标志
(63,63)
P2 P0 P1
● 字符属性
P4 P3 P5
点阵字符和矢量字符
☆填充图元生成 ● 扫描转换填充 ● 区域填充算法
■ 两种方法转换 ■ 两种方法区别
字符变换不同
– 表示点阵字符的是位图,对点阵字符的变换要对位图中的 表示点阵字符的是位图 位图, 每一个像素进行,是图像变换,放大或旋转时会失真. 每一个像素进行,是图像变换,放大或旋转时会失真. – 表示矢量字符的是端点坐标,对矢量字符的变换是对端点 表示矢量字符的是端点坐标 端点坐标, 的变换,是图形的几何变换,不会影响显示效果. 的变换,是图形的几何变换,不会影响显示效果.
(63,63)
P2 P0 P1
P4
P3
P5
矢量字符的显示
☆填充图元生成 ● 扫描转换填充 ● 区域填充算法
■ 两种方法转换 ■ 两种方法区别
第一步根据给定字符的编码,在字 第一步根据给定字符的编码, 库中检索出表示该字符的数据. 库中检索出表示该字符的数据. – 由于各个字符的笔画不一样多 , 由于各个字符的笔画不一样多, 端点也不一样多, 端点也不一样多 , 造成存储各 个字符的记录所占字节数也不 给检索带来一定困难. 同,给检索带来一定困难. – 为了提高检索效率 , 可以改变 为了提高检索效率, 字符的存储结构. 字符的存储结构. 第二步是取出端点坐标,对其进行 第二步是取出端点坐标, 适当的几何变换, 适当的几何变换,再根据各端点的 标志显示出字符. 标志显示出字符.
● 填充图元属性 ● 字符表示/输 出
点阵字符存储 点阵字符显示 矢量字符存储 矢量字符显示 两种字符比较
汉字编码:国家标准信息交换编码GB2312-80 汉字编码:国家标准信息交换编码GB2312– 汉字6763个,图形符号682个. 汉字6763个 图形符号682个 – 所有字符组成94×94矩阵表示,行称为区,用区码标识, 所有字符组成94×94矩阵表示 行称为区,用区码标识, 矩阵表示, 列称为位,用位码标识; 列称为位,用位码标识; – 一个字符由一个区码和一个位码共同标识 . 区码和位码 一个字符由一个区码和一个位码共同标识. 分别需要7个二进制,汉字字符国标码占两个字节. 分别需要7个二进制,汉字字符国标码占两个字节. 通常,采用字符中冗余的最高位来标识一个字节所表示的码: 通常 , 采用字符中冗余的最高位来标识一个字节所表示的码 : – 最高位为0:表示ASCII码; 最高位为0 表示ASCII码 – 最高位为 1 : 表示汉字编码的高位字节 ( 区码 ) 或低位字节 最高位为1 表示汉字编码的高位字节( 区码) (位码). 位码)
1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0
● 填充图元属性 ● 字符表示/输 出
点阵字符存储 点阵字符显示 矢量字符存储 矢量字符显示 两种字符比较
0
在实际应用中需要多种字体 ( 如宋 在实际应用中需要多种字体( 揩体等) 体 , 揩体等 ) , 每种字体又有十多 种型号. 种型号. 因此汉字字库所占的存储空间 是相当庞大的. 是相当庞大的. 解决办法是采用压缩技术. 解决办法是采用压缩技术.
– 选一个正方形网格作为字符的局部 坐标空间, 网格大小可取: 16×16, 坐标空间 , 网格大小可取 : 16×16 , 32×32,64×64等 32×32,64×64等. – 对一个字符来说 , 它由构成它的 笔 对一个字符来说, 它由构成它的笔 组成, 而每一笔又由其两端 确定. 两端确定 画 组成 , 而每一笔又由其 两端 确定 . – 对于每一个端点 , 只要保存它的 坐 对于每一个端点, 只要保存它的坐 标值和由前一端点到此端点 和由前一端点到此端点是否连 标值 和由前一端点到此端点 是否连 即可. 线的标志即可 线的标志即可.
矢量字符美观
– 除了直线段外,还可以用二次曲线段,三次曲线段等来表 除了直线段外,还可以用二次曲线段, 示笔画,使字符更加美观. 示笔画,使字符更加美观. – 矢量字符占用空间小,美观,变换方便等优点得到越来越 矢量字符占用空间小,美观, 广泛的应用,特别是在排版, 广泛的应用,特别是在排版,软件和工程图软件中它几乎 已经完全取代了点阵字符. 已经完全取代了点阵字符.
相关文档
最新文档