⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frxpngimage.hpp

📁 这个是功能强大的报表软件
💻 HPP
📖 第 1 页 / 共 5 页
字号:
	#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 + -