gpt4 book ai didi

delphi - 如何使用delphi在openGL中渲染简单的2d文本?

转载 作者:行者123 更新时间:2023-12-02 08:08:07 36 4
gpt4 key购买 nike

我正在尝试找到一种在 Delphi 中的 openGL 表单上显示简单文本的方法。我尝试使用标签进行此操作,但它们没有出现。我猜测 openGL 窗口是在它上面渲染的,所以我尝试调用 Label1.BringToFront; 但这不起作用。我还听说过一个名为 freetype 的库,但我找不到信息,如何在 Delphi 中实现它。在 Delphi 中渲染 openGL 表单上的文本的最简单方法是什么?

最佳答案

最简单的方法是使用opengl的wglfontbitmaps

 const numberchar =128
allocate:

wglMakeCurrent(FDC, FRC);
FFontBase := glGenLists(numberchar);
SelectObject(FDC, FFont.Handle);
wglUseFontBitmaps(FDC,0,128, FFontBase);


draw(atext:ansistring);
glPushAttrib(GL_LIST_BIT);
glListBase(FFontbase);
glCallLists(Length(aText), GL_UNSIGNED_BYTE, Pansichar(aText)); list
glPopAttrib;

free:
glDeleteLists(FFontBase, numberchar);

绘制代码只是部分的。最好寻找类似代码的教程。

请注意,这只会为您提供基本的未缩放字体。对于精美的文本效果来说,freetype 确实是最常见的途径。

开始使用 Delphi 和 opengl 的一个好地方是 http://www.delphigl.com/大部分是德语,但也有一些英语板。

另一种选择(前提是您有 D2010+)是朝 DirectX 的方向看。 D2010+ 附带一个 directx 上下文组件。

关于delphi - 如何使用delphi在openGL中渲染简单的2d文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21092359/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com