putimage

C語言圖形函式,包含在頭檔案graphics.h。功 能 在螢幕上輸出一個點陣圖

基本介紹

  • 外文名:putimage
  • 定義C語言圖形函式
  • 函式名:putimage
  • 功 能:在螢幕上輸出一個點陣圖
定義,函式名,功 能,用 法,示例程式,

定義

C語言圖形函式,包含在頭檔案graphics.h

函式名

putimage

功 能

螢幕上輸出一個點陣圖

用 法

voidfar putimage(int x, int y, void far *bitmap, int op);注釋:x,y表示螢幕上以(x,y)左上角的區域,int op可以是:COPY_PUT、OR_PUT、AND_PUT、XOR_PUT、NOT_PUT等,分別進行複製、’或、與、異或、非等運算。
void putimage(int left, int top, void *buf,,int ops)
(left,top):輸出螢幕圖像的左上角,即輸出圖像的起始位置。
buf:指向要輸出的記憶體中的圖像。
ops:控制圖像以何種方式輸出到螢幕上。

示例程式

#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#define ARROW_SIZE 10void 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:");        getch();        exit(1); /* 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*ARROW_SIZE), y+ARROW_SIZE);    /* allocate memory to hold the image */    arrow = malloc(size);    /* grab the image */    getimage(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE, arrow);    /* repeat until a key is pressed */    while (!kbhit())    {        /* 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);    closegraph();    return 0;}void draw_arrow(int x, int y){    /* draw an arrow on the screen */    moveto(x, y);    linerel(4*ARROW_SIZE, 0);    linerel(-2*ARROW_SIZE, -1*ARROW_SIZE);    linerel(0, 2*ARROW_SIZE);    linerel(2*ARROW_SIZE, -1*ARROW_SIZE);}

相關詞條

熱門詞條

聯絡我們