伙计们我正在编写一个简单的图形程序,通过从用户那里获取输入来创建多边形。获得顶点的坐标后,我会要求用户输入顶点对之间的顶点对他想要一个优势。
为了使这个更具互动性我想我会逐渐开始在图形模式下同时绘制多边形,即我会逐渐添加边缘并将其显示给用户。现在我将再次切换到文本模式,以获得他想要插入边缘的更多顶点集。但是我发现,当我在图形和文本模式之间切换时,我在图形模式下绘制的所有内容都被删除。
Guys在turbo C编译器中有任何方式或任何功能,以便我可以在文本和图形模式之间切换,同时恢复图形模式的内容。我应该使用不同的编译器??
答案 0 :(得分:2)
在模式之间切换会使视频适配器丢失所有保留的图形。解决方法是使用'canvas',一个存储像素的内存位图。您将对此位图进行修改并将其blit到视频适配器以使其可见。您使用的这个古老的图形库不支持。查看您计划中的CreateCompatibleDC()winapi函数。
这不是问题。切换回图形模式时,只需重新渲染图形即可。您必须存储多边形的“模型”,以便可以渲染它。只需存储顶点。
答案 1 :(得分:1)
您可以使用TURBO c库中提供的restorecrtmode(),setmode()和getmode()函数。这些函数存在于graphics.h头文件中。
答案 2 :(得分:0)
您可以保持图形模式以获取用户输入,但您需要创建一个在图形模式下工作的输入函数,通过char(getch())读取char,编写输入并使用字符更新图形屏幕类型。如果您的图形卡有多个页面,您可以使用“setactivepage”和“setvisualpage”为数据输入和图形创建单独的页面。