📄 imagehandle_tga.h
字号:
/*
* Copyright (C) =USTC= Fu Li
*
* Author : Fu Li
* Create : 2004-4-9
* Home : http://www.crazy-bit.com/
* Mail : crazybit@263.net
* History :
*/
#ifndef __PCL_IMAGE_HANDLE_TGA__2004_04_09__H__
#define __PCL_IMAGE_HANDLE_TGA__2004_04_09__H__
#include "ImageHandleBase.h"
#include "../compress/Rle.h"
//class FCImageHandle ;
class FCImageHandle_Tga ;
//=============================================================================
/**
* TGA image handler.
*/
class FCImageHandle_Tga : public FCImageHandle
{
virtual bool LoadImageMemory (const BYTE* pStart, int nFileSize) ;
/**
* @param nFlag : 1(use RLE compress) / -1(not use), default(not use)
*/
virtual bool SaveImage (const char* szFileName, int nFlag = -1) ;
// Definitions for TGA image types.
enum
{
TGA_NULL = 0,
TGA_UCPAL = 1,
TGA_UCRGB = 2,
TGA_UCMONO = 3,
TGA_RLEPAL = 9,
TGA_RLERGB = 10,
TGA_RLEMONO = 11,
};
// TGA file header (same as BMP format, pixel store from left-bottom)
#pragma pack(1)
struct TGAHEAD
{
BYTE byID_Length ; // 图像识别信息大小
BYTE byPalType ; // 00 : 无调色板 01 : 有调色板
BYTE byImageType ; // 见上
WORD wPalFirstNdx ; // 调色板起始索引
WORD wPalLength ; // 调色板长度
BYTE byPalBits ; // 调色板中每一颜色所占位数
WORD wLeft ; // 相对于屏幕左下角X坐标
WORD wBottom ; // 相对于屏幕左下角Y坐标
WORD wWidth ; // 宽
WORD wHeight ; // 高
BYTE byColorBits ; // 色彩位数
struct
{//试验结构
BYTE AlphaBits : 4 ; // 每像素Alpha Channel位数
BYTE HorMirror : 1 ; // 为1表示图像数据左右颠倒存储
BYTE VerMirror : 1 ; // 为1表示图像数据上下颠倒存储
BYTE Reserved : 2 ;
} Descriptor ;
}; // 18 - Bytes
#pragma pack()
};
//=============================================================================
// inline Implement
//=============================================================================
#include "ImageHandle_Tga.inl"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -