c语言图形方式初始化,c语言图形方式下的编程.doc

news/2024/10/20 8:54:44/

c语言图形方式下的编程.doc

C语言图形方式下的编程

学习目标

·了解PC显示系统的结构

·C语言图形初始化的一般方法

·C语言常用的图形处理函数

显示系统简介

PC机显示系统一般是由显示器和显示卡组成。显示器(Monitor)是独立于主机的一种外部设备。显示卡(Adapter)是插在Pc主机上的一块电路板。PC机对显示屏幕的所有操作都是通过显示卡来实现的。

显示系统的主要特性

1.显示分辨率

显示分辨率是指屏幕上所能显示的像素点数,通常用列数和行数的乘积宋表示。为了获得良好的显示效果,要求显示器的分辨率与对应分辨率的显示卡相匹配。通常,高分辨率的显示效果比低分辨率的效果好。但是,显示分辨率的提高对显示器与显示卡的硬、软件要求更高。特别是分辨率的提高在很大程度上受到显示器的显示尺寸和扫描频率的限制,也受到显示卡的显存的限制。

根据应用情况的不同,在不超过显示器最高分辨率的条件下,可以通过对显示卡的设置而使用不同的分辨率。

2.显示速度

显示速度是指在屏幕上显示图形和字符的速度。显示速度与显示分辨率和显示器的扫描频率密切相关。显示分辨率越高,整个屏幕上的像素点数就越多,显示速度就越慢。在这种情况下,为了提高显示速度,就需要提高扫描频率。

如果显示器只有一种扫描频率,则它只能与一种显示卡相匹配使用。随着显示技术的发展,目前一般的显示器可以适应具有多种分辨率与显示速度的显示卡。

颜色与灰度是衡量显示系统的重要参数。单色显示器只有亮和暗两种灰度;彩色显示器的颜色和灰度要受显示内存的限制,分辨率越高,颜色越丰富,所需要的显示内存就越多。

4.图形显示能力

图形显示能力是显示系统对屏幕上的每一个像素点都可以设置成不同的值的能力。通常,图形显示对硬件的要求比字符显示要求高得多,同时,图形显示对显示缓冲区的要求也比字符显示时高得多。

显示卡的种类

常用的显示卡有以下几种

1.MDA卡

MDA卡(Monochrome Display Adapter——单色字符显示器适配卡)与单色字符显示器配接,它只支持字符显示功能,无图形功能。

2.HGC卡

HGC卡(Hercules Graphics Card——单色显示图形卡)不仅支持字符显示,而且支持单色图形功能。在图形方式下,其图形显示分辨率最高可达720~348点阵。通过软件的设置,还可以支持640~400单色图形显示以及模拟CGA卡图形方式。

3.CGA卡

CGA卡(ColorGraphicsAdapter--彩色图形显示卡)支持字符/图形两种方式。

在字符方式下,它支持80列、25行及奶列、25行的方式,颜色可选16种。但是字符的质量比较差,只有8X8点阵。在图形方式下,它支持最大为640~200分辨率,但只有黑、白两种颜色。此外,它还支持320~200的分辨率,每个像素点可以有四种颜色。CGA卡有16K的显示缓冲区,用于显示字符及属性或图形方式下的图形数据。

4.EGA卡

EGA卡(Enhanced Graphics Adapter——增强型图形显示卡)的字符显示能力和图形显示能力都比CGA卡有了较大的提高,显示分辨率达到640~350,最高分辨率图形方式的颜色达到了16种。EGA卡的显示模式也比CGA卡丰富,并且兼容CGA卡及MDA卡的显示模式。

5.VGA卡

VGA卡(Video Graphics Array一一视频图形阵列)是一种功能十分强大、颜色丰富的显示卡。VGA的标准分辨率可达到640~480,并且具有16种颜色。一些兼容的VGA卡(如TVGA卡、EVGA卡)的分辨率可达640~480(256种颜色)、800~600(16种颜色)或1024~768(16种颜色)。VGA卡兼容MDA卡、CGA卡、EGA卡的所有显示模式。

