【问题标题】:Switch Between Graphic And Text Mode in Turbo C在 Turbo C 中切换图形和文本模式
【发布时间】:2011-02-25 15:08:26
【问题描述】:

伙计们,我正在编写一个简单的图形程序,通过获取用户的输入来创建 n 边的多边形。获得顶点坐标后,我会要求用户输入顶点对他想要一个优势。

为了使这个更具交互性,我想我会逐渐开始以图形模式同时绘制多边形,即我会逐渐添加边缘并将其显示给用户。现在我将再次切换到文本模式以获得他想要插入边缘的更多顶点集。但是我发现当我在图形和文本模式之间切换时,我在图形模式下绘制的所有内容都被删除了。

伙计们turbo C 编译器中有任何方法或任何功能,这样我就可以在文本和图形模式之间切换,同时恢复图形模式的内容。我应该使用不同的编译器??

【问题讨论】:

  • 哇... Borland 的华大基因?好久不见……
  • @Pablo 是的,我在大约 15 年前学会了用 Turbo C 编写代码!在无处不在的互联网之前非常棒的 IDE。帮助很棒:)
  • 另一种语言怎么样?!!
  • @Rolf Rander:鉴于他说使用的是 Turbo C,我猜它是 DOS(现在可能在 Windows 下运行)。
  • @rolf Rander 我正在使用 win xp .@Byron 今天在学习图形编程方面也首选 TURBO C。你知道我可以在其中进行图形编程的其他编译器吗。

标签: c graphics


【解决方案1】:

在模式之间切换会使视频适配器丢失所有保留的图形。一种解决方法是使用“画布”,一种存储像素的内存位图。您将对此位图进行修改并将其传送到视频适配器以使其可见。您使用的这个古老的图形库不支持。查看您计划中的 CreateCompatibleDC() winapi 函数以取得成功。

这几乎不是问题。当您切换回图形模式时,只需重新渲染图形。您必须存储多边形的“模型”,以便渲染它。只需存储顶点。

【讨论】:

    【解决方案2】:

    您可以使用 TURBO c 库中提供的 restorecrtmode()、setmode() 和 getmode() 函数。这些函数存在于 graphics.h 头文件中。

    【讨论】:

      【解决方案3】:

      您可以停留在图形模式下以获取用户输入,但您需要创建一个在图形模式下工作的输入函数,逐个字符读取字符 (getch()),组合输入并使用字符更新图形屏幕打字。如果您的显卡不止一页,您可以使用“setactivepage”和“setvisualpage”为数据输入和图形创建单独的页面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-17
        • 1970-01-01
        • 2017-01-08
        相关资源
        最近更新 更多