【问题标题】:How to print window console font in c++ graphics如何在 C++ 图形中打印窗口控制台字体
【发布时间】:2015-04-01 07:52:23
【问题描述】:

在graphic.h 中使用outtextxy() 时,我只能使用有限数量的字体。如何显示上面非常基本的字体?它只是普通的窗口控制台光栅字体。

【问题讨论】:

  • 注意那些(像我一样)还不知道的人:graphic.hnon-standard header used by Borland
  • “显示非常基本的字体”是什么意思?您的意思是“使用非常基本的字体”吗?
  • 我的意思是用那种字体打印文本

标签: c++


【解决方案1】:

如果控制台光栅不在下面列举的列表中 - 您可能希望使用installuserfont,然后使用settextstyle 中安装的字体。

您必须制作包含控制台光栅字体的 .CHR 文件 -

enum font_names 
{ 
   DEFAULT_FONT, 
   TRIPLEX_FONT, 
   SMALL_FONT, 
   SANS_SERIF_FONT,
   GOTHIC_FONT, 
   SCRIPT_FONT, 
   SIMPLEX_FONT, 
   TRIPLEX_SCR_FONT,
   COMPLEX_FONT, 
   EUROPEAN_FONT, 
   BOLD_FONT 
};
   userfont = installuserfont("CONSOLE_RASTER.CHR"); /* install font file with console raster */

   settextstyle(userfont, HORIZ_DIR, 4);    /* select the user font */

   outtextxy(x, y, "Hello World!");    /* output some text */

那些 .CHR 文件存储描边字体 - 其中字形的每个词干由沿词干中心向下的一条线表示,然后以一定的宽度绘制该线。您必须以 .CHR 格式提供控制台栅格。

顺便说一句,我看过这些华大基因功能已经快 20 年了!

虽然我希望你考虑过现代图形库。

【讨论】:

  • 你能推荐一些现代的库,学习起来并不复杂吗?
  • 我在 2D 中使用了 OpenGL,在 GUI 中使用了 Qt - 这里讨论了其他选项stackoverflow.com/questions/1701728/graphics-library-in-c
  • 还要检查libsdl.org 的 SDL - 您还应该考虑 Win32 GDI - msdn.microsoft.com/en-us/library/windows/desktop/…。如果是我,我会从 Win32 GDI 开始。
  • 我认为Win32 GDI很复杂,因为它需要在“Win32 GUI项目”而不是通常的“控制台应用程序”中工作,并且每个函数都有数百万个参数......
  • 检查stackoverflow.com/questions/1937163/… 这些附加参数通常用于设备上下文和消息——一旦你理解了它们就变得容易了。或者尝试使用 OpenGL - 从长远来看,使用其中任何一个都会让您受益最大。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
相关资源
最近更新 更多