随着显示技术的发展,目前的显示卡的分辨率一般都可以达到1024X768,显示32位真彩(232种颜色)。

视频BIOS

视频BIOS(BasicI/OSystem基本输入/输出系统)是与显示卡配套的一个重要组成部分。用户通过调用它可以完成一些与显示有关的控制功能。对于要用到显示系统的一般程序设计都可以通过调用视频BIOs或视频函数库来完成。但要想获得更高性能的显示程序,还需要对显示卡的寄存器和显示内存直接进行编程。

显示模式

显示模式按功能可以分为字符模式和图形模式两大类。

字符模式也称为字母数字模式,即A/N模式(A1phaNumbermode)。在这种模式下,显示缓冲区中存放的是显示字符的代码和属性,而显示屏幕被分为若干个字符显示行和列。图形模式(Graphics mod


http://www.ppmy.cn/news/351288.html

相关文章

经典C语言编程100例——题目+答案代码(51-60)

【程序 51】 题目:学习使用按位与 & 。 1.程序分析:0&00; 0&10; 1&00; 1&11 2.程序源代码: #include "stdio.h" main() { int a,b; a077; ba&3; printf("\40: The a & b(decimal) is %d \n&quo…

在C语言中 以32位PC,自制操作系统(十)| 进入32位模式并导入C语言

前期准备 16位模式启动的话,用AX和CX等16位寄存器会非常方便,但反过来,像EAX和ECX等32位的寄存器,使用起来就很麻烦。另外,16位和32位模式中,机器语言中的命令代码不一样。同样的机器语言,解释的…

大学c语言基础 Turbo C2.0 (32位/64位通用)

大学c语言基础 Turbo C2.0 (32位/64位通用) 2.0此软件自带dos虚拟环境 介绍 Turbo C2.0不仅是一个快捷、高效的编译程序,同时还有一个易学、易用的集成开发环境。使用Turbo C2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能…

c语言代码运行成图指令代码,C语言图形编程代码.doc

C语言图形编程代码 C语言图形编程代码 自己以前编写的C语言图形编程代码 自己以前编写的图形编程代码实现DOS下256BMP图片显示,中文注释,中文汉字显示 写的不好,给大家交流与学习,TC3.0与TC2.0下编译通过,实DOS下才能够运行 VGA256.C文件 /*..................................…

C语言编程之学习putpixel画点

问题描述&#xff1a;学习putpixel画点。 程序源码&#xff1a; #include "stdio.h" #include "graphics.h" void main() { int i,j,driverVGA,modeVGAHI; initgraph(&driver,&mode,""); setbkcolor(YELLOW); for(i50;i<230;i20)fo…

后端(二):Servlet

我们上一张聊的是Tomcat&#xff0c;它其实就是一个 HTTP 服务器&#xff0c;而Servlet 是基于 Tomcat 的 原生api &#xff0c;除了 Servlet&#xff0c;后面还有聊到很多 api 。 Servlet 是什么 Servlet&#xff08;Server Applet&#xff09;是Java Servlet的简称&#xf…

面试专题:Mysql

1.说说自己对于 MySQL 常见的两种存储引擎&#xff1a;MyISAM与InnoDB的理解 关于二者的对比与总结: 1.count运算上的区别&#xff1a;因为MyISAM缓存有表meta-data&#xff08;行数等&#xff09;&#xff0c;因此在做COUNT(*)时对于一个结构很好的查询是不需要消耗多少资源的…

CV方向如何找到适合自己的研究创新点?

做CV的论文创新的一些思路与方向。分别是无事生非&#xff0c;后浪推前浪&#xff0c;推陈出新&#xff0c;出奇制胜。 无事生非 在原始的数据集上加一些噪声&#xff0c;例如随机遮挡&#xff0c;或者调整饱和度亮度什么的&#xff0c;主要是根据具体的任务来增加噪声或扰动&a…