home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2001 January
/
VPR0101A.BIN
/
OLS
/
LZR100
/
lzr100.lzh
/
Source
/
GIF.h
next >
Wrap
C/C++ Source or Header
|
2000-10-08
|
3KB
|
67 lines
/*--------------------------------------------------------------------------------------*/
/* GIFヘッダ解析用 ヘッダファイル Ver 1.00 */
/* for VisualStudio6.0 only */
/* ※デコード関数のプロトタイプ付き */
/* Copyright (C) 2000 DJ☆Uchi [H.Uchida] */
/*--------------------------------------------------------------------------------------*/
#include <windows.h>
/*--------------------------------------------------------------------------------------*/
/* GIFHEADER構造体 */
/* GIFの画面記述情報構造体 */
/* ※GIF全体の情報を記述したヘッダー部。 */
/*--------------------------------------------------------------------------------------*/
#include <pshpack1.h> //構造体のメンバ境界を1バイトにする
typedef struct GIFHEADER {
DWORD signature1; //GIF識別記号(low-4bit="GIF8")
WORD signature2; //GIF識別記号(high-2bit="7a" or "9a")
WORD width; //このGIF全体を表示するのに必要な横pixel数
WORD height; //このGIF全体を表示するのに必要な縦pixel数
BYTE state; //ステータス情報
BYTE bgcolor; //背景色
BYTE aspect; //アスペクト比
} GIFHEADER;
#include <poppack.h>
/*--------------------------------------------------------------------------------------*/
/* GIFIMAGEHEADER構造体 */
/* GIFのイメージ記述情報構造体 */
/* ※GIF画像一枚についての情報を記述したもの。 */
/*--------------------------------------------------------------------------------------*/
#include <pshpack1.h> //構造体のメンバ境界を1バイトにする
typedef struct GIFIMAGEHEADER {
BYTE split; //イメージ分離記号(=0x2C)
WORD left; //画面左上からの表示位置(横pixel数)
WORD top; //画面左上からの表示位置(縦pixel数)
WORD width; //この画像の横pixel数
WORD height; //この画像の縦pixel数
BYTE state; //ステータス情報
} GIFIMAGEHEADER;
#include <poppack.h>
/*--------------------------------------------------------------------------------------*/
/* GIFRGB構造体 */
/* GIFのパレット構造体 */
/* ※RGB順の並びで3バイト構成。 */
/*--------------------------------------------------------------------------------------*/
#include <pshpack1.h> //構造体のメンバ境界を1バイトにする
typedef struct GIFRGB {
BYTE red; //赤成分
BYTE green; //緑成分
BYTE blue; //青成分
} GIFRGB;
#include <poppack.h>
/*--------------------------------------------------------------------------------------*/
/* GifDecode() */
/* GIF画像(最初の一枚のみ)を展開する。 */
/* ※入力はGIFデータ、出力はDIB。 */
/* ※今回のプラグインの要。LZW理論を使用していません。 */
/*--------------------------------------------------------------------------------------*/
void GifDecode(BYTE *rgb_data, BYTE *gif_data, DWORD width, DWORD height,
DWORD align, DWORD inter, WORD color, DWORD size);