imagesize
raw OCR
Returns the number of bytes required to store a bit image.
Defined in header <graphics.h>
Syntax
#include <graphics.h>
unsigned far imagesize(int left, int top, int right, int bottom);
Portability
| DOS | UNIX | Windows | ANSI C | C++ only |
|---|---|---|---|---|
| ■ |
Remarks
imagesize determines the size of the ijiemory area required to store a bit image. If the size required for the selected image is greater than or equal to 64K - 1 bytes, imagesize returns 0xFFFF (-1).
Return value
imagesize returns the size of the required memory area in bytes.
See also
Example
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define ARROW_SIZE 10
void draw_arrow (int x, int y);
int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;
void *arrow;
int X, y, maxx;
unsigned int size;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult ();
if (errorcode != grOk) { /* an error occurred */
printf{"Graphics error: %s\n", grapherrormsg (errorcode));
printf("Press any key to halt:");
getchO ;
exit(l); /* terminate with an error code */
}
maxx = getmaxx( );
X = 0;
y = getmaxy () / 2 ;
/* draw the image to be grabbed */
draw_arrow(x, y) ;
/* calculate the size of the image */
size = imagesize(x, y-ARROW_SIZE, x+ (4*ARR0W_SIZE), y+ARROW_SIZE)
/* allocate memory to hold the image */
arrow = malloc(size) ;
/* grab the image */
getimage(x, y-ARROW_SIZE, x+ (4*ARR0W_SIZE), y+ARROW_SIZE, arrow);
/* repeat until a key is pressed */
while (IkbhitO) {
/* erase old image */
putimage(x, y-ARROW_SIZE, arrow, XOR_PUT) ;
X += ARROW_SIZE;
if (x >= maxx)
X = 0;
/* plot new image */
putimage(x, y-ARROW_SIZE, arrow, XOR_PUT) ;
}
/* clean up */
free (arrow);
closegraphO ;
return 0;
}
void draw_arrow (int x, int y)
{
/* draw an arrow on the screen */
moveto(x, y);
linerel(4*ARR0W_SIZE, 0);
linerel(-2*ARR0W_SIZE, -1*ARR0W_SIZE) ;
linereKO, 2*ARR0W_SIZE) ;
linerel(2*ARR0W_SIZE, -1*ARR0W_SIZE) ;
Differences from modern implementations
Nothing recorded yet.
Modern references
These are search links, not yet checked by hand.
Stable link: /3.1/graphics.h/imagesize/
· short form /3.1/imagesize/