📄 imginfo.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <string.h>
#include "..\..\3Dlib\image.h"
GLint ConvertToFactorOf2 (GLint num);
int main (int argc, char* argv[])
{
struct _finddata_t c_file;
long hFile;
char lowerCase[_MAX_PATH];
char *wildcard;
if (argc == 2) {
wildcard = argv[1];
} else {
printf("Usage: ImgInfo file\n");
printf("where file is an image file (gif, pcx, lbm, or bmp) ");
printf ("or filename with wildcard\n");
return -1;
}
if( (hFile = _findfirst( wildcard, &c_file )) != -1L ) {
do {
if(c_file.attrib & _A_SUBDIR) {
// Skip sub directories
}
else {
strcpy( lowerCase, c_file.name );
strlwr( lowerCase );
CTextureFileMemory fi;
GLint i = fi.glOpenFileMem ((GLbyte *) lowerCase);
if (i == 1) {
fi.imageType = CheckImageType ((GLbyte *) lowerCase);
if (fi.imageType == IMAGE_TYPE_UNKNOWN) {
fi.glCloseFileMem ();
}
else {
fi.glReadFileMem ();
i = ReadTextureImage (&fi);
if (i == GOOD_READ) {
GLint w, h;
w = ConvertToFactorOf2 (fi.image.width);
h = ConvertToFactorOf2 (fi.image.height);
printf ("%-14s w = %3d, h = %3d ",
lowerCase, fi.image.width, fi.image.height);
if (w != fi.image.width || h != fi.image.height)
printf ("--> w = %3d, h = %3d", w, h);
printf ("\n");
glReleaseMemory ((char *) fi.image.palette);
glReleaseMemory ((char *) fi.image.image);
}
}
}
}
} while( _findnext( hFile, &c_file ) == 0 );
}
_findclose(hFile);
return 0;
}
GLint ConvertToFactorOf2 (GLint num)
{
if (num >= 256) return 256;
if (num == 128) return 128;
if (num == 64) return 64;
if (num <= 32) return 32;
if (num & 0x80) return 256;
if (num & 0x40) return 128;
if (num & 0x20) return 64;
return 32;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -