动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息



本月文章推荐
..
.文本模式下的GUI设计,使用tc2.0.
.用C实现exp函数!.
.Visual FoxPro 9中新的数据处理方.
.文件加密一例.
.创建可移植的64位应用程序代码.
.TList的用法.
.C++的错误和异常处理分析.
.指针的地址分配.
.C++习题与解析(重载-02).
.Windows Sockets:阻塞.
.用键盘移动光标的简单介绍.
.取得汉字的笔画的源码(2).
.Awk 基础入门:Awk 实例编程.
.C例题讲解.
.在C++中侦测内嵌型别的存在.
.用Winsock实现语音全双工通信使用.
.C++箴言:只要有可能就推迟变量定.
.键盘谍影 键盘监视器的原理和防范.
.C++之静态联编和动态联编.

C语言图形编程(三、绘图函数-02)

发表日期:2008-3-8 |


四、图形和图像函数
(一) 像素函数
    56. putpiel() 画像素点函数
    57. getpixel()返回像素色函数
(二) 直线和线型函数
    58. line() 画线函数
    59. lineto() 画线函数
    60. linerel() 相对画线函数
    61. setlinestyle() 设置线型函数
    62. getlinesettings() 获取线型设置函数
    63. setwritemode() 设置画线模式函数
(三)、多边形函数
    64. rectangle() 画矩形函数
    65. bar() 画条函数
    66. bar3d() 画条块函数
    67. drawpoly() 画多边形函数
(四)、 圆、弧和曲线函数
    68. getASPectratio()获取纵横比函数
    69. circle()画圆函数
    70. arc() 画圆弧函数
    71. ellipse()画椭圆弧函数
    72. fillellipse() 画椭圆区函数
    73. pieslice() 画扇区函数
    74. sector() 画椭圆扇区函数
    75. getarccoords()获取圆弧坐标函数
(五)、 填充函数
    76. setfillstyle() 设置填充图样和颜色函数
    77. setfillpattern() 设置用户图样函数
    78. floodfill() 填充闭域函数
    79. fillpoly() 填充多边形函数
    80. getfillsettings() 获取填充设置函数
    81. getfillpattern() 获取用户图样设置函数
(六)、图像函数
    82. imagesize() 图像存储大小函数
    83. getimage() 保存图像函数
    84. putimage() 输出图像函数



四、图形和图像函数
   对许多图形应用程序,直线和曲线是非常有用的。但对有些图形只能靠操作单个像素才能画出。当然假如没有画像素的功能,就无法操作直线和曲线的函数。而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。
(一) 像素函数

56. putpixel() 画像素点函数
功能: 函数putpixel() 在图形模式下屏幕上画一个像素点。
用法: 函数调用方式为void putpixel(int x,int y,int color);
说明: 参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值。
       此函数相应的头文件是graphics.h
返回值: 无
例: 在屏幕上(6,8)处画一个红色像素点:
   putpixel(6,8,RED);

57. getpixel()返回像素色函数
功能: 函数getpixel()返回像素点颜色值。
用法: 该函数调用方式为int getpixel(int x,int y);
说明: 参数x,y为像素点坐标。
       函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数)。
       这个函数相应的头文件为graphics.h
返回值: 返回一个像素点色彩值。
例: 把屏幕上(8,6)点的像素颜色值赋给变量color。
   color=getpixel(8,6);

(二) 直线和线型函数
   有三个画直线的函数,即line(),lineto(),linerel()。这些直线使用整型坐标,并相对于当前图形视口,但不一定受视口限制,假如视口裁剪标志clip为真,那么直线将受到视口边缘截断;假如clip为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线截断到屏幕极限。
   有两种线宽及几种线型可供选择,也可以自己定义线图样。下面分别介绍直线和线型函数。

58. line() 画线函数
功能: 函数line()使用当前绘图色、线型及线宽,在给定的两点间画一直线。
用法: 该函数调用方式为void line(int startx,int starty,int endx,int endy);
说明: 参数startx,starty为起点坐标,endx,endy为终点坐标,函数调用前后,图外形态下屏幕光标(一般不可见)当前位置不改变。
       此函数相应的头文件为graphics.h
返回值: 无
例: 见函数60.linerel()中的实例。

59. lineto() 画线函数
功能: 函数lineto()使用当前绘图色、线型及线宽,从当前位置画一直线到指定位置。
用法: 此函数调用方式为void lineto(int x,int y);
说明: 参数x,y为指定点的坐标,函数调用后,当前位置改变到指定点(x,y)。
       该函数对应的头文件为graphics.h
返回值: 无
例: 见函数60.linerel()中的实例。

60.linerel() 相对画线函数
功能: 函数linerel() 使用当前绘图色、线型及线宽,从当前位置开始,按指定的水平和垂直偏移距离画一直线。
用法: 这个函数调用方式为void linerel(int dx,int dy);
说明: 参数dx,dy分别是水平偏移距离和垂直偏移距离。
       函数调用后,当前位置变为增加偏移距离后的位置,例如,原来的位置是(8,6),调用函数linerel(10,18)后,当前位置为(18,24)。
返回值:无
例: 下面的程序为画线函数调用实例:
#include<graphics.h>
void main()
{
   int driver,mode;
   driver=DETECT;
   mode=0;
   initgraph(&driver,&mode,"");
   setcolor(15);
   line(66,66,88,88);
   lineto(100,100);
   linerel(36,64);
   getch();
   restorecrtmode();
}

61. setlinestyle() 设置线型函数
功能: setlinestyle() 为画线函数设置当前线型,包括线型、线图样和线宽。
用法: setlinestyle() 函数调用方式为void setlinestyle(int stly,unsigned pattern,int width);
说明: 参数style为线型取值,也可以用相应名称表示,如表1-10中所示。
       参数pattern用于自定义线图样,它是16位(bit)字,只有当style=USERB99v_LINE(值为1)时,pattern的值才有意义,使用用户自定义线图样,与图样中“1”位对应的像素显示,因此,pattern=0xFFFF,则画实线;pattern=0x9999,则画每隔两个像素交替显示的虚线,假如要画长虚线,那么pattern的值可为0xFF00和0xF00F,当style不为USERB99v_LINE值时,虽然pattern的值不起作用,但扔须为它提供一个值,一般取为0。
    参数wigth用来设定线宽,其取值见表1-11,表中给出了两个值,即1和3,实际上,线宽取值为2也是可以接受的。
    若用非法参数调用setlinestyle()函数,那么graphresult()会返回错误代码,并且当前线型继续有效。
    Turbo C提供的线型与线宽定义在头文件graphics.h中,表1-10和1-11分别列出了参数的取值与含义。

表1-10  线型
-----------------------------------------------------
   名        称      取 值         含    义
-----------------------------------------------------
   SOLID_LINE          0             实线
   DOTTED_LINE         1             点线
   CNTER_LINE          2        &

上一篇: 人气:555
下一篇:C语言图形编程(三、绘图函数-01) 人气:789
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号