📄 frxpngimage.hpp
字号:
#pragma option push -w-inl
/* Exception.CreateResFmt */ inline __fastcall EPNGInvalidNewSize(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateHelp */ inline __fastcall EPNGInvalidNewSize(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmtHelp */ inline __fastcall EPNGInvalidNewSize(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResHelp */ inline __fastcall EPNGInvalidNewSize(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmtHelp */ inline __fastcall EPNGInvalidNewSize(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~EPNGInvalidNewSize(void) { }
#pragma option pop
};
class DELPHICLASS EPNGInvalidSpec;
class PASCALIMPLEMENTATION EPNGInvalidSpec : public Sysutils::Exception
{
typedef Sysutils::Exception inherited;
public:
#pragma option push -w-inl
/* Exception.Create */ inline __fastcall EPNGInvalidSpec(const AnsiString Msg) : Sysutils::Exception(Msg) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmt */ inline __fastcall EPNGInvalidSpec(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateRes */ inline __fastcall EPNGInvalidSpec(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmt */ inline __fastcall EPNGInvalidSpec(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateHelp */ inline __fastcall EPNGInvalidSpec(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmtHelp */ inline __fastcall EPNGInvalidSpec(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResHelp */ inline __fastcall EPNGInvalidSpec(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmtHelp */ inline __fastcall EPNGInvalidSpec(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~EPNGInvalidSpec(void) { }
#pragma option pop
};
typedef tagRGBTRIPLE TRGBLine[65536];
typedef tagRGBTRIPLE *pRGBLine;
#pragma pack(push,1)
struct TMAXBITMAPINFO
{
public:
#pragma pack(push,1)
tagBITMAPINFOHEADER bmiHeader;
#pragma pack(pop)
tagRGBQUAD bmiColors[256];
} ;
#pragma pack(pop)
#pragma option push -b-
enum TPNGTransparencyMode { ptmNone, ptmBit, ptmPartial };
#pragma option pop
typedef unsigned *pCardinal;
struct TRGBPixel;
typedef TRGBPixel *pRGBPixel;
#pragma pack(push,1)
struct TRGBPixel
{
public:
Byte B;
Byte G;
Byte R;
} ;
#pragma pack(pop)
typedef Byte TByteArray[65536];
typedef Byte *pByteArray;
typedef void *TPointerArray[65536];
typedef void * *pPointerArray;
class DELPHICLASS TPNGPointerList;
class DELPHICLASS TPNGObject;
#pragma option push -b-
enum TFilter { pfNone, pfSub, pfUp, pfAverage, pfPaeth };
#pragma option pop
typedef Set<TFilter, pfNone, pfPaeth> TFilters;
typedef Shortint TCompressionLevel;
#pragma option push -b-
enum TInterlaceMethod { imNone, imAdam7 };
#pragma option pop
class DELPHICLASS TPNGList;
class PASCALIMPLEMENTATION TPNGPointerList : public System::TObject
{
typedef System::TObject inherited;
private:
TPNGObject* fOwner;
unsigned fCount;
void * *fMemory;
void * __fastcall GetItem(unsigned Index);
void __fastcall SetItem(unsigned Index, const void * Value);
protected:
virtual void * __fastcall Remove(void * Value);
void __fastcall Insert(void * Value, unsigned Position);
void __fastcall Add(void * Value);
__property void * Item[unsigned Index] = {read=GetItem, write=SetItem};
void __fastcall SetSize(const unsigned Size);
__property TPNGObject* Owner = {read=fOwner};
public:
__property unsigned Count = {read=fCount, write=SetSize, nodefault};
__fastcall TPNGPointerList(TPNGObject* AOwner);
__fastcall virtual ~TPNGPointerList(void);
};
class DELPHICLASS TChunk;
typedef TMetaClass* TChunkClass;
class PASCALIMPLEMENTATION TPNGList : public TPNGPointerList
{
typedef TPNGPointerList inherited;
private:
HIDESBASE TChunk* __fastcall GetItem(unsigned Index);
public:
TChunk* __fastcall FindChunk(TMetaClass* ChunkClass);
void __fastcall RemoveChunk(TChunk* Chunk)/* overload */;
HIDESBASE TChunk* __fastcall Add(TMetaClass* ChunkClass);
TChunk* __fastcall ItemFromClass(TMetaClass* ChunkClass);
__property TChunk* Item[unsigned Index] = {read=GetItem};
public:
#pragma option push -w-inl
/* TPNGPointerList.Create */ inline __fastcall TPNGList(TPNGObject* AOwner) : TPNGPointerList(AOwner) { }
#pragma option pop
#pragma option push -w-inl
/* TPNGPointerList.Destroy */ inline __fastcall virtual ~TPNGList(void) { }
#pragma option pop
};
class DELPHICLASS TChunkpHYs;
class DELPHICLASS TChunkIHDR;
class PASCALIMPLEMENTATION TPNGObject : public Graphics::TGraphic
{
typedef Graphics::TGraphic inherited;
protected:
Byte InverseGamma[256];
void __fastcall InitializeGamma(void);
private:
Graphics::TCanvas* fCanvas;
TFilters fFilters;
TCompressionLevel fCompressionLevel;
int fMaxIdatSize;
TInterlaceMethod fInterlaceMethod;
TPNGList* fChunkList;
void __fastcall ClearChunks(void);
bool __fastcall HeaderPresent(void);
void __fastcall GetPixelInfo(unsigned &LineSize, unsigned &Offset);
void __fastcall SetMaxIdatSize(const int Value);
pByteArray __fastcall GetAlphaScanline(const int LineIndex);
void * __fastcall GetScanline(const int LineIndex);
void * __fastcall GetExtraScanline(const int LineIndex);
TChunkpHYs* __fastcall GetPixelInformation(void);
TPNGTransparencyMode __fastcall GetTransparencyMode(void);
Graphics::TColor __fastcall GetTransparentColor(void);
void __fastcall SetTransparentColor(const Graphics::TColor Value);
AnsiString __fastcall GetLibraryVersion();
protected:
bool BeingCreated;
virtual HPALETTE __fastcall GetPalette(void);
virtual void __fastcall SetPalette(HPALETTE Value);
void __fastcall DoSetPalette(HPALETTE Value, const bool UpdateColors);
virtual int __fastcall GetWidth(void);
virtual int __fastcall GetHeight(void);
virtual void __fastcall SetWidth(int Value);
virtual void __fastcall SetHeight(int Value);
void __fastcall AssignPNG(TPNGObject* Source);
virtual bool __fastcall GetEmpty(void);
TChunkIHDR* __fastcall GetHeader(void);
void __fastcall DrawPartialTrans(HDC DC, const Types::TRect &Rect);
virtual bool __fastcall GetTransparent(void);
virtual Graphics::TColor __fastcall GetPixels(const int X, const int Y);
virtual void __fastcall SetPixels(const int X, const int Y, const Graphics::TColor Value);
public:
Byte GammaTable[256];
void __fastcall Resize(const int CX, const int CY);
void __fastcall CreateAlpha(void);
void __fastcall RemoveTransparency(void);
__property Graphics::TColor TransparentColor = {read=GetTransparentColor, write=SetTransparentColor, nodefault};
void __fastcall AddtEXt(const AnsiString Keyword, const AnsiString Text);
void __fastcall AddzTXt(const AnsiString Keyword, const AnsiString Text);
virtual void __fastcall SaveToClipboardFormat(Word &AFormat, unsigned &AData, HPALETTE &APalette);
virtual void __fastcall LoadFromClipboardFormat(Word AFormat, unsigned AData, HPALETTE APalette);
void __fastcall RaiseError(TMetaClass* ExceptionClass, AnsiString Text);
__property void * Scanline[int Index] = {read=GetScanline};
__property void * ExtraScanline[int Index] = {read=GetExtraScanline};
bool __fastcall HasPixelInformation(void);
__property TChunkpHYs* PixelInformation = {read=GetPixelInformation};
__property pByteArray AlphaScanline[int Index] = {read=GetAlphaScanline};
void __fastcall DrawUsingPixelInformation(Graphics::TCanvas* Canvas, const Types::TPoint &Point);
__property Graphics::TCanvas* Canvas = {read=fCanvas};
__property TChunkIHDR* Header = {read=GetHeader};
__property TPNGTransparencyMode TransparencyMode = {read=GetTransparencyMode, nodefault};
virtual void __fastcall Assign(Classes::TPersistent* Source);
virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
void __fastcall AssignHandle(HBITMAP Handle, bool Transparent, unsigned TransparentColor);
virtual void __fastcall Draw(Graphics::TCanvas* ACanvas, const Types::TRect &Rect);
__property int Width = {read=GetWidth, nodefault};
__property int Height = {read=GetHeight, nodefault};
__property TInterlaceMethod InterlaceMethod = {read=fInterlaceMethod, write=fInterlaceMethod, nodefault};
__property TFilters Filters = {read=fFilters, write=fFilters, nodefault};
__property int MaxIdatSize = {read=fMaxIdatSize, write=SetMaxIdatSize, nodefault};
__property bool Empty = {read=GetEmpty, nodefault};
__property TCompressionLevel CompressionLevel = {read=fCompressionLevel, write=fCompressionLevel, nodefault};
__property TPNGList* Chunks = {read=fChunkList};
__fastcall virtual TPNGObject(void);
__fastcall TPNGObject(unsigned ColorType, unsigned Bitdepth, int cx, int cy);
__fastcall virtual ~TPNGObject(void);
virtual void __fastcall LoadFromStream(Classes::TStream* Stream);
virtual void __fastcall SaveToStream(Classes::TStream* Stream);
void __fastcall LoadFromResourceName(unsigned Instance, const AnsiString Name);
void __fastcall LoadFromResourceID(unsigned Instance, int ResID);
__property Graphics::TColor Pixels[int X][int Y] = {read=GetPixels, write=SetPixels};
__property AnsiString Version = {read=GetLibraryVersion};
};
typedef char TChunkName[4];
class PASCALIMPLEMENTATION TChunk : public System::TObject
{
typedef System::TObject inherited;
private:
void *fData;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -