0

我正在使用 Borland Turbo C 和 Borland 图形界面。

我有两个问题:

  1. 我必须处理 256 色位图图像。使用 EGAVGA 驱动很难处理,所以我决定使用 SVGA 驱动。它工作正常,但是当我将图像转换为灰度时,不是只显示灰度图像,而是整个窗口进入灰度模式。outp(0x03c8, data)有什么方法可以使用和功能更改特定区域的调色板outp(0x03c9, data)

  2. 鼠标功能在 EGAVGA 模式下工作正常,但在 SVGA 模式下光标不可见。甚至鼠标也能正常工作。如何为 256 色的 SVGA 模式创建自定义鼠标光标?我有使用 0x10 中断在 EGAVGA 模式下创建自定义鼠标指针的代码,但它不适用于 SVGA 模式?

4

1 回答 1

4

在调色板视频模式中,调色板条目会影响整个屏幕。如果您更改任何索引,则屏幕上具有该索引的所有像素都会更改,无论它们是否属于您的图像。

如果您的图像要与其他人共享屏幕,并且您希望该图像成为唯一变为灰度的图像,则必须留出一些调色板条目供您的图像专用,因此更改它们不会影响其他图形元素在你的屏幕上。

在 Windows 和 X-Window 上,如果我没记错的话,当您的窗口应用程序获得焦点时,整个屏幕将具有您调色板的颜色。如果没有,它将恢复为系统调色板,您的窗口及其内容将显示“奇怪”。

于 2015-03-15T17:01:05.577 回答