OpenGL环境中二维文字的通用绘制方法
详细信息    查看全文 | 推荐本文 |
  • 英文篇名:Universal Rendering Method of Two-dimensional Text in OpenGL Environment
  • 作者:李迎春 ; 孙卡
  • 英文作者:LI Yingchun;SUN Ka;School of Software Engineering,Nanchang Hangkong University;School of Information Engineering,Nanchang Hangkong University;
  • 关键词:OpenGL ; 位图文字 ; 纹理贴图 ; 对齐方式 ; 通用性
  • 英文关键词:OpenGL;;bitmap text;;texture mapping;;alignment;;generality
  • 中文刊名:JSSG
  • 英文刊名:Computer & Digital Engineering
  • 机构:南昌航空大学软件学院;南昌航空大学信息工程学院;
  • 出版日期:2019-02-20
  • 出版单位:计算机与数字工程
  • 年:2019
  • 期:v.47;No.352
  • 基金:国家自然科学基金(编号:61661037,61662048)资助
  • 语种:中文;
  • 页:JSSG201902033
  • 页数:6
  • CN:02
  • ISSN:42-1372/TP
  • 分类号:168-172+180
摘要
分析了几种常用的文字绘制方法,研究了文字的属性特征,提出了GDI和OpenGL相结合的文字绘制方法,前者负责文字位图的创建,后者负责文字位图的绘制。在绘制过程中,使用纹理贴图的方式,将位图转换为几何图形的纹理,通过对几何图形的操作,间接达到文字的放大、缩小、旋转、变形的绘制效果。使用C++语言设计出了位图文字和纹理文字的绘制类,可以方便地设置所绘文字的内容、字体、颜色、位置、对齐方式、旋转角度、放大倍数、变形系数等参数。该方法具有通用性、灵活性、易用性的特点。
        This paper analyzes several commonly used methods of text rendering,studies the properties of the text,and putsforward the method of combining GDI and OpenGL. The former is responsible for the creation of text bitmap,and the latter is respon-sible for the rendering of the bitmap. In the drawing process,the use of texture mapping can convert the bitmap into a geometric tex-ture,and the operation of the geometric figure can indirectly achieve the rendering effect of text to zoom,rotate and deform. By us-ing C++ to design bitmap text and texture text rendering classes,the contents,font,color,position,alignment,rotation angle,magnification,deformation coefficient and other parameters of the painted text can be easily set. The method has the characteristicsof generality,flexibility and ease of use.
引文
[1] Donald Hearn,M.Pauline Baker. Computer GraphicsWith OpenGL[M].蔡士杰,宋继强,蔡敏,译.第三版,北京:电子工业出版社,2013.Donald Hearn,M.Pauline Baker. Computer GraphicsWith OpenGL[M]. CAI Shijie,SONG Jiqiang,CAI Min,Trans. 3rd,Beijing:Publishing House of Electronic In-dustry,2013.
    [2]吴仁彪,吴海宁,曲景怡,等.一种高效OpenGL多线程文本绘制方法[J].中国民航大学学报,2013,31(4):23-26.WU Renbiao,WU Haining,QU Jingyi,et al. Efficientmethod for multi-thread text drawing based on OpenGL[J]. Journal of Civil Aviation University of China,2013,31(4):23-26.
    [3]梁丽.一种3D视频中立体字幕叠加技术[J].电视技术,2011,35(20):32-34.LIANG Li. Method for overlaying stereoscopic subtitles in3D video[J]. Video Engineering,2011,35(20):32-34.
    [4]李雪,翟正军,姚和平,等. Vega环境下汉字显示技术的实现方法[J].测控技术,2007,26(4):80-82.LI Xue,ZHAI Zhengjun,YAO Heping,et al. Realizationof Chinese characters display technology in Vega[J].Measurement&control technology,2007,26(4):80-82.
    [5]马莉,殷晓春. Vega环境下一种汉字字符显示方法[J].指挥信息系统与技术,2011,2(1):63-65.MA Li,YIN Xiaochun. A method of displaying Chinesecharacters in Vega[J]. Command Information System&Technology,2011,2(1):63-65.
    [6]赵常寿,姜兆义,吴红权. Vega Prime之OpenGL文字显示程序设计[J].电脑编程技巧与维护,2014,(5):67-70.ZHAO Changshou,JIANG Zhaoyi,WU Hongquan. VegaPrime Opengl text display program design[J]. ComputerProgramming Skills&Maintenance,2014(5):67-70.
    [7]芮小平,张彦敏,杨崇俊. OpenGL中文字的几种常用绘制方法[J].计算机工程与应用,2003,39(12):128-129.RUI Xiaoping,ZHANG Yanmin,YANG Chongjun. Themethod of word-drawing in OpenGL[J]. Computer Engi-neering and Applications,2003,39(12):128-129.
    [8]李自胜.基于OpenGL的Windows字体处理方法研究[J].四川工业学院学报,2002,21(2):10-13.LI Zisheng. Research on Windows font processing methodbased on OpenGL[J]. Journal of Sichuan University ofScience and Technology,2002,21(2):10-13.
    [9]李杰,陈锦昌. OpenGL中实现三维轮廓汉字的研究[J].工程图学学报,2001(3):34-37.LI Jie,CHEN Jinchang. Research on the realization of 3Dcontour Chinese characters in OpenGL[J]. Journal of En-gineering Graphics,2001,(3):34-37.
    [10]张秀山,胡庆丰.一个三维字幕动画函数库的设计与实现[J].计算机工程与科学,2000,22(3):21-24.ZHANG Xiushan,HU Qingfeng. Design and implemen-tation of a function library of 3D caption animation[J].Computer Engineering and Science,2000,22(3):21-24.
    [11]陈飞,黄海明,杨猛,等.基于SDL和OpenGL实时绘制中文字体[J].计算机工程与设计,2011,32(8):2764-2768.CHEN Fei,HUANG Haiming,YANG Meng,et al. Re-al-time rendering method of Chinese fonts based on SDLand OpenGL[J]. Computer Engineering and Design,2011,32(8):2764-2768.
    [12]兰一麟涛,钱伟,田明银.基于OpenGL的三维纹理贴图绘制技术研究与实现[J].甘肃科技,2015,31(22):32-34.LAN YI Lintao,QIAN Wei,TIAN Mingyin. Researchand implementation of 3D texture mapping based onOpenGL[J]. Gansu Science and Technology,2015,31(22):32-34.
    [13]侯学隆,王文恽.基于GDI的OpenGL多国文字渲染[J].电脑编程技巧与维护,2011(3):63-67.HOU Xuelong,WANG Wenyun. Multi language render-ing based on GDI and OpenGL[J]. Computer Program-ming Skills&Maintenance,2011(3):63-67.
    [14]薛娟,李旭勇.基于VxWorks的OpenGL图形界面开发[J].计算机工程,2012,36(24):269-271.XUE Juan,LI Xuyong. Development of OpenGL graph-ics interface based on VxWorks[J]. Computer Engineer-ing,2012,36(24):269-271.
    [15]刘亚丽,颜丽娟.一种基于VxWorks的汉字输入法实现[J].电子科技,2012,25(2):97-99.LIU Yali,YAN Lijuan. A method to realize Chinesecharacter input based on VxWorks[J]. Electronic Sci.&Tech.,2012,25(2):97-99.
    [16]周小军,夏青,蒋秉川. OpenGL多线程电子地图显示研究[J].测绘科学,2010,35(6):105-106.ZHOU Xiaojun,XIA Qing,JIANG Bingchuan. Researchon OpenGL multi thread electronic map display[J]. Sci-ence of Surveying and Mapping,2010,35(6):105-106.
NGLC 2004-2010.National Geological Library of China All Rights Reserved.
Add:29 Xueyuan Rd,Haidian District,Beijing,PRC. Mail Add: 8324 mailbox 100083
For exchange or info please contact us via email.