GIFファイルの幅と高さ

/**
* GIFファイルの画像サイズを取得する
*/
bool getGifSize(LPCTSTR path, UINT* width, UINT* height)
{
FILE* f = _tfopen(path, _T("rb"));
if(!f) return false;

// HEADER
BYTE szSignature[6];// (GIF87a or GIF89a)
if(fread(szSignature, sizeof(BYTE), 6, f) < 6){ fclose(f); return false; }
if(memcmp(szSignature, "GIF", 3 ) != 0){ fclose(f); return false; }

// LOGICAL SCREEN DESCRIPTOR
WORD ScreenWidth; // Logical Screen Width
if(fread(&ScreenWidth, sizeof(WORD), 1, f) < 1){ fclose(f); return false; }

WORD ScreenHeight; // Logical Screen Height
if(fread(&ScreenHeight, sizeof(WORD), 1, f) < 1){ fclose(f); return false; }

*width  = (UINT)ScreenWidth;
*height = (UINT)ScreenHeight;

fclose(f);
return true;
}
最終更新:2012年04月25日 10:57
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。