「tgaFile(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「DataManip/'''tgaFile'''はtgaデータのためのAPI です。 == 定数 == typedef enum tgaFileColorMap { tgaFileColorMapNoColorMap=0, tgaFileColorMapColorMap...」)
 
(初期化)
行78: 行78:
 
== API ==
 
== API ==
 
===初期化===
 
===初期化===
 +
tgaがNULLの場合はメモリを確保します。fptがNULLでない場合はヘッダを読み出して、tgaへ格納します。
 
  extern tgaFile* tgaFileInit(tgaFile* tga, FILE* fpt, int mode);
 
  extern tgaFile* tgaFileInit(tgaFile* tga, FILE* fpt, int mode);
 +
 
  extern tgaFile* tgaFileImageInit(tgaFile* tga, FILE* fpt, int mode);
 
  extern tgaFile* tgaFileImageInit(tgaFile* tga, FILE* fpt, int mode);
  

2014年10月7日 (火) 08:13時点における版

DataManip/tgaFiletgaデータのためのAPI です。

定数

typedef enum tgaFileColorMap {
	tgaFileColorMapNoColorMap=0,
	tgaFileColorMapColorMap=1
} tgaFileColorMap;
typedef enum tgaFileImageType {
	tgaFileImageTypeNoImage  = 0,	
	tgaFileImageTypeColorMappedImage = 1,
	tgaFileImageTypeTrueColorImage   = 2,
	tgaFileImageTypeBlackAndWhite    = 3,
	tgaFileImageTypeRLEColorMappedImage = 9,
	tgaFileImageTypeRLETrueColorImage   = 10,
	tgaFileImageTypeRLEBlackAndWhite    = 11
} tgaFileImageType;
typedef enum tgaFileImageOrigin {
	tgaFileImageOriginBottomLeft  = 0,
	tgaFileImageOriginBottomRight = 1,
	tgaFileImageOriginTopLeft     = 2,
	tgaFileImageOriginTopRight    = 3 
} tgaFileImageOrigin;

構造体

typedef struct tgaFileColorMapSpecification {
	short FirstEntryIndex;
	short ColorMapLength;
	unsigned char ColorMapEntrySize;
} tgaFileColorMapSpecification;
typedef union tgaFileDescriptor {
	unsigned char All;
	struct {
		unsigned char AlphaChannelBits:4;
		unsigned char ImageOrigin:2;
		unsigned char Unused:2;
	} Bit;
} tgaFileDescriptor;
typedef struct tgaFileImageSpecification {
	short Xorigin;
	short Yorigin;
	short Width;
	short Height;
	unsigned char Depth;
	tgaFileDescriptor Descriptor;
} tgaFileImageSpecification;
typedef struct tgaFileHeader {
	unsigned char IDLength;                        /*  1 Byte */
	unsigned char ColorMapType;                    /*  1 Byte */              
	unsigned char ImageType;                       /*  1 Byte */
	tgaFileColorMapSpecification ColorMapSpec;     /*  5 Bytes */
	tgaFileImageSpecification ImageSpec;           /* 10 Bytes */
} tgaFileHeader;                                   /* 18 Bytes */ 
typedef unsigned char tgaFileImageID;
typedef unsigned char tgaFileColorMapData;
typedef unsigned char tgaFileImageData;
typedef unsigned char tgaFileDeveloperData;
typedef struct tgaFile {
	tgaFileHeader        Header;                   /* Field 1-5 : fixed: 18 Bytes */
	tgaFileImageID*      ImageID;                  /* Field 6: variable */
	tgaFileColorMapData* ColorMapData;             /* Field 7: variable */
	tgaFileImageData*    Image;                /* Field 8: variable */
	tgaFileDeveloperData* DeveloperData;           /* Field 9: variable */ 

	/* Additional Information */
	int flagHeader; 
	int ImageDataOffset;
	int ImageDataBytes;
} tgaFile;

API

初期化

tgaがNULLの場合はメモリを確保します。fptがNULLでない場合はヘッダを読み出して、tgaへ格納します。

extern tgaFile* tgaFileInit(tgaFile* tga, FILE* fpt, int mode);
extern tgaFile* tgaFileImageInit(tgaFile* tga, FILE* fpt, int mode);

tgaファイル読み出し

extern tgaFile* tgaFileHeaderRead(tgaFile* tga, FILE* fpt, int mode);
extern tgaFile* tgaFileImageDataRead(tgaFile* tga, FILE* fpt, int mode);
extern tgaFile* tgaFileRead(tgaFile* tga, FILE* fpt, int mode);

tgaファイル出力

extern void tgaFileHeaderPrint(tgaFile* tga, FILE* out, int mode);