SharpGL简单方式添加3D中文显示

  • 一、简介
  • 二、使用C#自带Drawing库进行中文图片生成
  • 三、生成2D形式的贴图,并贴在绘制的面板上
  • 四、总结

一、简介

对于网上一些比较复杂的在SharpGL中显示3D中文,这里记录一下简单的生成方式。

二、使用C#自带Drawing库进行中文图片生成

编辑文本的属性

 System.Drawing.Font font = new System.Drawing.Font("宋体", 100f);SolidBrush brush = new SolidBrush(Color.White);//文本颜色SolidBrush brush_backColor = new SolidBrush(Color.Black);Ponit point = new Point(0,0);

设置画板

Graphics g;
Bitmap bitmap = new Bitmap(650,200);
g = Graphics.FromImage(bitmap);
g.FillRectangle(brush_backColor,0,0,bitmap.Width,bitmap.Height);
g.DrawString("文本",font,brush,point);

三、生成2D形式的贴图,并贴在绘制的面板上

绑定贴图

Texture textrue = new SharpGL.SceneGraph.Assets.Texture();
textrue.Create(gl, bitmap);
textrue.Bind(gl);

制作面板并绑定贴图

gl.Begin(SharpGL.OpenGL.GL_QUADS);
gl.Normal(0, -1, 0);//设置法向量
gl.TexCoord(0, 1); gl.Vertex(0, 0, 0);
gl.TexCoord(1, 1); gl.Vertex(5, 0, 0);
gl.TexCoord(1, 0); gl.Vertex(5, 1, 0);
gl.TexCoord(0, 0); gl.Vertex(0, 1, 0);
gl.End();

完成3D汉字显示功能

四、总结

这里要注意几个问题
1、这种形式可以在3D画板中放置于任何地方。但是需要先设置gl.Translate(x,y,z)进行位置标定,并且在标定后会使原点修改。
2、中文汉字的朝向问题可以通过制作面板时修改TexCoord和Vertex进行朝向定位。
3、这种方法有一个弊端就是,由于文字是绘图显示生成,背景没法透明。

SharpGL简单方式添加3D中文显示相关推荐

  1. 给你的网站添加3D地球显示的访客统计(使用RevolverMaps)

    与我们平时使用的百度统计.cnzz统计不同,这个是显示一个旋转的地球(当然也有2D的全球地图版的),在这个图上左上角显示的是访客的数量,左下角是一个控制面板,可以操控地球旋转.放大或者缩小.在地球上访 ...

  2. Pix4D mapper如何添加最简单方式添加坐标系

    在使用pix4D mapper中发现,不能自己定义坐标系,但是支持的坐标系又比较少. 那么,碰到自己想用的坐标系,pix4D里面没有怎么处理? 处理方式 pix4D中可以利用*.prj来定义坐标系. ...

  3. iTextPdf最简单最彻底解决中文显示

    不需要itextasian.jar轻松解决iTextpdf显示中文,本文使用itext-5.5.5,下载到是一个.zip文档,解压后把itextpdf-5.5.5.jar复制到到工程->libs ...

  4. linux mysql5.6 编码_CentOS 7下修改MySQL5.6编码方式 解决网站中文显示问号

    解决办法: CentOS 7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mysql  -u root - ...

  5. Eclipse插件安装最简单方式--以Eclipse中文语言包汉化为例(附汉化包)

    在Eclipse3.5以上的Eclipse版本,安装目录中会有一个dropins目录,如果需要安装插件,只要将插件解压后放到该目录即可,同理,如果要卸载某个插件,只需要从dropins目录中删除它即可 ...

  6. mysql数据库显示问号_mysql数据库中文显示问号

    mysql命令框中向表中插入中文字符,在可视化工具MySQL Workbeach或phpMyAdmin中不显示或显示乱码的问题解决 mysql命令框中向表中插入中文字符,在可视化工具MySQL Wor ...

  7. html输入表单jsp返回数据中文乱码,JSP/Servlet页面中文显示为乱码的解决方式

    经过网上搜索和自己的经验,JSP/Servlet页面的中文显示为乱码的问题可以细分为5类: 1. JSP页面显示乱码. 2. Servlet接收Form/Request传递的参数时显示为乱码 3. J ...

  8. JSP/Servlet页面中文显示为乱码的解决方式

    经过网上搜索和自己的经验,JSP/Servlet页面的中文显示为乱码的问题可以细分为5类: 1. JSP页面显示乱码. 2. Servlet接收Form/Request传递的参数时显示为乱码 3. J ...

  9. pytest文档80 - 内置 fixtures 之 cache 写入中文显示\u4e2d\u6587问题(用打补丁方式解决)

    前言 pytest 内置 fixtures 之 cache 写入中文的时候会在文件中写入\u4e2d\u6587 这种unicode编码格式. 如果想在文件中显示正常的中文,需重新Cache类的set ...

最新文章

  1. 如何在MFC客户端调用COM DLL
  2. Python Django session存取值代码演示及jsonpickle序列化
  3. Android 拍照、从相册选择图片
  4. C#中as和is关键字
  5. html点击按钮计算两个输入框的和_小程序计算报价功能介绍
  6. java baen转json 已经 json 转java bean 优秀博客分享
  7. 我是一个请求,我是如何被发送的?
  8. php导入跟引入的区别,PHP7 引入的“??” 和“?:”的区别
  9. ScaleAnimation缩放动画Demo
  10. I need to follow my heart
  11. 我什么都没有,只剩下坚持了!!!
  12. 遥感图像预处理-几何校正
  13. Gerrit 安装lfs插件
  14. 滴滴裁员 多一个月补偿反转苦情戏
  15. Python之ARP协议探测MAC地址
  16. acr38u PHP调用,ACS ACR38智能卡读写器驱动下载_ACS ACR38智能卡读写器驱动官方下载-太平洋下载中心...
  17. Java核心语法——IO流
  18. 蒙特卡罗MCNP学习汇总(五)---高级几何建模
  19. 北大青鸟 JQuery制作特效 第二章 (上机练习
  20. 优质文章为什么对网站推广这么重要

热门文章

  1. Spring Boot 进阶,Spring Boot面试题高频出处
  2. 解决黑群晖DSM5.2系统SSH连接自动断开问题
  3. fseek和ftell
  4. 全球十大正规贵金属交易价格走势app软件排名(2023口碑榜)
  5. 【电脑】QQ/TIM群投票页面打不开解决办法
  6. 微信小程序API——向服务器发送请求
  7. simatic net opc scout OPC.SimaticNet下没有DP服务
  8. 麒麟985对比麒麟980哪个好有什么区别 麒麟985对比麒麟980参数对比
  9. oracle清除执行计划,Oracle数据库9I中清除特定表相关执行计划案例
  10. 绝地求生刺激战场服务器维护中是什么意思,绝地求生刺激战场开黑是什么意思 开黑词语解释...