请输入您要查询的百科知识:

 

词条 imagesize
释义

函数名: imagesize

功 能: 返回保存位图像所需的字节数

用 法: unsigned far imagesize(int left, int top, int right, int bottom);

头文件: conio.h

程序例:

#include <stdio.h>

#include <conio.h>

#include <dos.h>

#include <graphics.h>

#define ARROW_SIZE 10

void draw_arrow(int x,int y);

int main(void)

{

int gdriver,gmode,errorcode;

int x,y,maxx;

int *arrow;

unsigned size;

/* initialize graphics and local variables */

gdriver=DETECT;

initgraph(&gdriver,&gmode,"");

/* read the result of initialization */

errorcode=graphresult();

if(errorcode!=grOk) /* an error occurred */

{

printf("Graphics error: %s\",grapherrormsg(errorcode));

getch();

exit(1); /* terminate with an error code */

}

maxx=getmaxx();

x=0;

y=getmaxy()/2;

/* calculate the size of the image */

size=imagesize(x,y-ARROW_SIZE,x+2*ARROW_SIZE,y+ARROW_SIZE);

/* allocate memory to hold the image */

arrow=(int*)malloc(size);

/* grab the image */

getimage(x,y-ARROW_SIZE,x+2*ARROW_SIZE,y+ARROW_SIZE,arrow);

/* repeat until a key is pressed */

while(!kbhit())

{

/* plot new image */

draw_arrow(x,y);

delay(400); /* delay time */

/* erase old image */

putimage(x,y-ARROW_SIZE,arrow,AND_PUT);

x+=2*ARROW_SIZE;

if(maxx-x<2*ARROW_SIZE) x=0;

}

/* clean up */

free(arrow);

closegraph();

return 0;

}

/* draw an arrow on the screen */

void draw_arrow(int x,int y)

{

moveto(x,y);

linerel(0,-1*ARROW_SIZE);

linerel(2*ARROW_SIZE,ARROW_SIZE);

linerel(-2*ARROW_SIZE,ARROW_SIZE);

linerel(0,-1*ARROW_SIZE);

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/2 2:04:33