Gorilla.Imaging
Unit Gorilla.Imaging.pasClasses
- EImagingError = class ( Exception )
- TImageFileFormat = class ( TObject )
Records
- record TIOFunctions
Mics. types
- type TDynImageDataArray = array of TImageData;
- type PIOFunctions = pointer to TIOFunctions;
- type TImageFileFormatClass = class of TImageFileFormat;
Functions / Procedures
- public procedure InitImage ( var Image : TImageData ) ;
- public function NewImage ( Width : LongInt; Height : LongInt; Format : TImageFormat; var Image : TImageData ) : Boolean ;
- public function TestImage ( const Image : TImageData ) : Boolean ;
- public procedure FreeImage ( var Image : TImageData ) ;
- public procedure FreeImagesInArray ( var Images : TDynImageDataArray ) ;
- public function TestImagesInArray ( const Images : TDynImageDataArray ) : Boolean ;
- public function DetermineFileFormat ( const FileName : string ) : string ;
- public function DetermineStreamFormat ( Stream : TStream ) : string ;
- public function DetermineMemoryFormat ( Data : Pointer; Size : LongInt ) : string ;
- public function IsFileFormatSupported ( const FileName : string ) : Boolean ;
- public function EnumFileFormats ( var Index : LongInt; var Name : string; var DefaultExt : string; var Masks : string; var CanSaveImages : Boolean; var IsMultiImageFormat : Boolean ) : Boolean ;
- public function LoadImageFromFile ( const FileName : string; var Image : TImageData ) : Boolean ;
- public function LoadImageFromStream ( Stream : TStream; var Image : TImageData ) : Boolean ;
- public function LoadImageFromMemory ( Data : Pointer; Size : LongInt; var Image : TImageData ) : Boolean ;
- public function LoadMultiImageFromFile ( const FileName : string; var Images : TDynImageDataArray ) : Boolean ;
- public function LoadMultiImageFromStream ( Stream : TStream; var Images : TDynImageDataArray ) : Boolean ;
- public function LoadMultiImageFromMemory ( Data : Pointer; Size : LongInt; var Images : TDynImageDataArray ) : Boolean ;
- public function SaveImageToFile ( const FileName : string; const Image : TImageData ) : Boolean ;
- public function SaveImageToStream ( const Ext : string; Stream : TStream; const Image : TImageData ) : Boolean ;
- public function SaveImageToMemory ( const Ext : string; Data : Pointer; var Size : LongInt; const Image : TImageData ) : Boolean ;
- public function SaveMultiImageToFile ( const FileName : string; const Images : TDynImageDataArray ) : Boolean ;
- public function SaveMultiImageToStream ( const Ext : string; Stream : TStream; const Images : TDynImageDataArray ) : Boolean ;
- public function SaveMultiImageToMemory ( const Ext : string; Data : Pointer; var Size : LongInt; const Images : TDynImageDataArray ) : Boolean ;
- public function CloneImage ( const Image : TImageData; var Clone : TImageData ) : Boolean ;
- public function ConvertImage ( var Image : TImageData; DestFormat : TImageFormat ) : Boolean ;
- public function FlipImage ( var Image : TImageData ) : Boolean ;
- public function MirrorImage ( var Image : TImageData ) : Boolean ;
- public function ResizeImage ( var Image : TImageData; NewWidth : LongInt; NewHeight : LongInt; Filter : TResizeFilter ) : Boolean ;
- public function SwapChannels ( var Image : TImageData; SrcChannel : LongInt; DstChannel : LongInt ) : Boolean ;
- public function ReduceColors ( var Image : TImageData; MaxColors : LongInt ) : Boolean ;
- public function GenerateMipMaps ( const Image : TImageData; Levels : LongInt; var MipMaps : TDynImageDataArray ) : Boolean ;
- public function MapImageToPalette ( var Image : TImageData; Pal : PPalette32; Entries : LongInt ) : Boolean ;
- public function SplitImage ( var Image : TImageData; var Chunks : TDynImageDataArray; ChunkWidth : LongInt; ChunkHeight : LongInt; var XChunks : LongInt; var YChunks : LongInt; PreserveSize : Boolean; Fill : Pointer ) : Boolean ;
- public function MakePaletteForImages ( var Images : TDynImageDataArray; Pal : PPalette32; MaxColors : LongInt; ConvertImages : Boolean ) : Boolean ;
- public function RotateImage ( var Image : TImageData; Angle : Single ) : Boolean ;
- public function CopyRect ( const SrcImage : TImageData; SrcX : LongInt; SrcY : LongInt; Width : LongInt; Height : LongInt; var DstImage : TImageData; DstX : LongInt; DstY : LongInt ) : Boolean ;
- public function FillRect ( var Image : TImageData; X : LongInt; Y : LongInt; Width : LongInt; Height : LongInt; FillColor : Pointer ) : Boolean ;
- public function ReplaceColor ( var Image : TImageData; X : LongInt; Y : LongInt; Width : LongInt; Height : LongInt; OldColor : Pointer; NewColor : Pointer ) : Boolean ;
- public function StretchRect ( const SrcImage : TImageData; SrcX : LongInt; SrcY : LongInt; SrcWidth : LongInt; SrcHeight : LongInt; var DstImage : TImageData; DstX : LongInt; DstY : LongInt; DstWidth : LongInt; DstHeight : LongInt; Filter : TResizeFilter ) : Boolean ;
- public procedure GetPixelDirect ( const Image : TImageData; X : LongInt; Y : LongInt; Pixel : Pointer ) ;
- public procedure SetPixelDirect ( const Image : TImageData; X : LongInt; Y : LongInt; Pixel : Pointer ) ;
- public function GetPixel32 ( const Image : TImageData; X : LongInt; Y : LongInt ) : TColor32Rec ;
- public procedure SetPixel32 ( const Image : TImageData; X : LongInt; Y : LongInt; const Color : TColor32Rec ) ;
- public function GetPixelFP ( const Image : TImageData; X : LongInt; Y : LongInt ) : TColorFPRec ;
- public procedure SetPixelFP ( const Image : TImageData; X : LongInt; Y : LongInt; const Color : TColorFPRec ) ;
- public procedure NewPalette ( Entries : LongInt; var Pal : PPalette32 ) ;
- public procedure FreePalette ( var Pal : PPalette32 ) ;
- public procedure CopyPalette ( SrcPal : PPalette32; DstPal : PPalette32; SrcIdx : LongInt; DstIdx : LongInt; Count : LongInt ) ;
- public function FindColor ( Pal : PPalette32; Entries : LongInt; Color : LongWord ) : LongInt ;
- public procedure FillGrayscalePalette ( Pal : PPalette32; Entries : LongInt ) ;
- public procedure FillCustomPalette ( Pal : PPalette32; Entries : LongInt; RBits : Byte; GBits : Byte; BBits : Byte; Alpha : Byte = $FF ) ;
- public procedure SwapChannelsOfPalette ( Pal : PPalette32; Entries : LongInt; SrcChannel : LongInt; DstChannel : LongInt ) ;
- public function SetOption ( OptionId : LongInt; Value : LongInt ) : Boolean ;
- public function GetOption ( OptionId : LongInt ) : LongInt ;
- public function PushOptions ( ) : Boolean ;
- public function PopOptions ( ) : Boolean ;
- public function GetImageFormatInfo ( Format : TImageFormat; out Info : TImageFormatInfo ) : Boolean ;
- public function GetPixelsSize ( Format : TImageFormat; Width : LongInt; Height : LongInt ) : LongInt ;
- public procedure SetUserFileIO ( OpenReadProc : TOpenReadProc; OpenWriteProc : TOpenWriteProc; CloseProc : TCloseProc; EofProc : TEofProc; SeekProc : TSeekProc; TellProc : TTellProc; ReadProc : TReadProc; WriteProc : TWriteProc ) ;
- public procedure ResetFileIO ( ) ;
- public function GetFormatName ( Format : TImageFormat ) : string ;
- public function ImageToStr ( const Image : TImageData ) : string ;
- public function GetVersionStr ( ) : string ;
- public function IffFormat ( Condition : Boolean; const TruePart : TImageFormat; const FalsePart : TImageFormat ) : TImageFormat ;
- public procedure RegisterImageFileFormat ( AClass : TImageFileFormatClass ) ;
- public function RegisterOption ( OptionId : LongInt; Variable : PLongInt ) : Boolean ;
- public function FindImageFileFormatByExt ( const Ext : string ) : TImageFileFormat ;
- public function FindImageFileFormatByName ( const FileName : string ) : TImageFileFormat ;
- public function FindImageFileFormatByClass ( AClass : TImageFileFormatClass ) : TImageFileFormat ;
- public function GetFileFormatCount ( ) : LongInt ;
- public function GetFileFormatAtIndex ( Index : LongInt ) : TImageFileFormat ;
- public function GetImageFileFormatsFilter ( OpenFileFilter : Boolean ) : string ;
- public function GetFilterIndexExtension ( Index : LongInt; OpenFileFilter : Boolean ) : string ;
- public function GetFileNameFilterIndex ( const FileName : string; OpenFileFilter : Boolean ) : LongInt ;
- public function GetIO ( ) : TIOFunctions ;
- public procedure RaiseImaging ( const Msg : string; const Args : array of TVarRec ) ;
TImageFileFormat
Ancestors
Members
Fields
- private FExtensions :
TStringList
- private FMasks :
TStringList
- protected FName :
string
- protected FCanLoad :
Boolean
- protected FCanSave :
Boolean
- protected FIsMultiImageFormat :
Boolean
- protected FSupportedFormats :
TImageFormats
- protected FFirstIdx :
LongInt
- protected FLastIdx :
LongInt
Methods
- public constructor Create ( ) ;
- public destructor Destroy ( ) ;
- private function PrepareLoad ( Handle : Pointer; var Images : TDynImageDataArray; OnlyFirstFrame : Boolean ) : Boolean ;
- private function PostLoadCheck ( var Images : TDynImageDataArray; LoadResult : Boolean ) : Boolean ;
- private function PrepareSave ( Handle : Pointer; const Images : TDynImageDataArray; var Index : LongInt ) : Boolean ;
- protected procedure AddMasks ( const AMasks : string ) ;
- protected function GetFormatInfo ( Format : TImageFormat ) : TImageFormatInfo ;
- protected function GetSupportedFormats ( ) : TImageFormats ; virtual;
- protected function LoadData ( Handle : Pointer; var Images : TDynImageDataArray; OnlyFirstFrame : Boolean ) : Boolean ; virtual;
- protected function SaveData ( Handle : Pointer; const Images : TDynImageDataArray; Index : LongInt ) : Boolean ; virtual;
- protected procedure ConvertToSupported ( var Image : TImageData; const Info : TImageFormatInfo ) ; virtual;
- protected function IsSupported ( const Image : TImageData ) : Boolean ; virtual;
- public function LoadFromFile ( const FileName : string; var Images : TDynImageDataArray; OnlyFirstLevel : Boolean = False ) : Boolean ;
- public function LoadFromStream ( Stream : TStream; var Images : TDynImageDataArray; OnlyFirstLevel : Boolean = False ) : Boolean ;
- public function LoadFromMemory ( Data : Pointer; Size : LongInt; var Images : TDynImageDataArray; OnlyFirstLevel : Boolean = False ) : Boolean ;
- public function SaveToFile ( const FileName : string; const Images : TDynImageDataArray; OnlyFirstLevel : Boolean = False ) : Boolean ;
- public function SaveToStream ( Stream : TStream; const Images : TDynImageDataArray; OnlyFirstLevel : Boolean = False ) : Boolean ;
- public function SaveToMemory ( Data : Pointer; var Size : LongInt; const Images : TDynImageDataArray; OnlyFirstLevel : Boolean = False ) : Boolean ;
- public function MakeCompatible ( const Image : TImageData; var Compatible : TImageData; out MustBeFreed : Boolean ) : Boolean ;
- public function TestFormat ( Handle : Pointer ) : Boolean ; virtual;
- public function TestFileName ( const FileName : string ) : Boolean ;
- public procedure CheckOptionsValidity ( ) ; virtual;
Properties
- public Name : stringread FName
- public CanLoad : Booleanread FCanLoad
- public CanSave : Booleanread FCanSave
- public IsMultiImageFormat : Booleanread FIsMultiImageFormat
- public Extensions : TStringListread FExtensions
- public Masks : TStringListread FMasks
- public SupportedFormats : TImageFormatsread GetSupportedFormats