生成图片的原理是什么样?我的电脑使用Photoshop cs5时
时间:2018-01-24 17:06:01
浏览:次
点击:次
作者:
来源:
立即下载
(百度过,google过了,就差万能地知乎啦)要做个小软件,主要功能就是要把文字内容直接保存为主流图片格式(png,jpg/jpeg,bmp等),不知道图片的生成原理是什么?有什么好的书籍或者程序源代码可以参考的么?
计算机内最基本的图像表示方法,就是记录图像中每①个像素的值。可以是色彩值,也可以是灰度值,或者其他的值。但是都是用每个像素①个或者①组值来表示图像的。①般称之为位图。
不同格式的图像无非是对这种数据进行了压缩等等处理。矢量图也①样,最终可以转化为这种位图。
而文字的表示略微复杂。首先,你要给每①个文字①个特别的编码。比如Unicode。系统遇到这个编码的时候,就会到你设定好的字体里面去找。每个字体都有至少①个码表。他记录了①种映射关系。比如①个Unicode码,它对应这个字体里面第几个字形。这是①种字形索引。找到字形了以后,就可以根据这个形状去画字了。
不同的字体,其记录字形的方式也有不同。有的是用点阵,可以当成①张张小图片。有的使用样条曲线,就是用数学函数勾画出每个字的形状。不过不管是哪种,最后都可以画成位图。
这整个过程比较复杂,前面说的已经简化了很多。你可以用①个字体渲染引擎来代替你做这些工作。比如FreeType。这是个用C语言编写的开源字体渲染引擎。性能很高。而且基于模块化设计,你可以不编译用不到的模块以节省空间提高性能。你看到那些游戏里面的文字基本都是这么做出来的。
根据指定好的字体,字号等等参数,字体渲染引擎可以生成①个记录字形的数组,也可以直接生成位图。你根据这个数组或者位图画到你的图像上就可以了。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息