147.VGA256色模式编程

简介: 147.VGA256色模式编程
/*
     VGA256.c -- VGA 256 色编程
*/
#include "dos.h"
#include "conio.h"
#include "stdio.h"
void InitScr();
void RstScr();
void PutPoint(int x, int y, int Color);
void Rect(int x1, int y1, int x2, int y2, int Color);
void LineV(int x1, int y1, int x2, int y2, int Color);
int main()
{
    int x1, y1, x2, y2, i, j;
    x1 = y1 = 0;
    x2 = 319;
    y2 = 199;
    InitScr();
    for (i = 0; i < 256; i++)
       LineV(i, 0, i, 199, i);
    for( i = 18; i < 100; i++)
       Rect(x1++, y1++, x2--, y2--, i);
    for( i = 18; i < 50; i++)
       Rect(x1--, y1--, x2++, y2++, i);
    getch();
    RstScr();
}
void InitScr()
{
    union REGS In;
    In.x.ax = 0x13;                 /*进入13H模式  */
    int86(0x10, &In, &In);
}
void RstScr()
{
    union REGS In;
    In.x.ax = 0x03;             /* 退出13H模式 */
    int86(0x10, &In, &In);
}
/* 直接写视频缓冲区 */
void PutPoint(int x, int y, int Color)   /* 画点函数 */
{
   char far *p;
   p = (char far *) (0x0a0000000L);
   * (x+y*320+p) = Color;
}
/* 利用VGA BIOS中断在屏幕上画点, 速度慢
void PutPoint(int x, int y, int Color)
{
   union REGS  In;
   In.h.ah = 0x0C;
   In.h.al = Color;
   In.x.cx = x;
   In.x.dx = y;
   In.h.bh = 0;
   int86(0x10, &In, &In);
}
*/
void LineV(int x1, int y1, int x2, int y2, int Color)  /* 画一垂直线 */
{
   int i;
   for (i = 0; i < 199; i++)
      PutPoint(x1, i, Color);
}
void Rect(int x1, int y1, int x2, int y2, int Color)  /* 画一矩形*/
{
   int i;
   for(i = x1; i <= x2; i++)
   {
      PutPoint(i, y1, Color);
      PutPoint(i, y2, Color);
   }
   for(i = y1; i <= y2; i++)
   {
      PutPoint(x1, i, Color);
      PutPoint(x2, i, Color);
   }
}
相关文章
x3d
|
Unix Web App开发
Freebsd屏幕字体的调节
中文字体:文泉驿 font resolution 80 dots per inch font size:10 firefox中 font size 15,最小 font size:12 中文 英文不改动 其实在现在utf-8的情况下,这种方式真的有用吗,似乎没用 很奇怪,调大一点,中文字显得很大,调小点呢,英文字又显得有点小,矛盾。
x3d
686 0
颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)【转】
转自:http://www.cnblogs.com/1175429393wljblog/p/5404626.html 颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别简单地说这里说的位数和windows系统显示器设置中的颜色位数是一样的。
2407 0
VS2019显示器颜色调整成护眼模式的颜色
工具 -> 选项 -> 环境 -> 字体和颜色,显示项为“纯文本”,设置项背景色:色调=85,饱和度=123,亮度=205,或者 rgb为199,238,206
|
编解码 Unix 芯片
[oeasy]python0082_VT100_演化_颜色设置_VT选项_基础色_高亮色_索引色_RGB总结
[oeasy]python0082_VT100_演化_颜色设置_VT选项_基础色_高亮色_索引色_RGB总结
120 0
[oeasy]python0082_VT100_演化_颜色设置_VT选项_基础色_高亮色_索引色_RGB总结
|
9月前
|
Ubuntu Linux Windows
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
411 0
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
LabVIEW控制Arduino实现RGB调色灯(基础篇—6)
利用LIAT中的RGB函数库,通过LabVIEW控制Arduino Uno控制板实现RGB调色。
如何利用vga接口的显示器做笔记本的副屏
如何利用vga接口的显示器做笔记本的副屏
如何利用vga接口的显示器做笔记本的副屏

热门文章

最新文章