词条 | blkget |
释义 | BLKGET DOS SVGACC图形开发库函数 原型: extern int far blkget (int x1, int y1, int x2, int y2,RasterBlock far *gfxblk) 输入: X1,Y1-块的左上角 X2,Y2-块的右下角 输出: 成功是返回1,否则返回0 gfxblk-检索到的位图数据 用法: BKGET将由(X1, Y1)-(X2, Y2)定义的块内的数据存储到gfxblk引用的变量中。gfxblk必须为RasterBlock结构加上四个字节分配内存,其中,RasterBlock结构的大小为[(X2-X1+1)*(Y2-Y1+1)]个字节;四个字节分别是该结构宽和高的整型值。 然而还需要注意的是gfxblk可以相当大。如果gfxblk的大小不足的话,BLKGET会在超出gfxblk的空间填写数据并且由此可能导致系统崩溃。BLKGET会强制执行X2,X1和Y2,Y1。还有指定的坐标必须在当前的分辨率下是有效的。 例子 /* * Places 1/4 of a circle at the center of the screen */ #include <stdlib.h> #include <conio.h> #include "svgacc.h" void main(void) { int vmode; int a,b,c,d; RasterBlock *blkdata; vmode = videomodeget(); if ( !whichvga() || (whichmem() < 512)) exit(1); res640(); drwcircle(1,10,30,30,20); fillarea(30,30,10,7); a = b = 0; c = d = 30; blkdata = (RasterBlock *)malloc((c-a+1)*(d-b+1)+4); blkget(a,b,c,d,blkdata); blkput(1,320,240,blkdata); getch(); videomodeset(vmode); exit(0); } |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。