| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 344 人关注过本帖, 1 人收藏
标题:写了一个列出图片宽x高的 实用小程序,...
只看楼主 加入收藏
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
结帖率:94.72%
收藏(1)
已结贴  问题点数:20 回复次数:2 
写了一个列出图片宽x高的 实用小程序,...
#include <stdio.h>
#include <string.h>
#include <windows.h>

void getImageWidthAndHeight(const char* filename);
static unsigned int getInt(FILE* fp);

int main(void)
{
    WIN32_FIND_DATA findData;
    HANDLE findHadle = INVALID_HANDLE_VALUE;
   
    char path[MAX_PATH] = "Tetris\\*.bmp"; // directory specification
   
    findHadle = FindFirstFile(path, &findData);
   
    if(findHadle == INVALID_HANDLE_VALUE)
    {
        printf("Error: invalid path\n");
    }
   
    getImageWidthAndHeight(findData.cFileName);
   
    while(FindNextFile(findHadle, &findData) != 0)
    {
        getImageWidthAndHeight(findData.cFileName);
    }
   
    FindClose(findHadle);
   
    return 0;
}

void getImageWidthAndHeight(const char* filename)
{
    FILE* file;
    char path[50] = {0};
    char log[50] = {0};
   
    int width, height;

    sprintf(path, "Tetris\\%s", filename);
   
    file = fopen(path, "rb");

    fseek(file, 18, SEEK_CUR);
   
    width = getInt(file);
    height = getInt(file);
    fclose(file);
   
    sprintf(log, "%s:  %d x %d\n", filename, width, height);
   
    file = fopen("log.txt", "a+");
    fwrite(log, sizeof(char), strlen(log), file);
    fclose(file);
}

static unsigned int getInt(FILE* fp)
{
    unsigned int c, c1, c2, c3;
   
    /* get 4 bytes*/
    c = getc(fp);  
    c1 = getc(fp);  
    c2 = getc(fp);  
    c3 = getc(fp);
   
    return c +
        (c1 << 8) +
        (c2 << 16) +
        (c3 << 24);
}

Exit.bmp:  145 x 97
Help.bmp:  264 x 283
MainMenu.bmp:  301 x 416
Map.bmp:  300 x 416
Pause.bmp:  141 x 46
搜索更多相关主题的帖子: 图片 include invalid 
2011-03-25 18:44
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
如果不习惯那种恶心的函数, 也可以这么做
int i ;
char name[5][30] =
{
    {"res\\MainMenu.bmp"},
    ...
};

for (i = 0; i < 5; i++)
{
    getImageWithdAndHeight(name[i]);
}

我就是真命天子,顺我者生,逆我者死!
2011-03-25 18:50
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:20 
神马时候才有斑竹般di功力呢?

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-03-25 19:18
快速回复:写了一个列出图片宽x高的 实用小程序,...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030185 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved