计算机微刊

2020-04-14 C作图与图形处理 2

2020-04-14  本文已影响0人  owlister

在图形方式下,屏幕的基本单位是像素。

像素可以看作是屏幕上能看到的一个“点”,用坐标进行定位。

坐标原点位于屏幕的左上角,屏幕的横向为X轴,纵向为Y轴。

横向有80个字节(640个位),纵向有25个字符行(每字符行有8行扫描线)。屏幕分辨率不同时,以上值也会不同。

像素是图形的基本元素,线、矩形、圆、表、纹理等图形都是由像素 组成的。

Turbo C中有两个函数可对像素进行操作,

像素函数(画点函数):

 putpixel()和 getpixel()。

putpixel()可以在指定位置用指定颜色显示一个像素,而 getpixel()用来返回屏幕上指 定位置象素的当前颜色。

这两个函数的原型分别是:

void far putpixel(int x, int y, int color);

int far getpixel(int x, int y); 

作图所用颜色符号常量及数值:

使用函数时,颜色 color 既可用符号常量(即颜色名)表示,也可用数值表示, 下面两行代码是等价的:

 putpixel(100, 200, BLUE);

 putpixel(100, 200, 1);


坐标位置函数:

1、移动画笔到指定的(x,y)位置 

void far moveto(int x, int y);

2、移动画笔从现行位置(x,y)到某一位置增量处(x+dx, y+dy) 

void far moverel(int dx, int dy);

3、得到当前画笔的 x坐标 

int far getx( );

4、得到当前画笔的 y 坐标 

int far gety( ); 


画线函数

1、两点之间画线 

void far line(int x1,int y1,int x2,int y2);

 从(x1,y1)到(x2,y2)画一直线。

2、从画笔位置到某点画线 

void far lineto(int x, int y);

 将从画笔当前位置到(x, y)处画一直线。

3、从画笔位置到某一增量位置画线 

void far linerel(int dx, int dy);

从画笔当前位置到位置增量处画一直线。若画笔原来位置是(x, y),则直线将从 (x, y)画到(x+dx, y+dy)。


函数 line()与画笔当前位置无关,并且画线后不改变画笔原来的位置。

函数 lineto()和 linerel()与画笔当前位置有关

以画线前画笔的位置作为直线的起点,画线后画笔的位置变成了当前位置。 

                                                                                                        学术著作原文出自清华大学王金鹏

上一篇 下一篇

猜你喜欢

热点阅读