双截龙3金手指密码:只要你回答Yes or No ,就有分拿啊!

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 04:42:09
靠,上次忘记提问了。 我是学C的 学到了用C显示BMP 256色的图片.不过要显示真的很麻烦啊,刚才TC 中有个教别人显示图片的例子.例子如下:

/* Svga64k.bgi 测试文件 */

#include "graphics.h"
#include "Svga256.h"
#include "stdio.h"
#include "fcntl.h"
#include "malloc.h"
#include "io.h"

int huge Return_SVGA256(void)
{
return(SVGA320x200x256); /* 返回各种分辨率的对应编号 0~6 宏定义参见 Svga256.h */
}

int main(void)
{
int width, height, i=DETECT, j=0, x0, y0, fp;
unsigned char fix, *buffer, pix24b[4];
DacPalette256 dac256;
installuserdriver("Svga256", Return_SVGA256); /* 对于svga256必需执行该函数以安装BGI驱动 */
initgraph(&i, &j, ""); /* 执行TC默认的BGI初始化函数 */

if((fp = open("xy_256.bmp", O_RDONLY | O_BINARY)) == -1)
{
puts("Can't find file ""xy_256.bmp"".");
return 1;
}
lseek(fp, 18, SEEK_SET);
read(fp, &width, 4);
read(fp, &height, 4);
fix = (width % 4) ? (4 - width % 4) : 0;
x0 = (320 - width) / 2;
y0 = (200 - height) / 2;
lseek(fp, 54, SEEK_SET);
for(i = 0; i < 256; i++) /* 按照该图片的DAC色表设置色彩寄存器 */
{
read(fp, pix24b, 4); /* 读取DAC分量信息 */
/* 设置调色板 */
dac256[i][0] = pix24b[2] >> 2;
dac256[i][1] = pix24b[1] >> 2;
dac256[i][2] = pix24b[0] >> 2;
}
setvgapalette256(&dac256); /* 应用调色板, 定义参见 Svga256.h */
buffer = (unsigned char *)malloc(width);
for(j = height - 1; j >= 0; j--)
{
read(fp, buffer, width);
lseek(fp, fix, SEEK_CUR);
for(i = 0; i < width; i++)
putpixel(x0+i, y0+j, buffer[i]);
}
free(buffer);
close(fp);
getch();
closegraph();
return 0;
}

这个例子我要不要把它完全记得啊,还是以后要显示图片就把它复制上去就好了啊??我看要记得好像难了点哦!

不必完全记住。到要用时参考一下即可。

这些是显示过程中系统自动为你备案的文件,通常保存在记事本里,不必记住的。你到系统盘C盘查找就可以了。

这些东西在网上一般都会有的, 不地它把复制下来是对的,以备不时之需。

Yes