已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 图形操作基本简介一 图形操作基本简介 1 必要的头文件 include include include include include 2 必须的系统变量 int GraphDriver int GraphMode double AspectRatio int MaxX MaxY int MaxColors int ErrorCode struct palettetype palette 3 初始化图形界面初始化出错处理关闭图形界面 GraphDriver DETECT initgraph initgraph ErrorCode graphresult if ErrorCode grOk printf Graphics System Error s n grapherrormsg ErrorCode exit 1 closegraph Return the system to text mode 4 取得必须的信息 getpalette MaxColors getmaxcolor 1 MaxX getmaxx MaxY getmaxy AspectRatio double xasp double yasp 5 一些常用的画图函数 outtext buffer outtextxy x y buffer line x0 y0 x1 y1 linerel lineto circle int x int y int radius arc bar int l int t int r int b bar3d moveto int x int y moverel dx dy getx putpixel x y color getpixel x y setcolor setbkcolor getcolor getbkcolor outtext buffer outtextxy x y buffer line x0 y0 x1 y1 linerel lineto circle int x int y int radius arc bar int l int t int r int b bar3d moveto int x int y moverel dx dy getx putpixel x y color getpixel x y setcolor setbkcolor getcolor getbkcolor 看联机帮助 或参见下面的部分文字 显示器是个人计算机的重要组成部分 随着计算机硬件的发展 现在有不同的显示器及其适配器用 在个人计算机系统中 常用的显示器有 CGA Herclus EGA VGA SVGA TVGA 等等 显示模式有两种 文本模 式和图象模式 DOS 操作系统中默认的是文本模式 在图形模式中 整个屏幕按显示器的分辨率分成点阵 EGA 可以是 643 350 或 640 200 的点阵 CGA 可以是 640 200 或 320 200 的点阵 VGA 则可以 640 200 16 色 或 640 480 16 色 本程序中用的就是后一种 VGAHI 因为图形显示器种类很多 控制方式各异 要显示图形 必须先装入相应的图形驱动程序 其次 每一种图形显示器 又具有不同的图形显示模式 要显示图形前必须决定选用哪一种显示模式 这些就是 图形系统的初始化工作 反之 在退出应用程序时 要恢复原来的文本模式 要退出图形系统 图形系统初始化程序如下 Boolean InitG void int errorcode errorcode registerbgidriver EGAVGA driver report any registration errors if errorcode 0 cout a nGraphics error grapherrormsg errorcode return false int gd DETECT gm initgraph errorcode graphresult if errorcode grOk cerr a endl grapherrormsg errorcode endl return false return true 其中 registerbgidriver EGAVGA driver 函数用于告诉连接程序 在连接时 把 EGAVGA 的驱动程 序装入执行程序中 Initgraph int gd int gm char 函数用于图形系统的初始化 Gd gm 分别表示图形驱动器和 图形模式 Gd DETECT 告诉初始化函数自动探测显示器的类型 Graphresult 和 grapherrormsg int errorcode 用于检测图形系统初始化是否正确 若不正确 则打印错误原因 本程序中的输出全部是在图形模式下 用到了画点 putpixle int x int y int color 画线 line int x1 int y1 int x2 int y2 lineto int x int y 坐标移动及提取 moveto int x int y getx gety getmaxx getmaxy 设置颜色 setcolor int color setbkcolor int color getcolor getmaxcolor 画框 设置点线的样式等等 图形系统的退出用 closegraph 函数实现 二 鼠标操作简介二 鼠标操作简介 1 鼠标简介 鼠标系统实际上由两个主要元素组成 鼠标机制和称作鼠标驱动程序的内存驻留程序 鼠标驱动程序提供与鼠标通信所需的全部低级支持 此外 它自动维持鼠标光标位置和发 现是否按下了某个键 一旦装入驱动程序 鼠标就可以被随后执行的任意程序使用 2 鼠标驱动程序的主要功能 可以通过PC中断33H访问鼠标和鼠标驱动程序的各种功能 所选择的特定函数依赖于 中断时AX寄存器的值 三个其它寄存器 BX CX和DX 用于把各种参数传送给鼠标例程 同样 鼠标函数使用这四个寄存器把鼠标的位置和按钮的状态返回给调用函数 功能输入值输出值功能调用 初始化无AX BXAX 0000 显示光标无无AX 0001 隐藏光标无无AX 0002 读取状态无BXCXDXAX 0003 设置位置CX DX无AX 0004 设置光标BXCXDX无AX 0009 X 范围CX DX无AX 0007 Y 范围CX DX无AX 0008 光标范围CX DX SI DI无AX 0010 中断程序CX ES DX无AX 000C 3 鼠标功能调用方法 用TC通过INT33H中断来编制基本函数 有三种常用方法 嵌入汇编程序 如 ASM CLI清中断 利用全程变量赋予寄存器值 然后通过函数geninterrupt 调用中断实现 利用联合类型REGS SREGS通过函数int86 int86x 调用中断 原型在在dos h 注意一下例程中预定义了如下全局变量 define true 1 define false 0 int visual false to tell whether the mouse icon is visual and init as false 4 鼠标的初始化 InitMouse union REGS regs regs x ax 0 int86 0 x33 if regs x ax 0 return false else return true 5 鼠标光标的显示与隐藏 HideCur union REGS regs if visual regs x ax 2 int86 0 x33 visual false ShowCur union REGS regs if visual regs x ax 1 int86 0 x33 visual true 在鼠标驱动程序中 鼠标的显示状态用0值表示 隐藏用负值表示 每调用一次显示功 能则该值加一 每调用一次隐藏功能 则该值减一 这样 在多次调用了驱动程序的隐藏 鼠标光标功能后 再调用显示鼠标光标功能时 将不能正常显示鼠标光标 需要加入了一 个visual布尔型变量 来取代驱动程序中的数值 6 读取按钮状态 读取或设置光标位置 Status int x int y int status union REGS regs regs x ax 3 int86 0 x33 x regs x cx y regs x dx status regs x bx 其中X Y为光标位置 status int x y status while working Status If status move to current mouse position Else if status Else no button pressed Lineto x y draw a line from last position Delay 20 delay 20ms to clear the dithering 7 移动鼠标光标 void MoveMouse int x int y REGS regs regs x ax 4 regs x cx x regs x dx y int86 0 x33 8 设置鼠标的光标形状 设置鼠标光标需要三个方面信息 鼠标的外边界 8 8点阵 16个整数 鼠标的内部形状 8 8点阵 16个整数 以及鼠标的热点的相对坐标 int x y 其中外边界和内边界连续存放 为长度为32的整型数组 int marks 32 SetCurs unsigned masks 32 x y union REGS regs struct SREGS sregs regs x ax 9 regs x bx x regs x cx y hot spot regs x dx unsigned masks segread int86 0 x33 一些不同形状的光标数据 mouse 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff Cursor mask 0 x0000 0 x0000 0 x0000 0 x0000 0 x0000 0 x0000 0 x1000 0 x13c0 0 x3ff0 0 x7ff8 0 xfff8 0 xfff8 0 x0824 0 x0822 0 x1ce2 0 x0000 empty hand 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 xffff 0 x0c00 0 x1200 0 x1200 0 x1200 0 x13fe 0 x1249 0 x1249 0 x1249 0 x7249 0 x9001 0 x9001 0 x9001 0 x8001 0 x8001 0 x4002 0 x3ffc full arrow 0 x3fff 0 x1fff 0 x0fff 0 x07ff 0 x03ff 0 x01ff 0 x00ff 0 x007f 0 x003f 0 x00ff 0 x01ff 0 x10ff 0 x30ff 0 xf87f 0 xf87f 0 xfc3f 0 x0000 0 x4000 0 x6000 0 x7000 0 x7800 0 x7c00 0 x7e00 0 x7f00 0 x7f80 0 x7e00 0 x7c00 0 x4600 0 x0600 0 x0300 0 x0300 0 x0180 full hand 0 xf3ff 0 xe1ff 0 xe1ff 0 xe1ff 0 xe001 0 xe000 0 xe000 0 xe000 0 x8000 0 x0000 0 x0000 0 x0000 0 x0000 0 x0000 0 x8001 0 xc003 0 x0c00 0 x1200 0 x1200 0 x1200 0 x13fe 0 x1249 0 x1249 0 x124
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年舞蹈行业舞蹈培训线上课程发展研究报告及未来发展趋势预测
- 2025年婴童用品行业智能母婴产品创新研究报告及未来发展趋势预测
- 2025年文化创意行业原创内容与文化传播研究报告及未来发展趋势预测
- 2025年人工智能行业智能系统与智能应用研究报告及未来发展趋势预测
- 2025年医药行业互联网医药零售模式探讨报告
- 2025年自动化行业智能制造应用与产业发展趋势研究报告及未来发展趋势预测
- 2025年化妆品行业绿色环保产品创新研究报告及未来发展趋势预测
- 2025年物流科技行业物流科技创新应用研究报告及未来发展趋势预测
- 2025年咨询服务行业人才培养与发展趋势研究报告及未来发展趋势预测
- 2025年智能交通行业智能交通管理系统创新与应用研究报告及未来发展趋势预测
- 2024-2025学年小学信息技术(信息科技)五年级全一册义务教育版(2024)教学设计合集
- 2024年秋新北师大版八年级上册物理 3.4声波的应用 教学课件
- 2024年部编版新教材语文小学一年级第一学期期中考试题及答案(二)
- 项目三任务1:认识超声波雷达(课件)
- 运输系统规划与设计 课件 第六章 客运枢纽系统规划与设计
- 2024年山东省临沂市兰山区九年级下学期一模英语试卷
- 贯彻新发展理念高中政治统编版必修二经济与社会
- 歌尔社招人才测评试卷
- 2023学年完整公开课版感叹句说课
- WJ30059-2023军用爆炸品设计安全技术规程
- 食用玫瑰生产技术规程
评论
0/150
提交评论