纯C语言——电子相册


本系统仅供学习参考。具体说明请看压缩包内的“系统开发说明书”。
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include “def.h“
#include “link.h“

/************************显示图片函数********************************************/
void view(char *fname)
{
    FILE *fp;
    int midxmidy;
    int widthheightgd=DETECTgmij;
    ColorBGR *buffer;
    if((fp=fopen(fname“rb“))==NULL) /*打开文件,并且判断文件是否存在*/
    { 
        cprintf(“Can‘t find file %s“fname);
        exit(1); 
    }

    installuserdriver(“Svga64k“return_SVGA64K_mode);/*对于svga64k必需执行该函数以安装BGI驱动*/

    initgraph(&gd&gm““); /*执行TC默认的BGI初始化函数 */

    fseek(fp18SEEK_SET);
    fread(&width41fp);      /*图象宽度*/ 
    fread(&height41fp);     /*图象长度*/ 
    buffer=(ColorBGR *)malloc(width*sizeof(ColorBGR));/*为一行所有的像素的颜色开创空间,用来保存同一个宽度上的每个点的颜色值*/
    fseek(fp54SEEK_SET);     /*定位文件指针指向颜色存储区*/
    midx=(getmaxx()-width)/2;
    midy=(getmaxy()-height)/2;
    for(j=height-1;j>=0;j--) 
    { 
        fread(bufferwidth*sizeof(ColorBGR)1fp); /*读取该行像素的所有点的颜色*/         
        if(width%4)
        {
            fseek(fp(4-width%4)SEEK_CUR); /*宽度修正*/ 
        }
        for(i=0;i        {
            setrgbpalette(1026buffer[i].r>>3buffer[i].g>>2buffer[i].b>>3); /*重设每个点的颜色*/
            putpixel(midx+imidy+j0);  /*画点*/
        }

    }
    free(buffer);
    fclose(fp);
    sleep(3);
    closegraph();
}

/********************自定浏览函数***********************************/
void auto_mode()
{   
    struct bmpfile *Head=NULL*Cur=NULL;
    int key;
    Head=file_link(); /* 创建文件名链表 */
    if(Head==NULL)
    {
        printf(“Empty link.“);
        return;
    }
    Cur=Head;
    do
    {   key=bioskey(1);
        if(key!=0)
        {
            exit(0);
        }
        view(Cur->filename); /*显示图片,view函数包含在view.h头文件中*/
        Cur=Cur->next;
    }while(Cur!=NULL);
}

void main()
{
    auto_mode();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2070  2009-03-19 09:15  (C语言)电子相册auto.c

     文件        315  2009-03-18 21:40  (C语言)电子相册def.h

     文件        509  2009-03-18 21:11  (C语言)电子相册drawmat.h

     文件        643  2009-03-18 21:25  (C语言)电子相册end.h

     文件       4260  2009-03-18 21:30  (C语言)电子相册face.h

     文件    2359350  2009-03-12 15:15  (C语言)电子相册image1.bmp

     文件     737718  2009-03-13 19:50  (C语言)电子相册image10.bmp

     文件    1440054  2009-03-13 19:54  (C语言)电子相册image11.bmp

     文件    1351254  2009-03-13 19:54  (C语言)电子相册image12.bmp

     文件     892118  2009-03-13 19:55  (C语言)电子相册image13.bmp

     文件    1440054  2009-03-13 19:55  (C语言)电子相册image14.bmp

     文件    2359350  2009-03-13 19:55  (C语言)电子相册image15.bmp

     文件    2359350  2009-03-13 20:38  (C语言)电子相册image16.bmp

     文件     562554  2009-03-18 11:41  (C语言)电子相册image17.bmp

     文件     724854  2009-03-18 11:42  (C语言)电子相册image18.bmp

     文件     589878  2009-03-19 08:52  (C语言)电子相册image2.bmp

     文件    1440054  2009-03-18 11:47  (C语言)电子相册image20.bmp

     文件    1440054  2009-03-18 11:48  (C语言)电子相册image21.bmp

     文件    1440054  2009-03-18 11:50  (C语言)电子相册image22.bmp

     文件     596454  2009-03-18 11:54  (C语言)电子相册image23.bmp

     文件     921654  2009-03-19 08:52  (C语言)电子相册image3.bmp

     文件     796374  2009-03-19 08:53  (C语言)电子相册image4.bmp

     文件    1185846  2009-03-19 08:58  (C语言)电子相册image5.bmp

     文件    2359350  2009-03-12 19:10  (C语言)电子相册image6.bmp

     文件    1185846  2009-03-19 08:59  (C语言)电子相册image7.bmp

     文件    2211894  2009-03-12 19:14  (C语言)电子相册image8.bmp

     文件    2359350  2009-03-12 15:20  (C语言)电子相册image9.bmp

     文件        472  2009-03-19 09:16  (C语言)电子相册index.c

     文件        437  2009-03-18 21:32  (C语言)电子相册initgr.h

     文件       1313  2009-03-18 21:36  (C语言)电子相册link.h

............此处省略16个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)