• 大小: 0.14M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-02-25
  • 语言: C#
  • 标签: 文字  C#  c  

资源简介

请童鞋们边看代码,边看本文档

在CSGLControl组件的代码视图下,直接就有一种方法 BuildFont(string text,Font font)
运行起来在窗体的左下角蓝背景红字的就是效果。
优点,这种方法,简单,易懂。
缺点,内存流,glDrawPixels,gluOrtho2D的坐标转换,无法输出与GL很好的融为一体。
果断放弃了。

下面是正主了

项目目录下面有一个Win32的类,是从老外的SharpGL里直接拷过来的(可以直接用,为什么不用^_^),主要封装了一些GDI操作和类型。
只是没有汉字的GDI操作,我已经加上了,童鞋们可以直接使用


GLFont是主要的类,大家好好看这个类,OpenGLPublicFunction类只有一个方法,把C#中的Color转成GL接受的float数组

在输出汉字的方法中请

----注意--------注意--------注意--------注意--------注意--------注意--------注意--------注意--------注意--------注意--------注意----

GLFont类中,方法Print调用的是wglUseFontBitmaps
而PrintCN调用的是wglUseFontBitmapsW

wglUseFontBitmapsW是wglUseFontBitmaps的宽字符版,汉字一个字符占两个字节,而且不影响输出英文

就这两个方法调错了,弄了我一下午找错误(先抽自己一下)


最后,但愿我写的这个东西对你有帮助。。。。


资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.IO;
using System.Windows;

using CsGL.OpenGL;
using CsGL.Pointers;
using CsGL.Util;

namespace CSGLShowChinese
{
    public class CSGLControl : OpenGLControl
    {
        public CSGLControl()
            : base()
        { }

       

        protected override void InitGLContext()// 此处开始对OpenGL进行所有设置
        {
            base.InitGLContext();

            GL.glShadeModel(GL.GL_SMOOTH);            // 启用阴影平滑
            GL.glClearDepth(1.0f);                                     // 设置深度缓存
            GL.glEnable(GL.GL_DEPTH_TEST);            // 启用深度测试
            GL.glDepthFunc(GL.GL_LEQUAL);               // 所作深度测试的类型
            GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT GL.GL_NICEST); // 告诉系统对透视进行修正

        }

        protected override void OnSizeChanged(EventArgs e)
        {
            base.OnSizeChanged(e);

          

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     380928  2002-11-03 22:43  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\bin\Debug\csgl.dll

     文件      21504  2002-11-03 22:43  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\bin\Debug\csgl.native.dll

     文件      28160  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\bin\Debug\CSGLShowChinese.exe

     文件      40448  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\bin\Debug\CSGLShowChinese.pdb

     文件      14328  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\bin\Debug\CSGLShowChinese.vshost.exe

     文件        490  2007-07-21 01:33  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\bin\Debug\CSGLShowChinese.vshost.exe.manifest

     文件       5117  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\CSGLControl.cs

     文件       5995  2012-03-15 10:54  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\CSGLControl.resx

     文件       4257  2012-03-15 16:13  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\CSGLShowChinese.csproj

     文件        512  2012-03-15 10:59  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Form1.cs

     文件       1670  2012-03-15 10:50  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Form1.Designer.cs

     文件       5814  2012-03-15 10:50  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Form1.resx

     文件       4486  2012-03-15 16:13  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\GLFont.cs

     文件        180  2012-03-15 16:13  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.CSGLControl.resources

     文件       1030  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.csproj.FileListAbsolute.txt

     文件        911  2012-03-15 10:58  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.csproj.GenerateResource.Cache

     文件      28160  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.exe

     文件        180  2012-03-15 16:13  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.Form1.resources

     文件      40448  2012-03-15 16:17  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.pdb

     文件        180  2012-03-15 16:13  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\CSGLShowChinese.Properties.Resources.resources

     文件       3964  2012-03-15 10:58  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\obj\Debug\ResolveAssemblyReference.cache

     文件        975  2012-03-15 11:18  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\OpenGLPublicFunction.cs

     文件        496  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Program.cs

     文件       1382  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Properties\AssemblyInfo.cs

     文件       2880  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Properties\Resources.Designer.cs

     文件       5612  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Properties\Resources.resx

     文件       1100  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Properties\Settings.Designer.cs

     文件        249  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Properties\Settings.settings

     文件      43972  2012-03-15 15:54  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese\Win32.cs

     文件        935  2012-03-15 10:49  CSGLShowChinese\CSGLShowChinese\CSGLShowChinese.sln

............此处省略14个文件信息

评论

共有 条评论