Class TImageItem

Unit

Declaration

type TImageItem = class(TIDIObject)

Description

TImageItem is the object that enables direct access to an image. It holds methods and properties for quick image access and operations.

Hierarchy

Overview

Fields

Public internal const cRatioPrecision = 3;
Public internal const cRatioTolerance = 0.025;
Public _ShortExif: WideString;

Methods

Public procedure AfterConstruction; override;
Public procedure BeforeDestruction; override;
Public function ThumbGUID: String;
Public procedure PreFillFromDataSet (ADataSet: TDBXOMDataSet); override;
Public procedure FillFromDataSet (ADataSet: TDBXOMDataSet); override;
Public function SaveMTPFile (const AFileName: WideString; AAlwaysFullSize: Boolean = False): Boolean;
Public function _Load (AQuick: Boolean = False; AFastRAW: Boolean = False; ACheckRotationSetting: Boolean = True; ARequiredSize: Integer = -1; ALoadRecipe: Boolean = True): WideString; virtual;
Public procedure Load (AQuick: Boolean = False; AFastRAW: Boolean = False; ALoadRecipe: Boolean = True); virtual;
Public procedure Unload; virtual;
Public function LoadRecipe (AResult: TRecipe): Boolean;
Public procedure ApplyRecipe (ARecipe: TRecipe);
Public function ApplyRecipeFrom (AImage: TImageItem = nil; const AIgnoreNamedRecipeItems: WideString = ''): Boolean;
Public procedure CleanExifCache;
Public procedure NewGraphic (const AFileNameOfType: WideString);
Public procedure EnumSidecarFiles (AResult: TxomStringList);
Public procedure SaveImageDetailsToXMP(AXmp: TObject; AImageDetail: TImageDetail; AOptions: TOptions = nil; ACache: TxomStrings = nil; ACustomScriptObjects: TCustomScriptObjects = nil; ACustomValues: TMacroValues = nil);
Public function MoveFile (const ANewFileName: WideString; ASilent: Boolean = False; AUseNotification: Boolean = True; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function _MoveFile (const ANewFileName: WideString; ASilent: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AUseNotification: Boolean = True; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function CopyFile (const ANewFileName: WideString; ASilent: Boolean = False; AUseNotification: Boolean = True; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars; AUseVerify: Boolean = False): Boolean;
Public function _CopyFile (const ANewFileName: WideString; ASilent: Boolean; AUseNotification: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; var AErr: WideString; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars; AUseVerify: Boolean = False): Boolean;
Public function RenameFile (const ANewFileName: WideString; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function _RenameFile (const ANewFileName: WideString; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function DeleteFile (AskConfirm: Boolean = False; ToTrashBin: Boolean = False; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function _DeleteFile (AskConfirm: Boolean; ToTrashBin: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function FileReadOnly (ANewSetting: Boolean; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function _FileReadOnly (ANewSetting: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
Public function IsReadOnly: Boolean;
Public function SaveGraphic (const AGraphic: TGraphic; const AOldFileName, AFileName: WideString; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ADefaultJPGQuality: Integer = -1; AJPGFileSize: Cardinal = 0; AMaxTries: Integer = 3; ADoNotify: Boolean = True; ATifCompression: TTiffCompression = tcLZW; ARemoveXMPProps: TxomStrings = nil; ADetailsXMP: TImageDetail = nil; AKeepRecipe: Boolean = True; AResetExifOrientation: Boolean = False): Boolean;
Public function LoadGraphic (AGraphic: TGraphic; const AFileName: WideString; var AError: WideString; AMaxTries: Integer = 3): Boolean;
Public function ApplyRAWEdits: Boolean;
Public function ApplyCRS: Boolean;
Public function ApplyDOP: Boolean;
Public function ApplyCOS: Boolean;
Public function SaveBase (const AOldFileName: WideString; const AColorSpaceFile: WideString = ''; AJPGQuality: Integer = 90; AJPGFileSize: Cardinal = 0; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ADoNotify: Boolean = True; ATifCompression: TTiffCompression = tcLZW; AKeepRecipe: Boolean = True): Boolean; virtual;
Public function Save (AJPGQuality: Integer = 90; AJPGStoreFileSize: Cardinal = 0; const AColorSpaceFile: WideString = ''; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ADoNotify: Boolean = True; ATifCompression: TTiffCompression = tcLZW): Boolean; virtual;
Public function ConvertTo (const AFileName: WideString; ReLoad: Boolean; const AColorSpaceFile: WideString; AJPGStoreQuality: Integer = -1; AJPGStoreFileSize: Cardinal = 0; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ATifCompression: TTiffCompression = tcLZW): Boolean; virtual;
Public procedure BaseAssign (ASource: TObject; AssignClasses: Boolean); override;
Public procedure InitExif (var ATif: TTif; ADataSizeLimit: Integer = -1; ASpecificTags: TTifTags = nil; AWithSubIFDs: Boolean = False; ACached: TTifCacheSettings = [tcLoad, tcSave]);
Public procedure DeInitExif (var ATif: TTif);
Public function DefineImage(const AFileName: WideString = ''; ACreateThumb: Boolean = True; AThumbSize: Integer = -1; AThumbQuality: Integer = 85; AQuick: Boolean = False; AHotReading: Boolean = False; AExifOriented: Boolean = False; AMediumSize: Integer = -1; AMediumQuality: Integer = 85; AMediumStream: TStream = nil): Boolean; virtual;
Public function DefineThumb (ACreateThumb: Boolean = True; AThumbSize: Integer = -1; AThumbQuality: Integer = 85; AQuick: Boolean = False; AHotReading: Boolean = False; AExifOriented: Boolean = False; AMediumSize: Integer = -1; AMediumQuality: Integer = 85; AMediumStream: TStream = nil): Boolean;
Public function __ReaderDefineImage ( AFileName: WideString = ''; ACreateThumb: Boolean = True; AThumbSize: Integer = -1; AMediumSize: Integer = -1; AQuick: Boolean = False; AHotReading: Boolean = False; AExifOriented: Boolean = False; ACheckCatalog: Boolean = True; APersistent: Boolean = False; AThumbStream: TStream = nil; AMediumStream: TStream = nil; ARecipeStream: TStream = nil; ATinyThumbStream: TStream = nil; AMiniVideoStream: TStream = nil; ALongVideoStream: TStream = nil; AAllowICSIfNeeded: Boolean = True; AFaces: TxomFaces = nil): WideString; virtual;
Public procedure StoreImage (const AFileName: WideString); virtual;
Public function StoreSmallImage ( ADir: WideString; AFrameDesign: TFrameDesign; var OutputDimension: WideString; AResizeSettings: TResizeSettings; AInprint: TxomResource = nil; AInprintWatermarked: Boolean = False; AInprintOffsetX: Integer = 10; AInprintOffsetY: Integer = 5; AInprintLocation: TOffSetLocation = olUpperLeft; AInprintWatermark: Boolean = False; StoreEXIFAlso: Boolean = False; AutoRotateOnExif: Boolean = False; ABackColor: TColor = clWhite; ACaptions: TImageCaptions = nil; AICMSettings: TICSSettings = nil; ABatchEffects: TEffectObjects = nil; AExtraFiles: TxomStrings = nil; AOptions: TOptions = nil; ASharpened: Boolean = False; ANamingRule: TRenameSettings = nil; ARemoveXMPProps: TxomStrings = nil; ADetailsXMP: TImageDetail = nil; ARecipe: TRecipe = nil; ABuildValidName: Boolean = True; AResetExifOrientation: Boolean = False; ADrawAreas: TDrawAreaParts = [dapFrame, dapCaption]; AUseJPGExt: TConvertToJPG = ctjYes): WideString; virtual;
Public procedure AdjustColorSpaceFlag (const AColorSpace: WideString; AStoreProfile: Boolean);
Public procedure UpdateFileInfoBase;
Public procedure _UpdateFileInfo (AQuick: Boolean = True; AWithPhotoDate: Boolean = True);
Public procedure UpdateFileInfo (AQuick: Boolean = True);
Public function MetadataFileStamp: TDateTime;
Public function IsSameMediumAs (AImage: TImageItem): Boolean;
Public function IsSameFileAs (AImage: TImageItem): Boolean;
Public function IsSameItemAs (const AFilename: WideString; const AMediumType: TMediumType; const AMediumName: WideString; const AMediumSerial: Integer): Boolean;
Public function ParseMask (const AMask: WideString; AOptions: TOptions; ARenameSets: TRenameSettings = nil; ACache: TxomStrings = nil; ACustomScriptObjects: TCustomScriptObjects = nil; ACustomValues: TMacroValues = nil; ACustomVars: TidElement = nil; ABeforeParse: TParseEvent = nil; AAfterParse: TParseEvent = nil): WideString;
Public function ParseMacros (const AMacroString: WideString; ACustomValues: TMacroValues = nil; ACustomVars: TidElement = nil): WideString;
Public function ParseXMPParams (TheXmp: TObject; AOptions: TOptions; ACache: TxomStrings = nil; ACustomScriptObjects: TCustomScriptObjects = nil; ACustomValues: TMacroValues = nil): WideString;
Public function MediumLoaded: Boolean;
Public function MediumReadOnly: Boolean;
Public function MediumAvailable: Boolean;
Public procedure ClearThumb;
Public function HasThumb: Boolean;
Public procedure EnumThumbnail (AGraphic: TGraphic);
Public procedure RetrieveResolution;
Public function ExtractWav (AOutStream: TStream): Boolean;
Public procedure RemoveWav;
Public procedure AddWavToFile (AStream: TStream);
Public procedure StoreWavToFile (const AFileName: WideString);
Public procedure PlayEmbeddedWav;
Public function HasWave: Boolean;
Public function _BuildThumbFileName (const ADir: WideString; AUniqueNames: Boolean = False): WideString;
Public function _BuildImageFileName (const ADir: WideString): WideString;
Public function EnumExifTif (ATif: TTif; Full, Summary: TxomStrings; var Short: WideString; var Comment: WideString; var AThumb: TvxBitmap32; ACustoms: TxomStrings = nil; AShowUnknownTags: Boolean = False): Boolean;
Public function EnumExif (Full, Summary: TxomStrings; var Short: WideString; var Comment: WideString; var AThumb: TvxBitmap32; ACustoms: TxomStrings = nil): Boolean;
Public function EnumExifThumb (AThumb: TvxBitmap32): Boolean;
Public procedure UpdateExifThumb (AFull: Boolean = True);
Public procedure UpdateExifThumbFromGraphic (AGraphic: TGraphic);
Public function HasExif: Boolean;
Public function HasExifThumb (AQuick: Boolean = False): Boolean;
Public function ExifValueTyped (const AExifItem: WideString; ATypes: TIFDTypes = [itBase..itMakerNotes]): WideString;
Public function ExifValue (const AExifItem: WideString): WideString;
Public function WriteExifComment (const AValue: WideString): Boolean;
Public function WriteExifDateTime (AValue: TDateTime; ATypes: TDateTimeEditTypes; ATimeZone: Double = -99; AAlwaysUpdateTif: Boolean = False; AXmpBlock: TObject = nil): Boolean;
Public function RemoveExifAndIPTC: Boolean;
Public function CreateExif: Boolean;
Public function ShortExif: WideString;
Public function AutoRotateOnTifExif (ATif: TTif; DoSave: Boolean; AJPGSaveQuality: Integer = -1; ALossLess: Boolean = True; AInversed: Boolean = True; AExifBasedOnly: Boolean = False): Boolean;
Public function AutoRotateOnExif (DoSave: Boolean; AJPGSaveQuality: Integer = -1; ALossLess: Boolean = True; AInversed: Boolean = True; AExifBasedOnly: Boolean = False): Boolean;
Public function UpdateExifRotationOrientation (ADegrees: Single; AsDelta: Boolean = True; AUpdateThumb: Boolean = True; AXmp: TObject = nil): TTifOrientation;
Public function HasIPTC: Boolean;
Public function HasXMP: Boolean;
Public function _HasXMP: Boolean;
Public function _LoadRawXMP (AStrings: TStrings): Boolean;
Public function HasGPS: Boolean;
Public function IsGEOTagged: Boolean;
Public function IPTCValue (const ATag: WideString): WideString;
Public function GPSValue (const ATag: WideString): WideString;
Public function XMPValue (const AXMPProperty: WideString): WideString;
Public function XMPValueRaw (const AXMPProperty: WideString): Variant;
Public function WriteIPTC: Boolean;
Public function WriteXMP: Boolean;
Public procedure MapToIPTC (AIPTC: TIPTCTags; AOnlyFilled: Boolean = False);
Public procedure MapToXMP (AXmp: TObject; AOnlyFilled: Boolean = False);
Public procedure MapFromIPTC (AIPTC: TIPTCTags; AOnlyEmpty: Boolean = False);
Public procedure MapFromXMP (AXmp: TObject; AOnlyEmpty: Boolean = False; AWithLabelRating: Boolean = True);
Public procedure MapFromXMPValue (const ANameSpace, AProperty, AValue: WideString; AOnlyEmpty: Boolean = False);
Public function ReadFromIPTC (AOnlyEmpty: Boolean): Boolean;
Public procedure ReadFromXMP (AOnlyEmpty: Boolean = False);
Public function AddIPTCValue (const ATag, AValue: WideString): Boolean;
Public procedure RemoveIPTCValue (const ATag: WideString);
Public procedure UpdateThumb (AOptions: TOptions; Catalog: TObject; CatItem: TObject = nil; AQuick: Boolean = False);
Public function CreateThumb (AThumbSettings: TResizeSettings; AMediumSettings: TResizeSettings = nil; AMediumStream: TStream = nil; AThumbQuality: Integer = 85; AMediumQuality: Integer = 85; AExifOriented: Boolean = False; AQuick: Boolean = False; AHotReading: Boolean = False; UpdateExifThumbToo: Boolean = False): Boolean; virtual;
Public function CreateSmall (AStream: TStream; AResizeSettings: TResizeSettings; AQuality: Integer = 85; AExifOriented: Boolean = False; AQuick: Boolean = False; AHotReading: Boolean = False; UpdateExifThumbToo: Boolean = False; AICSSettings: TICSSettings = nil): Boolean; virtual;
Public function DeleteFromDisk (ToTrashBin: Boolean = False; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean; virtual;
Public function SetAsWallpaper (ATargetWidth: Integer = -1; ATargetHeight: Integer = -1; AProportional: Boolean = True; ACropped: Boolean = False): Boolean;
Public procedure CheckExpired;
Public function IsJpeg: Boolean;
Public function IsPng: Boolean;
Public function IsWebP: Boolean;
Public function IsTif: Boolean;
Public function IsPhotoshopFileFormat: Boolean;
Public function IsPlugIn: Boolean;
Public function IsCrw: Boolean;
Public function IsNef: Boolean;
Public function IsCr2: Boolean;
Public function IsCr3: Boolean;
Public function IsArw: Boolean;
Public function IsHeic: Boolean;
Public function IsQuickTime: Boolean;
Public function IsRaw: Boolean;
Public function IsDng: Boolean;
Public function IsSaveable: Boolean;
Public function IsNonImage: Boolean;
Public function CanUpdateExif: Boolean;
Public function _CanUpdateExif: Boolean;
Public function IsVideo: Boolean;
Public function IsLandscape(var ARatio: Double): Boolean;
Public function ExifFileName: WideString;
Public function XMPFileName: WideString;
Public function XMPFileNameSave: WideString;
Public function XMPSyncFileName: WideString;
Public function FileNameOnScreen (const AMaxLen: Integer = 50; const AExcludePath: Boolean = False): WideString;
Public function _IsMainVersion: Boolean;
Public function _IsPropped: Boolean;

Properties

Public property ThumbWidth: Integer read GetThumbWidth;
Public property Graphic : TvxBitmap32Gr read FGraphic write FGraphic;
Public property ThumbStream : TxomMemoryStream read GetThumbStream;
Public property _ThumbStream : TxomMemoryStream read FThumbNail;
Public property ImageFileSize: WideString read GetImageFileSize;
Public property ImageDimensions: WideString read GetImageDimensions;
Public property Data: Pointer read FData write FData;
Public property DataElement: TidElement read GetDataElement;
Public property _DataElement: TidElement read FDataElement;
Public property _Rating: Integer read F_Rating write Set_Rating;
Public property _Label: WideString read F_Label write Set_Label;
Public property _VersionCount: Integer read F_VersionCount write F_VersionCount;
Public property _PropCount: Integer read F_PropCount write F_PropCount;
Public property _AttCount: Integer read F_AttCount write F_AttCount;
Public property _IsVersion: Boolean read F_IsVersion write F_IsVersion;
Public property _MainVersionGUID: String read F_MainVersionGUID write Set_MainVersionGUID;
Public property _InSync: TSyncState read F_InSync write Set_InSync;
Public property _Bookmark: TBookmarker read F_Bookmark write Set_Bookmark;
Public property _FileName: WideString read FFileName write Set_FileName;
Public property _ExifPhotoDate: TDateTime read FExifPhotoDate write FExifPhotoDate;
Public property CatalogMatchLevel: TCatalogMatchLevel read FCatalogMatchLevel write FCatalogMatchLevel;
Public property MediumSerialHex: String read GetMediumSerialHex;
Public property StackGroup: TImageItems read FStackGroup write FStackGroup;
Published property PathGUID : String read FPathGUID write SetPathGUID;
Published property FileName : WideString read FFileName write SetFileName;
Published property FileNameOnly: WideString read GetFileNameOnly stored False;
Published property FileNamePath: WideString read GetFileNamePath stored False;
Published property FileNameDrive: WideString read GetFileNameDrive stored False;
Published property FileNameExtension: WideString read GetFileNameExtension stored False;
Published property FileNameExtensionOnly: WideString read GetFileNameExtensionOnly stored False;
Published property FileStamp : TDateTime read FFileStamp write SetFileStamp;
Published property FileSize : Int64 read FFileSize write FFileSize;
Published property ImageSize : WideString read FImageSize write FImageSize;
Published property Remark : WideString read FRemark write FRemark;
Published property Expired : Boolean read FExpired write FExpired;
Published property PhotoDate : TDateTime read GetExifPhotoDate write SetExifPhotoDate;
Published property CleanExifPhotoDate: TDateTime read FExifPhotoDate stored False;
Published property UDF1 : WideString read FUDF1 write FUDF1;
Published property UDF2 : WideString read FUDF2 write FUDF2;
Published property UDF3 : WideString read FUDF3 write FUDF3;
Published property UDF4 : WideString read FUDF4 write FUDF4;
Published property UDF5 : WideString read FUDF5 write FUDF5;
Published property UserGUID : String read FUserGUID write FUserGUID;
Published property MediumType : TMediumType read FMediumType write SetMediumType;
Published property MediumName : WideString read FMediumName write SetMediumName;
Published property MediumSerial: Integer read FMediumSerial write SetMediumSerial;
Published property MediumRef : WideString read FMediumRef write FMediumRef;
Published property EmbedsWav : Boolean read FEmbedsWav write FEmbedsWav;
Published property GroupGUID : String read FGroupGUID write FGroupGUID;
Published property GroupOrder : Integer read FGroupOrder write FGroupOrder;
Published property GroupMarkers: TStackMarkers read FGroupMarkers write FGroupMarkers;
Published property Checked : Boolean read FChecked write FChecked;
Published property LastUpdate : TDateTime read FModifiedAt write FModifiedAt stored false;
Published property ImportDate : TDateTime read FCreatedAt write FCreatedAt stored false;
Published property _Signature : AnsiString read F_Signature write F_Signature;
Published property _FileSignature : AnsiString read F_FileSignature write F_FileSignature;
Published property _SimilarityCode: String read F_SimilarityCode write F_SimilarityCode;
Published property _AvgColor: String read F_AvgColor write F_AvgColor;
Published property _ColorChannel: TColorChannel read F_ColorChannel write F_ColorChannel;
Published property _Ratio: Double read F_Ratio write F_Ratio;
Published property _Sharpness: Double read F_Sharpness write F_Sharpness;
Published property _NormalizedRatio: Double read GetNormalizedRatio stored false;
Published property _Latitude : Double read F_Latitude write F_Latitude;
Published property _Longitude : Double read F_Longitude write F_Longitude;
Published property _Altitude : Double read F_Altitude write F_Altitude;
Published property _HasRecipe : Boolean read F_HasRecipe write F_HasRecipe;
Published property __Rating: Integer read F_Rating stored False;
Published property __Label: WideString read F_Label stored False;
Published property __Bookmark: TBookmarker read F_Bookmark stored False;
Published property __Cataloged: Boolean read F_IsPropped stored False;
Published property __InSync: TSyncState read F_InSync stored False;
Published property __RandomSeed: Integer read GetRandomSeed stored False;
Published property __PropCount: Integer read F_PropCount stored False;
Published property __AttCount: Integer read F_AttCount stored False;

Description

Fields

Public internal const cRatioPrecision = 3;
 
Public internal const cRatioTolerance = 0.025;
 
Public _ShortExif: WideString;
 

Methods

Public procedure AfterConstruction; override;
 
Public procedure BeforeDestruction; override;
 
Public function ThumbGUID: String;
 
Public procedure PreFillFromDataSet (ADataSet: TDBXOMDataSet); override;
 
Public procedure FillFromDataSet (ADataSet: TDBXOMDataSet); override;
 
Public function SaveMTPFile (const AFileName: WideString; AAlwaysFullSize: Boolean = False): Boolean;
 
Public function _Load (AQuick: Boolean = False; AFastRAW: Boolean = False; ACheckRotationSetting: Boolean = True; ARequiredSize: Integer = -1; ALoadRecipe: Boolean = True): WideString; virtual;
 
Public procedure Load (AQuick: Boolean = False; AFastRAW: Boolean = False; ALoadRecipe: Boolean = True); virtual;
 
Public procedure Unload; virtual;
 
Public function LoadRecipe (AResult: TRecipe): Boolean;

load this image's recipe; returns True if a recipe is found

Public procedure ApplyRecipe (ARecipe: TRecipe);

apply a recipe to the current bitmap as loaded in the Graphics property.

Public function ApplyRecipeFrom (AImage: TImageItem = nil; const AIgnoreNamedRecipeItems: WideString = ''): Boolean;

load and apply a recipe from the XMP of the specified image and apply it to the current bitmap as loaded in the Graphics property. The functions returns true when a recipe is found and applied

Public procedure CleanExifCache;

Remove the Exif cache for this image so we are sure we work with most recent data

Public procedure NewGraphic (const AFileNameOfType: WideString);

recreate the Graphic object, of a type based on a the filename passed; e.g. AImg.NewGraphic ('*.jpg') will create a JPG graphic object

Public procedure EnumSidecarFiles (AResult: TxomStringList);

find all the existing sidecar files for this image item

Public procedure SaveImageDetailsToXMP(AXmp: TObject; AImageDetail: TImageDetail; AOptions: TOptions = nil; ACache: TxomStrings = nil; ACustomScriptObjects: TCustomScriptObjects = nil; ACustomValues: TMacroValues = nil);
 
Public function MoveFile (const ANewFileName: WideString; ASilent: Boolean = False; AUseNotification: Boolean = True; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;

Provides a safe way of moving the file as set in the FileName property to a new location. All existing sidecar files will be moved with the original.

It uses OS Leveled routines and will send notifications to the operating system which will broadcast them to other applications.

This function returns True for succes and False for failure

e.g. AItem.MoveFile ('c:\test.jpg', True) This will move the file as set in the FileName property to c:\test.jpg and it will not show OS-dialog that indicates the moving of the file

Public function _MoveFile (const ANewFileName: WideString; ASilent: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AUseNotification: Boolean = True; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
 
Public function CopyFile (const ANewFileName: WideString; ASilent: Boolean = False; AUseNotification: Boolean = True; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars; AUseVerify: Boolean = False): Boolean;

Provides a safe way of copying the file as set in the FileName property to a new file name. All existing sidecar files will be copied with the original.

It uses OS Leveled routines and will optionally send notifications to the operating system which will broadcast them to other applications.

This function returns True for succes and False for failure

e.g. AItem.CopyFile ('c:\test.jpg', True, False) This will copy the file (and sidecar files) as set in the FileName property to c:\test.jpg and it will not show OS-dialog that indicates the copy of the file and it will not send out notifications

Public function _CopyFile (const ANewFileName: WideString; ASilent: Boolean; AUseNotification: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; var AErr: WideString; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars; AUseVerify: Boolean = False): Boolean;
 
Public function RenameFile (const ANewFileName: WideString; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;

Provides a safe way of renaming the file as set in the FileName property to a new name. All existing sidecar files will be renamed with the original.

It uses OS Leveled routines and will send notifications to the operating system which will broadcast them to other applications.

This function returns True for succes and False for failure

e.g. AItem.RenameFile ('c:\test.jpg', True) This will rename the file as set in the FileName property to c:\test.jpg

Public function _RenameFile (const ANewFileName: WideString; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
 
Public function DeleteFile (AskConfirm: Boolean = False; ToTrashBin: Boolean = False; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;

Provides a safe way of deleting the file as set in the FileName property to a new name. All existing sidecar files will be deleted with the original.

It uses OS Leveled routines and will send notifications to the operating system which will broadcast them to other applications.

This function returns True for succes and False for failure

e.g. AItem.DeleteFile ('c:\test.jpg', True, True) This will delete the file as set in the FileName property and ask for confirmation. The deleted file will be placed in the Windows Trashbin

Public function _DeleteFile (AskConfirm: Boolean; ToTrashBin: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
 
Public function FileReadOnly (ANewSetting: Boolean; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;

Provides a safe way of changing the read-only attribute of the file as set in the FileName property. All read-only attributes for existing sidecar files will be changed with the original.

It uses OS Leveled routines and will send notifications to the operating system which will broadcast them to other applications.

This function returns True for succes and False for failure

e.g. AItem.FileReadOnly (True) This will set the file as set in the FileName property to read-only.

Public function _FileReadOnly (ANewSetting: Boolean; AProcessed: TxomStringList; AResult: TFileNameValuePairs; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean;
 
Public function IsReadOnly: Boolean;

returns is the associated file is read only or not; remark: when the image is stored on a read-only medium then it is also reported as read only

Public function SaveGraphic (const AGraphic: TGraphic; const AOldFileName, AFileName: WideString; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ADefaultJPGQuality: Integer = -1; AJPGFileSize: Cardinal = 0; AMaxTries: Integer = 3; ADoNotify: Boolean = True; ATifCompression: TTiffCompression = tcLZW; ARemoveXMPProps: TxomStrings = nil; ADetailsXMP: TImageDetail = nil; AKeepRecipe: Boolean = True; AResetExifOrientation: Boolean = False): Boolean;

Load a graphic. It is recommended to use TImageItem.Save instead.

Public function LoadGraphic (AGraphic: TGraphic; const AFileName: WideString; var AError: WideString; AMaxTries: Integer = 3): Boolean;

Load a graphic. It is recommended to use TImageItem.Load instead.

Public function ApplyRAWEdits: Boolean;

interpret edits from any of the main RAW editors

Public function ApplyCRS: Boolean;

interpret edits from Adobe CRS

Public function ApplyDOP: Boolean;

interpret edits from DxO

Public function ApplyCOS: Boolean;

interpret edits from CaptureOne

Public function SaveBase (const AOldFileName: WideString; const AColorSpaceFile: WideString = ''; AJPGQuality: Integer = 90; AJPGFileSize: Cardinal = 0; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ADoNotify: Boolean = True; ATifCompression: TTiffCompression = tcLZW; AKeepRecipe: Boolean = True): Boolean; virtual;
 
Public function Save (AJPGQuality: Integer = 90; AJPGStoreFileSize: Cardinal = 0; const AColorSpaceFile: WideString = ''; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ADoNotify: Boolean = True; ATifCompression: TTiffCompression = tcLZW): Boolean; virtual;
 
Public function ConvertTo (const AFileName: WideString; ReLoad: Boolean; const AColorSpaceFile: WideString; AJPGStoreQuality: Integer = -1; AJPGStoreFileSize: Cardinal = 0; AMaintainExif: Boolean = True; AMaintainIPTC: Boolean = True; ATifCompression: TTiffCompression = tcLZW): Boolean; virtual;
 
Public procedure BaseAssign (ASource: TObject; AssignClasses: Boolean); override;
 
Public procedure InitExif (var ATif: TTif; ADataSizeLimit: Integer = -1; ASpecificTags: TTifTags = nil; AWithSubIFDs: Boolean = False; ACached: TTifCacheSettings = [tcLoad, tcSave]);
 
Public procedure DeInitExif (var ATif: TTif);
 
Public function DefineImage(const AFileName: WideString = ''; ACreateThumb: Boolean = True; AThumbSize: Integer = -1; AThumbQuality: Integer = 85; AQuick: Boolean = False; AHotReading: Boolean = False; AExifOriented: Boolean = False; AMediumSize: Integer = -1; AMediumQuality: Integer = 85; AMediumStream: TStream = nil): Boolean; virtual;
 
Public function DefineThumb (ACreateThumb: Boolean = True; AThumbSize: Integer = -1; AThumbQuality: Integer = 85; AQuick: Boolean = False; AHotReading: Boolean = False; AExifOriented: Boolean = False; AMediumSize: Integer = -1; AMediumQuality: Integer = 85; AMediumStream: TStream = nil): Boolean;
 
Public function __ReaderDefineImage ( AFileName: WideString = ''; ACreateThumb: Boolean = True; AThumbSize: Integer = -1; AMediumSize: Integer = -1; AQuick: Boolean = False; AHotReading: Boolean = False; AExifOriented: Boolean = False; ACheckCatalog: Boolean = True; APersistent: Boolean = False; AThumbStream: TStream = nil; AMediumStream: TStream = nil; ARecipeStream: TStream = nil; ATinyThumbStream: TStream = nil; AMiniVideoStream: TStream = nil; ALongVideoStream: TStream = nil; AAllowICSIfNeeded: Boolean = True; AFaces: TxomFaces = nil): WideString; virtual;
 
Public procedure StoreImage (const AFileName: WideString); virtual;
 
Public function StoreSmallImage ( ADir: WideString; AFrameDesign: TFrameDesign; var OutputDimension: WideString; AResizeSettings: TResizeSettings; AInprint: TxomResource = nil; AInprintWatermarked: Boolean = False; AInprintOffsetX: Integer = 10; AInprintOffsetY: Integer = 5; AInprintLocation: TOffSetLocation = olUpperLeft; AInprintWatermark: Boolean = False; StoreEXIFAlso: Boolean = False; AutoRotateOnExif: Boolean = False; ABackColor: TColor = clWhite; ACaptions: TImageCaptions = nil; AICMSettings: TICSSettings = nil; ABatchEffects: TEffectObjects = nil; AExtraFiles: TxomStrings = nil; AOptions: TOptions = nil; ASharpened: Boolean = False; ANamingRule: TRenameSettings = nil; ARemoveXMPProps: TxomStrings = nil; ADetailsXMP: TImageDetail = nil; ARecipe: TRecipe = nil; ABuildValidName: Boolean = True; AResetExifOrientation: Boolean = False; ADrawAreas: TDrawAreaParts = [dapFrame, dapCaption]; AUseJPGExt: TConvertToJPG = ctjYes): WideString; virtual;
 
Public procedure AdjustColorSpaceFlag (const AColorSpace: WideString; AStoreProfile: Boolean);
 
Public procedure UpdateFileInfoBase;
 
Public procedure _UpdateFileInfo (AQuick: Boolean = True; AWithPhotoDate: Boolean = True);

This method will update the file information of the object with details as retireved from the filename as set in the FileName property

If the quick parameter is set to true, it will only retrieve basic info like medium info, filesize, filestamp

If the quick parameter is set to false, it will retrieve basic info and add Exif information like photodate

e.g. AItem.FileName := 'c:\test.jpg'; AItem.UpdateFileInfo (False);

Public procedure UpdateFileInfo (AQuick: Boolean = True);
 
Public function MetadataFileStamp: TDateTime;
 
Public function IsSameMediumAs (AImage: TImageItem): Boolean;
 
Public function IsSameFileAs (AImage: TImageItem): Boolean;

This function can be used to compare this object with another object to see if it concerns the same file.

It compares file name and medium information (MediumType, MediumName, MediumSerial)

Return True if the object specified refers to the same file as this object

e.g. AItem.FileName := 'c:\test.jpg'; AItem.UpdateFileInfo (True);

AItem2.FileName := 'd:\test.jpg'; AItem2.UpdateFileInfo (True);

if AItem.IsSameFileAs (AItem2) then Say ('Same') else Say ('Not same');

Public function IsSameItemAs (const AFilename: WideString; const AMediumType: TMediumType; const AMediumName: WideString; const AMediumSerial: Integer): Boolean;
 
Public function ParseMask (const AMask: WideString; AOptions: TOptions; ARenameSets: TRenameSettings = nil; ACache: TxomStrings = nil; ACustomScriptObjects: TCustomScriptObjects = nil; ACustomValues: TMacroValues = nil; ACustomVars: TidElement = nil; ABeforeParse: TParseEvent = nil; AAfterParse: TParseEvent = nil): WideString;

parse the macro commands in a mask

Public function ParseMacros (const AMacroString: WideString; ACustomValues: TMacroValues = nil; ACustomVars: TidElement = nil): WideString;

a high level wrapper for ParseMask; more targetted towards script developers. Custom variables can be passed to the script by using a TidElement (ACustoms.Prop['Name'] := 'Test'; ACustoms.Prop['Value'] := 1234)

Public function ParseXMPParams (TheXmp: TObject; AOptions: TOptions; ACache: TxomStrings = nil; ACustomScriptObjects: TCustomScriptObjects = nil; ACustomValues: TMacroValues = nil): WideString;
 
Public function MediumLoaded: Boolean;

This function can be used to determine if a file is on a medium that is direct available (not offline)

Return True if the medium this file refers to is accessable

e.g. AItem.FileName := 'c:\test.jpg'; AItem.UpdateFileInfo (True);

if AItem.MediumLoaded then Say ('ok') else Say ('Not ok');

Public function MediumReadOnly: Boolean;

returns if the medium is read only or not.

Public function MediumAvailable: Boolean;

returns if the medium is loaded and that a medium is inserted if it is a swappable device

Public procedure ClearThumb;

Clear the thumbnail that is in the Thumbstream

Public function HasThumb: Boolean;

Returns True if the Thumbstream contains data, False if not

Public procedure EnumThumbnail (AGraphic: TGraphic);

Load the thumbnail that is defined in the Thumbstream to a graphics object

e.g.

var APic: TPicture; AItem: TImageItem; ARes: TResizeSettings; begin APic := TPicture.Create; ARes := TResizeSettings.Create (nil); AItem := TImageItem.Create(nil); try AItem.FileName := 'c:\test.jpg'; AItem.UpdateFileInfo (True);

ARes.Width := 160; AItem.CreateThumb (ARes, False, False, False, False);

AItem.EnumThumbnail (APic.Bitmap);

APic.Bitmap.SaveToFile ('c:\test.bmp'); finally APic.Free; AItem.Free; ARes.Free; end; end;

Public procedure RetrieveResolution;
 
Public function ExtractWav (AOutStream: TStream): Boolean;
 
Public procedure RemoveWav;
 
Public procedure AddWavToFile (AStream: TStream);
 
Public procedure StoreWavToFile (const AFileName: WideString);
 
Public procedure PlayEmbeddedWav;
 
Public function HasWave: Boolean;
 
Public function _BuildThumbFileName (const ADir: WideString; AUniqueNames: Boolean = False): WideString;
 
Public function _BuildImageFileName (const ADir: WideString): WideString;
 
Public function EnumExifTif (ATif: TTif; Full, Summary: TxomStrings; var Short: WideString; var Comment: WideString; var AThumb: TvxBitmap32; ACustoms: TxomStrings = nil; AShowUnknownTags: Boolean = False): Boolean;
 
Public function EnumExif (Full, Summary: TxomStrings; var Short: WideString; var Comment: WideString; var AThumb: TvxBitmap32; ACustoms: TxomStrings = nil): Boolean;
 
Public function EnumExifThumb (AThumb: TvxBitmap32): Boolean;
 
Public procedure UpdateExifThumb (AFull: Boolean = True);
 
Public procedure UpdateExifThumbFromGraphic (AGraphic: TGraphic);
 
Public function HasExif: Boolean;
 
Public function HasExifThumb (AQuick: Boolean = False): Boolean;
 
Public function ExifValueTyped (const AExifItem: WideString; ATypes: TIFDTypes = [itBase..itMakerNotes]): WideString;
 
Public function ExifValue (const AExifItem: WideString): WideString;
 
Public function WriteExifComment (const AValue: WideString): Boolean;
 
Public function WriteExifDateTime (AValue: TDateTime; ATypes: TDateTimeEditTypes; ATimeZone: Double = -99; AAlwaysUpdateTif: Boolean = False; AXmpBlock: TObject = nil): Boolean;
 
Public function RemoveExifAndIPTC: Boolean;
 
Public function CreateExif: Boolean;
 
Public function ShortExif: WideString;
 
Public function AutoRotateOnTifExif (ATif: TTif; DoSave: Boolean; AJPGSaveQuality: Integer = -1; ALossLess: Boolean = True; AInversed: Boolean = True; AExifBasedOnly: Boolean = False): Boolean;

rotate the image based on the Exif orientation tag read from a TTif object; returns True when rotated, false when not

Public function AutoRotateOnExif (DoSave: Boolean; AJPGSaveQuality: Integer = -1; ALossLess: Boolean = True; AInversed: Boolean = True; AExifBasedOnly: Boolean = False): Boolean;

rotate the image based on the Exif orientation tag read from a file; returns True when rotated, false when not

Public function UpdateExifRotationOrientation (ADegrees: Single; AsDelta: Boolean = True; AUpdateThumb: Boolean = True; AXmp: TObject = nil): TTifOrientation;

update the image's Exif orientation flag and return the new value; this returns -1 if Exif is not updated

Public function HasIPTC: Boolean;
 
Public function HasXMP: Boolean;
 
Public function _HasXMP: Boolean;
 
Public function _LoadRawXMP (AStrings: TStrings): Boolean;
 
Public function HasGPS: Boolean;

returns if this image item has GPS metadata stored in Exif

Public function IsGEOTagged: Boolean;

returns if there is cached GPS coordinates (_Latitude, _Longitude, _Altitude) for this image

Public function IPTCValue (const ATag: WideString): WideString;
 
Public function GPSValue (const ATag: WideString): WideString;
 
Public function XMPValue (const AXMPProperty: WideString): WideString;
 
Public function XMPValueRaw (const AXMPProperty: WideString): Variant;
 
Public function WriteIPTC: Boolean;
 
Public function WriteXMP: Boolean;
 
Public procedure MapToIPTC (AIPTC: TIPTCTags; AOnlyFilled: Boolean = False);
 
Public procedure MapToXMP (AXmp: TObject; AOnlyFilled: Boolean = False);
 
Public procedure MapFromIPTC (AIPTC: TIPTCTags; AOnlyEmpty: Boolean = False);
 
Public procedure MapFromXMP (AXmp: TObject; AOnlyEmpty: Boolean = False; AWithLabelRating: Boolean = True);
 
Public procedure MapFromXMPValue (const ANameSpace, AProperty, AValue: WideString; AOnlyEmpty: Boolean = False);
 
Public function ReadFromIPTC (AOnlyEmpty: Boolean): Boolean;
 
Public procedure ReadFromXMP (AOnlyEmpty: Boolean = False);
 
Public function AddIPTCValue (const ATag, AValue: WideString): Boolean;
 
Public procedure RemoveIPTCValue (const ATag: WideString);
 
Public procedure UpdateThumb (AOptions: TOptions; Catalog: TObject; CatItem: TObject = nil; AQuick: Boolean = False);
 
Public function CreateThumb (AThumbSettings: TResizeSettings; AMediumSettings: TResizeSettings = nil; AMediumStream: TStream = nil; AThumbQuality: Integer = 85; AMediumQuality: Integer = 85; AExifOriented: Boolean = False; AQuick: Boolean = False; AHotReading: Boolean = False; UpdateExifThumbToo: Boolean = False): Boolean; virtual;
 
Public function CreateSmall (AStream: TStream; AResizeSettings: TResizeSettings; AQuality: Integer = 85; AExifOriented: Boolean = False; AQuick: Boolean = False; AHotReading: Boolean = False; UpdateExifThumbToo: Boolean = False; AICSSettings: TICSSettings = nil): Boolean; virtual;
 
Public function DeleteFromDisk (ToTrashBin: Boolean = False; AIncludeSidecars: TIncludeSidecars = AllIncludeSidecars): Boolean; virtual;
 
Public function SetAsWallpaper (ATargetWidth: Integer = -1; ATargetHeight: Integer = -1; AProportional: Boolean = True; ACropped: Boolean = False): Boolean;
 
Public procedure CheckExpired;
 
Public function IsJpeg: Boolean;
 
Public function IsPng: Boolean;
 
Public function IsWebP: Boolean;
 
Public function IsTif: Boolean;

Is this a TIFF image?

Public function IsPhotoshopFileFormat: Boolean;
 
Public function IsPlugIn: Boolean;
 
Public function IsCrw: Boolean;
 
Public function IsNef: Boolean;
 
Public function IsCr2: Boolean;
 
Public function IsCr3: Boolean;
 
Public function IsArw: Boolean;
 
Public function IsHeic: Boolean;
 
Public function IsQuickTime: Boolean;
 
Public function IsRaw: Boolean;
 
Public function IsDng: Boolean;
 
Public function IsSaveable: Boolean;
 
Public function IsNonImage: Boolean;
 
Public function CanUpdateExif: Boolean;
 
Public function _CanUpdateExif: Boolean;
 
Public function IsVideo: Boolean;
 
Public function IsLandscape(var ARatio: Double): Boolean;
 
Public function ExifFileName: WideString;
 
Public function XMPFileName: WideString;
 
Public function XMPFileNameSave: WideString;
 
Public function XMPSyncFileName: WideString;

return the filename that should be used for syncronization comparison

Public function FileNameOnScreen (const AMaxLen: Integer = 50; const AExcludePath: Boolean = False): WideString;
 
Public function _IsMainVersion: Boolean;
 
Public function _IsPropped: Boolean;
 

Properties

Public property ThumbWidth: Integer read GetThumbWidth;
 
Public property Graphic : TvxBitmap32Gr read FGraphic write FGraphic;
 
Public property ThumbStream : TxomMemoryStream read GetThumbStream;
 
Public property _ThumbStream : TxomMemoryStream read FThumbNail;

streamed through writer

Public property ImageFileSize: WideString read GetImageFileSize;
 
Public property ImageDimensions: WideString read GetImageDimensions;
 
Public property Data: Pointer read FData write FData;
 
Public property DataElement: TidElement read GetDataElement;
 
Public property _DataElement: TidElement read FDataElement;
 
Public property _Rating: Integer read F_Rating write Set_Rating;
 
Public property _Label: WideString read F_Label write Set_Label;
 
Public property _VersionCount: Integer read F_VersionCount write F_VersionCount;
 
Public property _PropCount: Integer read F_PropCount write F_PropCount;
 
Public property _AttCount: Integer read F_AttCount write F_AttCount;
 
Public property _IsVersion: Boolean read F_IsVersion write F_IsVersion;
 
Public property _MainVersionGUID: String read F_MainVersionGUID write Set_MainVersionGUID;
 
Public property _InSync: TSyncState read F_InSync write Set_InSync;
 
Public property _Bookmark: TBookmarker read F_Bookmark write Set_Bookmark;
 
Public property _FileName: WideString read FFileName write Set_FileName;
 
Public property _ExifPhotoDate: TDateTime read FExifPhotoDate write FExifPhotoDate;
 
Public property CatalogMatchLevel: TCatalogMatchLevel read FCatalogMatchLevel write FCatalogMatchLevel;
 
Public property MediumSerialHex: String read GetMediumSerialHex;
 
Public property StackGroup: TImageItems read FStackGroup write FStackGroup;
 
Published property PathGUID : String read FPathGUID write SetPathGUID;
 
Published property FileName : WideString read FFileName write SetFileName;
 
Published property FileNameOnly: WideString read GetFileNameOnly stored False;
 
Published property FileNamePath: WideString read GetFileNamePath stored False;
 
Published property FileNameDrive: WideString read GetFileNameDrive stored False;
 
Published property FileNameExtension: WideString read GetFileNameExtension stored False;
 
Published property FileNameExtensionOnly: WideString read GetFileNameExtensionOnly stored False;
 
Published property FileStamp : TDateTime read FFileStamp write SetFileStamp;
 
Published property FileSize : Int64 read FFileSize write FFileSize;
 
Published property ImageSize : WideString read FImageSize write FImageSize;
 
Published property Remark : WideString read FRemark write FRemark;
 
Published property Expired : Boolean read FExpired write FExpired;
 
Published property PhotoDate : TDateTime read GetExifPhotoDate write SetExifPhotoDate;
 
Published property CleanExifPhotoDate: TDateTime read FExifPhotoDate stored False;
 
Published property UDF1 : WideString read FUDF1 write FUDF1;
 
Published property UDF2 : WideString read FUDF2 write FUDF2;

copyright info

Published property UDF3 : WideString read FUDF3 write FUDF3;
 
Published property UDF4 : WideString read FUDF4 write FUDF4;
 
Published property UDF5 : WideString read FUDF5 write FUDF5;
 
Published property UserGUID : String read FUserGUID write FUserGUID;
 
Published property MediumType : TMediumType read FMediumType write SetMediumType;
 
Published property MediumName : WideString read FMediumName write SetMediumName;
 
Published property MediumSerial: Integer read FMediumSerial write SetMediumSerial;
 
Published property MediumRef : WideString read FMediumRef write FMediumRef;
 
Published property EmbedsWav : Boolean read FEmbedsWav write FEmbedsWav;
 
Published property GroupGUID : String read FGroupGUID write FGroupGUID;
 
Published property GroupOrder : Integer read FGroupOrder write FGroupOrder;
 
Published property GroupMarkers: TStackMarkers read FGroupMarkers write FGroupMarkers;
 
Published property Checked : Boolean read FChecked write FChecked;
 
Published property LastUpdate : TDateTime read FModifiedAt write FModifiedAt stored false;
 
Published property ImportDate : TDateTime read FCreatedAt write FCreatedAt stored false;
 
Published property _Signature : AnsiString read F_Signature write F_Signature;
 
Published property _FileSignature : AnsiString read F_FileSignature write F_FileSignature;
 
Published property _SimilarityCode: String read F_SimilarityCode write F_SimilarityCode;
 
Published property _AvgColor: String read F_AvgColor write F_AvgColor;
 
Published property _ColorChannel: TColorChannel read F_ColorChannel write F_ColorChannel;
 
Published property _Ratio: Double read F_Ratio write F_Ratio;
 
Published property _Sharpness: Double read F_Sharpness write F_Sharpness;
 
Published property _NormalizedRatio: Double read GetNormalizedRatio stored false;
 
Published property _Latitude : Double read F_Latitude write F_Latitude;
 
Published property _Longitude : Double read F_Longitude write F_Longitude;
 
Published property _Altitude : Double read F_Altitude write F_Altitude;
 
Published property _HasRecipe : Boolean read F_HasRecipe write F_HasRecipe;
 
Published property __Rating: Integer read F_Rating stored False;
 
Published property __Label: WideString read F_Label stored False;
 
Published property __Bookmark: TBookmarker read F_Bookmark stored False;
 
Published property __Cataloged: Boolean read F_IsPropped stored False;
 
Published property __InSync: TSyncState read F_InSync stored False;
 
Published property __RandomSeed: Integer read GetRandomSeed stored False;
 
Published property __PropCount: Integer read F_PropCount stored False;
 
Published property __AttCount: Integer read F_AttCount stored False;
 

Generated by PasDoc 0.15.0.