(* ImageEn Build 7.0.0.06.2637 @ 7-4-17 14:58:42.679 *) (* Copyright (c) 1998-2017 by Carlotta Calandra. All rights reserved. Copyright (c) 2011-2017 by Xequte Software. This software comes without express or implied warranty. In no case shall the author be liable for any damage or unwanted behavior of any computer hardware and/or software. Author grants you the right to include the component in your application, whether COMMERCIAL, SHAREWARE, or FREEWARE. ImageEn, IEvolution and ImageEn ActiveX may not be included in any commercial, shareware or freeware libraries or components. www.ImageEn.com *) (* File version 1006 *) unit iesettings; {$R-} {$Q-} {$I ie.inc} interface uses Windows, Classes, SysUtils, Graphics, hyiedefs, hyieutils, imageenio, iexBitmaps; /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// // TIEImageEnGlobalSettings type {!! TIEEXIFInteroperabilityIndexUsage Declaration } TIEEXIFInteroperabilityIndexUsage = (ieiiNone, ieiiApplyOnly, ieiiApplyAndReset); {!!} {!! TIEEXIFMakerNotesHandling Declaration TIEEXIFMakerNotesHandling = (iemhDiscard, iemhDecodeOrDiscardRaw, iemhDecodeOrMaintainRaw, iemhDecodeAndSaveRaw); Description Property Description iemhDiscard Don't load EXIF MakerNotes tag iemhDecodeOrDiscardRaw Decode or discard RAW on unknown MakerNotes (default) iemhDecodeOrMaintainRaw Decode and maintain RAW, even on unknown MakerNotes. Saved decoded MakerNotes. Can produce corrupted jpegs on unknown MakerNotes! iemhDecodeAndSaveRaw Decode and maintain original RAW MakerNotes on save. Can produce corrupted jpegs!
!!} TIEEXIFMakerNotesHandling = (iemhDiscard, iemhDecodeOrDiscardRaw, iemhDecodeOrMaintainRaw, iemhDecodeAndSaveRaw); {!! TIEDialogBackgroundStyle Declaration } TIEDialogBackgroundStyle = (iedbDefault, iedbPaper, iedbMetal, iedbCustom); {!!} {!! TIEWordTransitionParams Declaration TIEWordTransitionParams = class Word : string; FontName : string; Style : TFontStyles; Quality : Word; end; Description Properties for customizing the "Word" transition effects: - iettRandomBoxesWithWord - iettRandomWord * - iettExpandingWord * - iettWordWipeOut * - iettWordWipeIn * - iettWordWipeInAndOut * - iettWordHalfSweep - iettWordFullSweep - iettWordFullExpandingSweep Property Description Word The text that is displayed during the transition. It can be a single character, e.g. a letter or a symbol from Wingdings, or a whole word FontName The font to use to display the text, e.g. "Arial" or "Wingdings". Ensure you specify a font that is available on the destination system (default: "Arial") Style The style that is used to display the text, can include fsBold, fsItalic, fsUnderline and/or fsStrikeOut (default: [fsBold]) Quality The smoothness of the text. The value specifies the height in pixels of the bitmap used to create each letter. A high value will give performance issues on some systems, whereas a low value will give the letter a blocky apperance. Practical range is 20 - 2000; default is 200
Note: Effects with an asterisk will cycle through each specified letter, displaying one at a time. If you wish to display a whole (only a short one is recommended) then enclose it in quotations, e.g. "HI!" Other effects will always display the full word. Example // Display snowflakes in random positions IEGlobalSettings().WordTransitionParams.Word := 'T'; // Snowflake in the Wingdings font IEGlobalSettings().WordTransitionParams.FontName := 'Wingdings'; IEGlobalSettings().WordTransitionParams.Style := [fsBold]; ImageEnView1.PrepareTransition; ImageEnView1.IO.LoadFromFile(GetImageOfIndex(FCurrentImage)); ImageEnView1.RunTransition(iettRandomWord, 2000); // Transition, showing each letter of the word "ImageEn" in turn IEGlobalSettings().WordTransitionParams.Word := 'ImageEn'; ImageEnView1.PrepareTransition; ImageEnView1.IO.LoadFromFile(GetImageOfIndex(FCurrentImage)); ImageEnView1.RunTransition(iettWordWipeInAndOut, 5000); // Transition wiping the screen with the word "GO!" IEGlobalSettings().WordTransitionParams.Word := '"GO!"'; // Enclose in quotes to avoid cyling. Small words are best ImageEnView1.PrepareTransition; ImageEnView1.IO.LoadFromFile(GetImageOfIndex(FCurrentImage)); ImageEnView1.RunTransition(iettWordWipeInAndOut, 5000); !!} TIEWordTransitionParams = class Word : string; FontName : string; Style : TFontStyles; Quality : Word; end; {!! TIEImageEnGlobalSettings Description Contains almost all ImageEn shared settings. returns the instance of this object. Example // Change the language to Italian IEGlobalSettings().MsgLanguage := msItalian; Properties General Bitmap Settings Color Settings Visual Component (TImageEnView, TImageEnVect, TImageEnMView) Settings ImageEn Dialog Display Settings Transition Effects Twain (Acquisition) Settings System Status Advanced Settings !!} TIEImageEnGlobalSettings = class private fMsgLanguage: TMsgLanguage; fDefaultCoresCount: integer; fBufferedReadStreamSize: integer; fOpSys: TIEOpSys; fUnicodeOS: boolean; fDefaultPreviewsZoomFilter: TResampleFilter; fDefaultResampleFilter: TResampleFilter; fDefaultRotateAntiAlias : TIEAntialiasMode; fDefDialogCenter: TIEDialogCenter; fDefaultDialogFont: TFont; fDefMinFileSize: int64; fDefaultPreviewHistogramScale: THistogramScale; fAutoLocateOnDisk: boolean; fAutoFragmentBitmap: boolean; fUseGDIPlus: boolean; fUseButtonGlyphsInDialogs: boolean; fPreviewImageBackgroundStyle: TIEBackgroundStyle; fPreviewImageBackgroundColor: TColor; fPreviewAdditionalMultipageExts: string; fSystemColors: integer; fIsRemoteSession: boolean; fSystemDPIX: integer; fSystemDPIY: integer; fDefaultDPIX: integer; fDefaultDPIY: integer; fMMX: boolean; fEdgeX: integer; fEdgeY: integer; fBorderX: integer; fBorderY: integer; fVScrollWidth: integer; fHScrollHeight: integer; fMinZoomDisplayGrid: integer; fCustomHintTimeout: integer; fGridMajorStep: integer; fGuidelineCount: Integer; fGridPen: TPen; fSelectionGridColor: TColor; fMViewExplorerThumbnailExts: string; fDefGIF_LZWDECOMPFUNC: TGIFLZWDecompFunc; fDefGIF_LZWCOMPFUNC: TGIFLZWCompFunc; fDefTIFF_LZWDECOMPFUNC: TTIFFLZWDecompFunc; fDefTIFF_LZWCOMPFUNC: TTIFFLZWCompFunc; fFileFormats: TList; fUseCMYKProfile: boolean; fUseDefaultFileExists: boolean; fMaxImageEMFSize: integer; fDefTempPath: string; fConvertColorFunction: TIEConvertColorFunction; fEnableCMS: boolean; fColorReductionAlgorithm: integer; fColorReductionQuality: integer; fObjectsTIFFTag: integer; fUseRelativeStreams: boolean; fPanZoomQualityFilter: TResampleFilter; fRedToGrayCoef: integer; fGreenToGrayCoef: integer; fBlueToGrayCoef: integer; fEXIFInteroperabilityIndexUsage: TIEEXIFInteroperabilityIndexUsage; fEXIFMakerNotesHandling: TIEEXIFMakerNotesHandling; fPrintDialogMarginsIncrement: double; fPrintDialogMarginsMinValue: double; fWordTransitionParams: TIEWordTransitionParams; fTransitionsDrawAlternative : Boolean; fTransitionsDrawShape : TIEShape; fApplyColorProfileOnRendering: Boolean; fReleaseTwainResources: Boolean; fTwainTransferBufferSize: DWord; fModelessSelectTwainSource: Boolean; fIsInsideTwain: Boolean; fIOPreviewsDialogWidth: integer; fIOPreviewsDialogHeight: integer; fImageProcMaxThreads: integer; fImageProcThreadsMinSize: int64; fDialogBackgroundStyle: TIEDialogBackgroundStyle; fDialogBackgroundImage: TBitmap; fProxyAddress, fProxyUser, fProxyPassword: string; fThumbnailSize: Integer; fDefaultLayerText: string; fEnableTheming: Boolean; procedure SetMsgLanguage(value: TMsgLanguage); procedure SetImageProcMaxThreads(value: Integer); function GetDialogBackgroundStyle : TIEDialogBackgroundStyle; public // Not surfaced: Custom colors shown in PromptForColor dialog ColorDialogCustomColors : string; {!! TIEImageEnGlobalSettings.MemoShortCuts Declaration MemoShortCuts: ; Description Contains all key shortcuts used in Memo objects. Defaults are: MemoShortCuts[iesLEFTALIGN] := ShortCut(Word('L'), [ssCtrl]); MemoShortCuts[iesCENTERALIGN] := ShortCut(Word('E'), [ssCtrl]); MemoShortCuts[iesRIGHTALIGN] := ShortCut(Word('R'), [ssCtrl]); MemoShortCuts[iesJUSTIFIED] := ShortCut(Word('J'), [ssCtrl]); MemoShortCuts[iesCOPY] := ShortCut(Word('C'), [ssCtrl]); MemoShortCuts[iesCUT] := ShortCut(Word('X'), [ssCtrl]); MemoShortCuts[iesPASTE] := ShortCut(Word('V'), [ssCtrl]); MemoShortCuts[iesFONTSELECT] := ShortCut(Word('F'), [ssCtrl]); MemoShortCuts[iesBOLD] := ShortCut(Word('B'), [ssCtrl]); MemoShortCuts[iesITALIC] := ShortCut(Word('I'), [ssCtrl]); MemoShortCuts[iesUNDERLINE] := ShortCut(Word('U'), [ssCtrl]); MemoShortCuts[iesBACKCOLORSELECT] := ShortCut(Word('G'), [ssCtrl]); Change one of above lines to set your custom short cut. The following table specifies the default key map: Shortcut Function F2 Increase font size F1 Decrease font size CTRL - L Left align CTRL - E Center align CTRL - R Right align CTRL - J Justified CTRL - C Copy CTRL - X Cut CTRL - V Paste CTRL - F Open font dialog CTRL - B Bold CTRL - I Italic CTRL - U Underline CTRL - G Set background color (open dialog)
!!} MemoShortCuts: TIEMemoShortCuts; {!! TIEImageEnGlobalSettings.MeasureUnits Declaration MeasureUnits:
; Description Specifies how measure units are displayed as strings. Example IEGlobalSettings().MeasureUnits[ieuNANOMETERS] := 'uM'; !!} MeasureUnits: TIEMeasureUnits; constructor Create(); // do not use directly! Marked public only to avoid compatibility problems with old C++Builder versions destructor Destroy; override; procedure DestroySingletonInstance(); {!! TIEImageEnGlobalSettings.MsgLanguage Declaration property MsgLanguage: ; Description This property sets the language for ImageEn dialogs and messages. Default: msSystem Note: The UpdateLanguage method of interface is called whenever MsgLanguage is updated. Example IEGlobalSettings().MsgLanguage := msItalian; !!} property MsgLanguage: TMsgLanguage read fMsgLanguage write SetMsgLanguage; {!! TIEImageEnGlobalSettings.DefaultCoresCount Declaration property DefaultCoresCount: integer; Description Specifies the total amount of processor's cores to use. Default: -1 (returns the value from the operating system) See also: . !!} property DefaultCoresCount: integer read fDefaultCoresCount write fDefaultCoresCount; {!! TIEImageEnGlobalSettings.BufferedReadStreamSize Declaration property BufferedReadStreamSize: integer; Description Specifies the size of read buffered streams. Setting 0 disables streams buffering. At the moment this applies to loading images, loading parameters and detection of RAW file format. Default: 1024 !!} property BufferedReadStreamSize: integer read fBufferedReadStreamSize write fBufferedReadStreamSize; {!! TIEImageEnGlobalSettings.OpSys Declaration property OpSys: ; Description Returns the detected operating system. !!} property OpSys: TIEOpSys read fOpSys write fOpSys; {!! TIEImageEnGlobalSettings.TransitionsDrawAlternative Declaration property TransitionsDrawAlternative: boolean; Description Set to True to use an alternative drawing style for some transitions, in some cases this will improve performance on lower spec systems, but usually it is only an aesthetic change. Default: False The specific effect upon each transition is as follows: Transition Effect of TransitionsDrawAlternative iettCubeRotateFromLeft iettCubeRotateFromRight iettCubeRotateFromTop iettCubeRotateFromBottom iettCubeRotateFromLeft2 iettCubeRotateFromRight2 iettCubeRotateFromTop2 iettCubeRotateFromBottom2 Setting to true will disable darkening of partially shown cube faces iettPageFlip iettReversePageFlip Setting to true will disable darkening of partially shown pages iettPageFlip2 iettReversePageFlip2 Setting to true will disable drawing of a centre line iettRandomBoxes Set to true for double-size boxes iettSoftWipeFromLeft iettSoftWipeFromRight iettSoftWipeFromTop iettSoftWipeFromBottom Set to true for extra soft blending iettSweepClockwise iettSweepCounterClockwise iettFullSweepClockwise iettExpandingSweepClockwise When set to true it rotates through a completely black state iettRandomPuzzlePieces Set to true for half-sized puzzle pieces iettRandomBoxesWithWord iettRandomBigBoxes Set to true for double-size boxes iettTriangularWipe iettWordHalfSweep iettWordFullSweep Set to true for anti-clockwise rotation iettShreddedFromLeft iettShreddedFromRight iettShreddedFromTop iettShreddedFromBottom iettShreddedFromTopAndLeft iettShreddedFromTopAndRight iettShreddedFromBottomAndLeft iettShreddedFromBottomAndRight iettShreddedFromHorizonAndLeft iettShreddedFromHorizonAndRight iettShreddedFromTopAndVerticalCenter iettShreddedFromBottomAndVerticalCenter iettShreddedFromCenter iettShreddedToCenter iettShreddedInToHorizon iettShreddedInToVerticalCenter iettShreddedOutFromHorizon iettShreddedOutFromVerticalCenter Set to true for larger shreds iettBarsInFromLeft iettBarsInFromRight iettBarsFromTop iettBarsFromBottom iettBarsLeftThenRight iettBarsRightThenLeft iettBarsTopThenBottom iettBarsBottomThenTop iettBarsFrombothSides iettBarsFromTopAndBottom iettCrisscrossWipeFromTopLeft iettCrisscrossWipeFromTopRight iettCrisscrossWipeFromBottomLeft iettCrisscrossWipeFromBottomRight iettCrisscrossWipeBounceFromTopLeft iettCrisscrossWipeBounceFromTopRight iettCrisscrossWipeBounceFromBottomLeft iettCrisscrossWipeBounceFromBottomRight iettCrisscrossWipeFromLeftRightAndTop iettCrisscrossWipeFromLeftRightAndBottom iettCrisscrossWipeFromLeftTopAndBottom iettCrisscrossWipeFromTopLeftRightAndBottom iettCrisscrossWipeFromRightTopAndBottom iettCrisscrossWipeFromBottomLeftTopRight iettRectanglesFromTheLeft iettRectanglesFromTheRight iettRectanglesFromTheTop iettRectanglesFromTheBottom Set to true for wider bars iettSpeckledWipeFromLeft iettSpeckledWipeFromRight iettSpeckledWipeFromTop iettSpeckledWipeFromBottom Set to true for smaller speckles iettExpandingExplosions iettExpandingLightningBolts iettExplosionWipeOut iettExplosionWipeIn iettExplosionWipeInAndOut Change to horizontally flip the shape iettHeartWipeInAndOut iettRandomHearts iettExpandingHearts iettHeartWipeOut iettHeartWipeIn Set to true for "Double hearts" instead of a single one iettLeftRight2 iettRightLeft2 iettUpDown2 iettDownUp2 If false, the wipe line is red. If true, a wider gray line is used iettRandomPoints Set to true for "static" rather than dots iettExpandingTriangles Set to true to invert the triangle iettExpandFromLeft iettExpandFromRight iettExpandFromTop iettExpandFromBottom Setting to true will disable darkening of the image being covered iettRandomWord iettExpandingWord iettWordWipeOut iettWordWipeIn iettWordWipeInAndOut Set to true for larger words (i.e. greater coverage) iettZigzagWipeFromHorizon iettZigzagWipeFromVerticalCenter iettZigzagWipeToHorizon iettZigzagWipeToVerticalCenter Set to true for bigger teeth iettPacmanFromLeft iettPacmanFromRight iettPacman3Row iettPacman4Row iettPacman2SimRow iettPacman4SimRow iettPacman6SimRow Setting to true will disable drawing of "Pills" iettRandomStar6s iettExpandingStar6 iettStar6WipeIn iettStar6WipeOut iettStar6WipeInAndOut Rotates the shape by 90 degrees CW (See also: )
Example // Display an alternative view of the next transition IEGlobalSettings().TransitionsDrawAlternative := True; See Also - !!} property TransitionsDrawAlternative: boolean read fTransitionsDrawAlternative write fTransitionsDrawAlternative; {!! TIEImageEnGlobalSettings.TransitionsDrawShape Declaration property TransitionsDrawShape: ; Description Specifies the shape for the following transition effects: iettRandomStar6s, iettExpandingStar6, iettStar6WipeIn, iettStar6WipeOut, iettStar6WipeInAndOut Default: iesStar6 Example // Display an expanding Pentagon effect IEGlobalSettings().TransitionsDrawShape := iesPentagon; ImageEnView1.PrepareTransition; ImageEnView1.io.LoadFromFile( NextImage ); ImageEnView1.RunTransition( iettExpandingStar6 , 3000 ); See Also - !!} property TransitionsDrawShape: TIEShape read fTransitionsDrawShape write fTransitionsDrawShape; {!! TIEImageEnGlobalSettings.UnicodeOS Declaration property UnicodeOS: boolean; Description Returns true if the system has a Unicode operating system, otherwise returns false (i.e. Win98/WinME). !!} property UnicodeOS: boolean read fUnicodeOS write fUnicodeOS; {!! TIEImageEnGlobalSettings.DefaultPreviewsZoomFilter Declaration property DefaultPreviewsZoomFilter: ; Description Default zoom (resampling) filter for previews. Default: rfFastLinear !!} property DefaultPreviewsZoomFilter: TResampleFilter read fDefaultPreviewsZoomFilter write fDefaultPreviewsZoomFilter; {!! TIEImageEnGlobalSettings.DefaultPreviewHistogramScale Declaration property DefaultPreviewHistogramScale: ; Description Default histogram plot scale for image processing dialog. Default: iehsLinearClipped !!} property DefaultPreviewHistogramScale: THistogramScale read fDefaultPreviewHistogramScale write fDefaultPreviewHistogramScale; {!! TIEImageEnGlobalSettings.DefaultResampleFilter Declaration property DefaultResampleFilter: ; Description The default resampling filter is used when no filter is specified and no other default resampling filters are used, e.g. when using ([peResize]). Default: rfFastLinear !!} property DefaultResampleFilter: TResampleFilter read fDefaultResampleFilter write fDefaultResampleFilter; {!! TIEImageEnGlobalSettings.DefaultRotateAntiAlias Declaration property DefaultRotateAntiAlias: ; Description Used when rotating images and an anti-alias algorithm cannot be specified, e.g. when using ([peRotate]). Default: ierFast !!} property DefaultRotateAntiAlias: TIEAntialiasMode read fDefaultRotateAntiAlias write fDefaultRotateAntiAlias; {!! TIEImageEnGlobalSettings.DefDialogCenter Declaration property DefDialogCenter: ; Description Specify a function called when open/save dialogs needs to be centered. !!} property DefDialogCenter: TIEDialogCenter read fDefDialogCenter write fDefDialogCenter; {!! TIEImageEnGlobalSettings.DefaultDialogFont Declaration property DefaultDialogFont: TFont; Description Don't use directly as it may be uninitialized, use IEGetDefaultDialogFont(). !!} property DefaultDialogFont: TFont read fDefaultDialogFont write fDefaultDialogFont; {!! TIEImageEnGlobalSettings.DefMinFileSize Declaration property DefMinFileSize: int64; Description Specifies the default value for property. specifies the minimum memory needed by the image to allow use of memory mapped file. If the memory needed by the image is less than MinFileSize, the image will be stored in memory (also if the Location is ieFile). If the global variable DefMinFileSize is not -1, it overrides the property MinFileSize value. Default: -1 See Also - - !!} property DefMinFileSize: int64 read fDefMinFileSize write fDefMinFileSize; {!! TIEImageEnGlobalSettings.AutoLocateOnDisk Declaration property AutoLocateOnDisk: boolean; Description If true, TIEBitmap will allocate the image on disk if it fails to allocate on memory. Default: True !!} property AutoLocateOnDisk: boolean read fAutoLocateOnDisk write fAutoLocateOnDisk; {!! TIEImageEnGlobalSettings.AutoFragmentBitmap Declaration property AutoFragmentBitmap: boolean; Description If true, TIEBitmap will try to allocate chunks of memory instead of a single buffer to contain the image. This is useful when memory is fragmented. Default: True !!} property AutoFragmentBitmap: boolean read fAutoFragmentBitmap write fAutoFragmentBitmap; {!! TIEImageEnGlobalSettings.UseGDIPlus Declaration property UseGDIPlus: boolean; Description If True, ImageEn used GDIPlus instead of GDI, when available. Default: True !!} property UseGDIPlus: boolean read fUseGDIPlus write fUseGDIPlus; {!! TIEImageEnGlobalSettings.PreviewImageBackgroundStyle Declaration property PreviewImageBackgroundStyle: ; Description Specify the background style for image preview in open/save dialogs, print preview and image editing dialogs. Default: iebsSolid !!} property PreviewImageBackgroundStyle: TIEBackgroundStyle read fPreviewImageBackgroundStyle write fPreviewImageBackgroundStyle; {!! TIEImageEnGlobalSettings.PreviewImageBackgroundColor Declaration property PreviewImageBackgroundColor: TColor; Description Specify the background color for image preview in open/save dialogs, print preview and image editing dialogs. Note: This value may be overridden if is enabled. Default: clBtnFace !!} property PreviewImageBackgroundColor: TColor read fPreviewImageBackgroundColor write fPreviewImageBackgroundColor; {!! TIEImageEnGlobalSettings.PreviewAdditionalMultipageExts Declaration property PreviewAdditionalMultipageExts: string; Description Additional multipage extensions (ex. 'mpg,mpeg,wmv,avi') for open/save dialogs. Files of the extensions specified will be treated as "multipage" files and their frames can be previewed. Default: 'mpg,mpeg,wmv,avi' Example // Add XYZ files as a multipage format IEGlobalSettings().PreviewAdditionalMultipageExts := 'mpg,mpeg,wmv,avi,xyz'; !!} property PreviewAdditionalMultipageExts: string read fPreviewAdditionalMultipageExts write fPreviewAdditionalMultipageExts; {!! TIEImageEnGlobalSettings.SystemColors Declaration property SystemColors: integer; Description Returns the bits per pixel of the display. !!} property SystemColors: integer read fSystemColors write fSystemColors; {!! TIEImageEnGlobalSettings.IsRemoteSession Declaration property IsRemoteSession: boolean; Description Returns true if the application is being run within a RDP session !!} property IsRemoteSession: boolean read fIsRemoteSession write fIsRemoteSession; {!! TIEImageEnGlobalSettings.SystemDPIX Declaration property SystemDPIX: integer; Description Returns the X value of the System DPI. !!} property SystemDPIX: integer read fSystemDPIX write fSystemDPIX; {!! TIEImageEnGlobalSettings.SystemDPIY Declaration property SystemDPIY: integer; Description Returns the Y value of the System DPI. !!} property SystemDPIY: integer read fSystemDPIY write fSystemDPIY; {!! TIEImageEnGlobalSettings.WordTransitionParams Declaration property WordTransitionParams: ; Description Properties for customizing the "Word" transition effects such as iettRandomWord and iettExpandingWord. Property Description Word The text that is displayed during the transition. It can be a single character, e.g. a letter or a symbol from Wingdings or a whole word. If it is a word then each letter of the word is displayed in turn. To display a whole word without cycling, enclose it in quotes (default: 'A') FontName The font to use to display the text, e.g. "Arial" or "Wingdings". Ensure you specify a font that is available on the destination system (default: "Arial") Style The style that is used to display the text, can include fsBold, fsItalic, fsUnderline and/or fsStrikeOut (default: [fsBold]) Quality The smoothness of the text. The value specifies the height in pixels of the bitmap used to create each letter. A high value will give performance issues on some systems, whereas a low value will give the letter a blocky apperance. Practical range is 20 - 2000; default is 200
Example // Display snowflakes in random positions IEGlobalSettings().WordTransitionParams.Word := 'T'; // Snowflake in the Wingdings font IEGlobalSettings().WordTransitionParams.FontName := 'Wingdings'; IEGlobalSettings().WordTransitionParams.Style := [fsBold]; ImageEnView1.PrepareTransition; ImageEnView1.IO.LoadFromFile(GetImageOfIndex(FCurrentImage)); ImageEnView1.RunTransition(iettRandomWord, 2000); // Transition, showing each letter of the word "ImageEn" in turn IEGlobalSettings().WordTransitionParams.Word := 'ImageEn'; ImageEnView1.PrepareTransition; ImageEnView1.IO.LoadFromFile(GetImageOfIndex(FCurrentImage)); ImageEnView1.RunTransition(iettWordWipeInAndOut, 5000); // Transition wiping the screen with the word "GO!" IEGlobalSettings().WordTransitionParams.Word := '"GO!"'; // Enclose in quotes to avoid cyling. Small words are best ImageEnView1.PrepareTransition; ImageEnView1.IO.LoadFromFile(GetImageOfIndex(FCurrentImage)); ImageEnView1.RunTransition(iettWordWipeInAndOut, 5000); !!} property WordTransitionParams: TIEWordTransitionParams read fWordTransitionParams write fWordTransitionParams; {!! TIEImageEnGlobalSettings.DefaultDPIX Declaration property DefaultDPIX: integer; Description Specify the default DPI X value assigned when a loaded image doesn't contain this information. Default: 300 (both X and Y) !!} property DefaultDPIX: integer read fDefaultDPIX write fDefaultDPIX; {!! TIEImageEnGlobalSettings.DefaultDPIY Declaration property DefaultDPIY: integer; Description Specify the default DPI Y value assigned when a loaded image doesn't contain this information. Default: 300 (both X and Y) !!} property DefaultDPIY: integer read fDefaultDPIY write fDefaultDPIY; {!! TIEImageEnGlobalSettings.MMX Declaration property MMX: boolean; Description Returns true if the CPU supports MMX. !!} property MMX: boolean read fMMX write fMMX; {!! TIEImageEnGlobalSettings.EdgeX Declaration property EdgeX: integer; Description Returns the System border horizontal edge (3D). !!} property EdgeX: integer read fEdgeX write fEdgeX; {!! TIEImageEnGlobalSettings.EdgeY Declaration property EdgeY: integer; Description Returns the System border vertical edge (3D). !!} property EdgeY: integer read fEdgeY write fEdgeY; {!! TIEImageEnGlobalSettings.BorderX Declaration property BorderX: integer; Description Returns the System border horizontal edge. !!} property BorderX: integer read fBorderX write fBorderX; {!! TIEImageEnGlobalSettings.BorderY Declaration property BorderY: integer; Description Returns the System border vertical edge. !!} property BorderY: integer read fBorderY write fBorderY; {!! TIEImageEnGlobalSettings.VScrollWidth Declaration property VScrollWidth: integer; Description Returns the System scrollbar width. !!} property VScrollWidth: integer read fVScrollWidth write fVScrollWidth; {!! TIEImageEnGlobalSettings.HScrollHeight Declaration property HScrollHeight: integer; Description Returns the System scrollbar height. !!} property HScrollHeight: integer read fHScrollHeight write fHScrollHeight; {!! TIEImageEnGlobalSettings.MinZoomDisplayGrid Declaration property MinZoomDisplayGrid: integer; Description Specifies the minimum value of zoom to display a grid (when
is not iedgPixelGrid). Default: 400 Example // Draw a grid to show pixels when we zoom above 500% IEGlobalSettings().GridPen.Color := clSilver; IEGlobalSettings().GridPen.Style := psSolid; IEGlobalSettings().GridPen.Mode := pmNot; IEGlobalSettings().MinZoomDisplayGrid := 500; ImageEnView1.DisplayGridKind := iedgPixelGrid; See Also - - !!} property MinZoomDisplayGrid: integer read fMinZoomDisplayGrid write fMinZoomDisplayGrid; {!! TIEImageEnGlobalSettings.CustomHintTimeout Declaration property CustomHintTimeout: Integer; Description Specifies the number of milliseconds that custom hints are displayed. Custom hints are those that change when hovering over content, such as and . Default: 10000 (10 seconds) Examples // Display custom hints for 5 seconds IEGlobalSettings().CustomHintTimeout := 5000; !!} property CustomHintTimeout: Integer read fCustomHintTimeout write fCustomHintTimeout; {!! TIEImageEnGlobalSettings.GridPen Declaration property GridPen: TPen; Description Specifies the pen used to draw the grid on a TImageEnView (when is not iedgNone). Examples // Draw a grid to show pixels when we zoom above 500% IEGlobalSettings().GridPen.Color := clSilver; IEGlobalSettings().GridPen.Style := psSolid; IEGlobalSettings().GridPen.Mode := pmNot; IEGlobalSettings().MinZoomDisplayGrid := 500; ImageEnView1.DisplayGridKind := iedgPixelGrid; // Enable guide lines to help line up images when manually rotating IEGlobalSettings().GridPen.Color := clSilver; IEGlobalSettings().GridPen.Style := psDot; IEGlobalSettings().GridPen.Mode := pmCopy; IEGlobalSettings().GuidelineCount := 4; ImageEnView1.DisplayGridKind := iedgGuideLines; See Also - - !!} property GridPen: TPen read fGridPen write fGridPen; {!! TIEImageEnGlobalSettings.GridMajorStep Declaration property GridMajorStep: integer; Description If a value other than zero is specified then every nth grid line will be an inversion of the grid pen color ((when is not iedgNone). Default: 0 Note: if .Mode = pmCopy, then for inverted grid lines it will be pnNotCopy, otherwise inverted grid lines are always set to pmCopy (i.e. the .Color will be used) Examples // Silver grid lines with almost black major grid lines IEGlobalSettings().MinZoomDisplayGrid := 200; IEGlobalSettings().GridPen.Color := clSilver; IEGlobalSettings().GridPen.Mode := pmCopy; IEGlobalSettings().GridMajorStep := 10; ImageEnView1.DisplayGridKind := iedgPixelGrid; ImageEnView1.Update; // Grid lines are inversion of background color (mode = pmNot), major grid lines are red IEGlobalSettings().MinZoomDisplayGrid := 200; IEGlobalSettings().GridPen.Color := clRed; IEGlobalSettings().GridPen.Mode := pmNot; IEGlobalSettings().GridMajorStep := 10; ImageEnView1.DisplayGridKind := iedgPixelGrid; ImageEnView1.Update; See Also - - !!} property GridMajorStep: integer read fGridMajorStep write fGridMajorStep; {!! TIEImageEnGlobalSettings.GuidelineCount Declaration property GuidelineCount: integer; Description Specifies the minimum number of guide lines to draw in each dimension (when is iedgGuideLines). Default: 5 Note: Guidelines always have equal horizontal and vertical spacing (i.e. are square) so there will generally be more lines in one dimension than the other. E.g. if GuidelineCount=10 then for a portrait image there will be 10 horizontal lines and 13 vertical lines. Example // Enable guide lines to help line up images when manually rotating IEGlobalSettings().GridPen.Color := clSilver; IEGlobalSettings().GridPen.Style := psDot; IEGlobalSettings().GridPen.Mode := pmCopy; IEGlobalSettings().GuidelineCount := 4; ImageEnView1.DisplayGridKind := iedgGuideLines; See Also - - !!} property GuidelineCount: integer read fGuidelineCount write fGuidelineCount; {!! TIEImageEnGlobalSettings.SelectionGridColor Declaration property SelectionGridColor: TColor; Description Specifies the color of the selection grid drawn by use of , or Default: $00A0A0A0 (Gray) !!} property SelectionGridColor: TColor read fSelectionGridColor write fSelectionGridColor; {!! TIEImageEnGlobalSettings.MViewExplorerThumbnailExts Declaration property MViewExplorerThumbnailExts: string; Description A list of file extensions delimited by semi-colons for which ImageEnMView will retrieve thumbnails from Windows Explorer. This can be any format that displays a thumbnail in Explorer, including images and videos. Default: '*.AVI;*.MPG;*.MPE;*.MPEG;*.WMV;*.ASF;*.IVF;*.WM;*.MP4;*.MOV;*.QT;*.RM;*.M2TS;*.MTS;*.MOD;' Example IEGlobalSettings().MViewExplorerThumbnailExts := '*.AVI;*.MPG;*.MPE;*.MPEG;*.WMV;*.ASF;*.IVF;*.WM;*.MP4;*.MOV;*.QT;*.RM;*.M2TS;*.MTS;*.MOD;'; !!} // Extensions for which thumbnails will be loaded from Explorer. Defaults to ALL_KNOWN_EXPLORER_FORMATS property MViewExplorerThumbnailExts: string read fMViewExplorerThumbnailExts write fMViewExplorerThumbnailExts; property DefGIF_LZWDECOMPFUNC: TGIFLZWDecompFunc read fDefGIF_LZWDECOMPFUNC write fDefGIF_LZWDECOMPFUNC; property DefGIF_LZWCOMPFUNC: TGIFLZWCompFunc read fDefGIF_LZWCOMPFUNC write fDefGIF_LZWCOMPFUNC; property DefTIFF_LZWDECOMPFUNC: TTIFFLZWDecompFunc read fDefTIFF_LZWDECOMPFUNC write fDefTIFF_LZWDECOMPFUNC; property DefTIFF_LZWCOMPFUNC: TTIFFLZWCompFunc read fDefTIFF_LZWCOMPFUNC write fDefTIFF_LZWCOMPFUNC; property FileFormats: TList read fFileFormats write fFileFormats; {!! TIEImageEnGlobalSettings.UseButtonGlyphsInDialogs Declaration property UseButtonGlyphsInDialogs: boolean; Description When true ImageEn's dialogs will show a glyph (image) on buttons. When false the buttons only show text. Default: False Note: This applies to , , , , and clicking the Advanced button in Example IEGlobalSettings().UseButtonGlyphsInDialogs := True; ImageEnView1.IO.DoPrintPreviewDialog; !!} property UseButtonGlyphsInDialogs: boolean read fUseButtonGlyphsInDialogs write fUseButtonGlyphsInDialogs; {!! TIEImageEnGlobalSettings.UseCMYKProfile Declaration property UseCMYKProfile: boolean; Description When true, ImageEn uses an internal ICC profile to convert to and from CMYK to RGB. Default: True !!} property UseCMYKProfile: boolean read fUseCMYKProfile write fUseCMYKProfile; {!! TIEImageEnGlobalSettings.UseDefaultFileExists Declaration property UseDefaultFileExists: boolean; Description When enabled ImageEn uses the standard FileExists function. Otherwise a different method is used which does not require Windows "listing" rights. Default: false !!} property UseDefaultFileExists: boolean read fUseDefaultFileExists write fUseDefaultFileExists; {!! TIEImageEnGlobalSettings.MaxImageEMFSize Declaration property MaxImageEMFSize: integer; Description Specifies the maximum width or height of imported EMF/WMF image. Default: 8000 pixels (wide or high) Example // we want maximum 1024x??? imported image IEGlobalSettings().MaxImageEMFSize := 1024; ImageEnView1.IO.LoadFromFile('input.wmf'); !!} property MaxImageEMFSize: integer read fMaxImageEMFSize write fMaxImageEMFSize; {!! TIEImageEnGlobalSettings.DefTempPath Declaration property DefTempPath: string; Description Specifies the directory where ImageEn stores temporary files. If specified as '' the default system temporary directory is used. Default: '' (use system temp directory) Applications should set DefTempPath inside 'initialization' block, before that the ImageEn components are created. For component, you can change DefTempPath at any time, just call after the method. Example Initialization IEGlobalSettings().DefTempPath := 'G:\temp'; ...or... // Set ImageEnMView1 to use disk G: and ImageEnMView2 to disk H: IEGlobalSettings().DefTempPath := 'G:\'; ImageEnMView1.Clear; IEGlobalSettings().DefTempPath := 'H:\'; ImageEnMView2.Clear; !!} property DefTempPath: string read fDefTempPath write fDefTempPath; {!! TIEImageEnGlobalSettings.ConvertColorFunction Declaration property ConvertColorFunction: ; Description Specifies the function used to convert from a color space to another. !!} property ConvertColorFunction: TIEConvertColorFunction read fConvertColorFunction write fConvertColorFunction; {!! TIEImageEnGlobalSettings.EnableCMS Declaration property EnableCMS: boolean; Description Enables a Color Management System. Default CMS is provided by Windows. Default: False (no color profile is applied). See: . !!} property EnableCMS: boolean read fEnableCMS write fEnableCMS; {!! TIEImageEnGlobalSettings.ColorReductionAlgorithm Declaration property ColorReductionAlgorithm: integer; Description Specifies the algorithm used when converting from true color (24 bit) to color mapped images. Color reduction algorithm are used, for example, when you save to a GIF. -1 = automatically select 0 = Kohonen algorithm (See also: ) 1 = Median cut Default: -1 !!} property ColorReductionAlgorithm: integer read fColorReductionAlgorithm write fColorReductionAlgorithm; {!! TIEImageEnGlobalSettings.ColorReductionQuality Declaration property ColorReductionQuality: integer; Description When is 0, this field specifies the quality. 0=minimum quality, 100=maximum quality. -1 means "automatically calculated" Default: -1 !!} property ColorReductionQuality: integer read fColorReductionQuality write fColorReductionQuality; {!! TIEImageEnGlobalSettings.ObjectsTIFFTag Declaration property ObjectsTIFFTag: integer; Description Specifies the TIFF tag used to read/write embedded vectorial objects. Default: 40101 !!} property ObjectsTIFFTag: integer read fObjectsTIFFTag write fObjectsTIFFTag; {!! TIEImageEnGlobalSettings.UseRelativeStreams Declaration property UseRelativeStreams: boolean; Description By default ImageEn uses absolute streams. This means that the image must be contained from position zero of the stream. Setting UseRelativeStreams=true, you can put the image in any offset of the stream. Default: False !!} property UseRelativeStreams: boolean read fUseRelativeStreams write fUseRelativeStreams; {!! TIEImageEnGlobalSettings.PanZoomQualityFilter Declaration property PanZoomQualityFilter: = rfNone; Description Specifies zoom filter for iettPanZoom transition effect. Default: rfNone !!} property PanZoomQualityFilter: TResampleFilter read fPanZoomQualityFilter write fPanZoomQualityFilter; {!! TIEImageEnGlobalSettings.RedToGrayCoef Declaration property RedToGrayCoef: integer; Description Specify the red coefficient used to convert from color to gray scale. The conversion formula is: gray := (Red * + Green * + Blue * ) div 100; Defaults: 21 (Red), 71 (Green) and 8 (Blue) !!} property RedToGrayCoef: integer read fRedToGrayCoef write fRedToGrayCoef; {!! TIEImageEnGlobalSettings.GreenToGrayCoef Declaration property GreenToGrayCoef: integer; Description Specify the green coefficient used to convert from color to gray scale. The conversion formula is: gray := (Red * + Green * + Blue * ) div 100; Defaults: 21 (Red), 71 (Green) and 8 (Blue) !!} property GreenToGrayCoef: integer read fGreenToGrayCoef write fGreenToGrayCoef; {!! TIEImageEnGlobalSettings.BlueToGrayCoef Declaration property BlueToGrayCoef: integer; Description Specify the blue coefficient used to convert from color to gray scale. The conversion formula is: gray := (Red * + Green * + Blue * ) div 100; Defaults: 21 (Red), 71 (Green) and 8 (Blue) !!} property BlueToGrayCoef: integer read fBlueToGrayCoef write fBlueToGrayCoef; {!! TIEImageEnGlobalSettings.EXIFInteroperabilityIndexUsage Declaration property EXIFInteroperabilityIndexUsage: ; Description When this property is ieiiApplyOnly or ieiiApplyAndReset and EnableCMS is True then EXIF interoperability index () is applied. If this property contains ieiiApplyAndReset then after applied EXIF_InteropIndex is reset (emptied). When EXIFInteroperabilityIndexUsage is ieiiApplyAndReset then ImageEn follows these rules: - If EXIF_InteropIndex = 'R03' and there isn't an embedded profile then the AdobeRGB1998 profile is applied. Content of EXIF_InteropIndex field is emptied. - If EXIF_InteropIndex = 'R03' and there is an embedded profile then the embedded profile is applied. Content of EXIF_InteropIndex field is emptied. - If EXIF_InteropIndex <> 'R03' and there isn't an embedded profile no profile is applied. Content of EXIF_InteropIndex remains untouched. - If EXIF_InteropIndex <> 'R03' and there is an embedded profile then the embedded profile is applied. Content of EXIF_InteropIndex field is emptied. When this property is ieiiNone then EXIF_InteropIndex is read but not modified or applied in any way. Default: ieiiApplyAndReset !!} property EXIFInteroperabilityIndexUsage: TIEEXIFInteroperabilityIndexUsage read fEXIFInteroperabilityIndexUsage write fEXIFInteroperabilityIndexUsage; {!! TIEImageEnGlobalSettings.EXIFMakerNotesHandling Declaration property EXIFMakerNotesHandling: ; Description This property decides how to handle EXIF MakerNotes tag when loading or saving images. Default: iemhDecodeOrDiscardRaw See Also - !!} property EXIFMakerNotesHandling: TIEEXIFMakerNotesHandling read fEXIFMakerNotesHandling write fEXIFMakerNotesHandling; {!! TIEImageEnGlobalSettings.PrintDialogMarginsIncrement Declaration property PrintDialogMarginsIncrement: double; Description Specifies the floating point increment/decrement for Left, Top, Right and Bottom margins. Default: 0.01 !!} property PrintDialogMarginsIncrement: double read fPrintDialogMarginsIncrement write fPrintDialogMarginsIncrement; {!! TIEImageEnGlobalSettings.PrintDialogMarginsMinValue Declaration property PrintDialogMarginsMinValue: double; Description Specifies the floating point allowed minimal value for Left, Top, Right and Bottom margins. Default: 0 !!} property PrintDialogMarginsMinValue: double read fPrintDialogMarginsMinValue write fPrintDialogMarginsMinValue; {!! TIEImageEnGlobalSettings.ApplyColorProfileOnRendering Declaration property ApplyColorProfileOnRendering: Boolean; Description Applies when the image is displayed. Default: True !!} property ApplyColorProfileOnRendering: Boolean read fApplyColorProfileOnRendering write fApplyColorProfileOnRendering; {!! TIEImageEnGlobalSettings.ReleaseTwainResources Declaration property ReleaseTwainResources: Boolean; Description Forces ImageEn to free Twain resources when not being used. Default: False !!} property ReleaseTwainResources: Boolean read fReleaseTwainResources write fReleaseTwainResources; {!! TIEImageEnGlobalSettings.TwainTransferBufferSize Declaration property TwainTransferBufferSize: DWord; Description Specifies the default buffer size used to transfer images from Twain devices (in Bytes). A large buffer size can improve performance. Set to 0 to force usage of the device's recommended value. Default: 1048576 (One MB) Example // Acquire from the first Twain device using its recommended transfer buffer IEGlobalSettings().TwainTransferBufferSize := 0; if ImageEnView1.IO.SetSource( ieaTwain, 0 ) then ImageEnView1.IO.Acquire; !!} property TwainTransferBufferSize: DWord read fTwainTransferBufferSize write fTwainTransferBufferSize; {!! TIEImageEnGlobalSettings.ModelessSelectTwainSource Declaration property ModelessSelectTwainSource: Boolean; Description If True the Twain source selection dialog is modeless (can lose focus). If False the selection dialog is modal. Default: False !!} property ModelessSelectTwainSource: Boolean read fModelessSelectTwainSource write fModelessSelectTwainSource; {!! TIEImageEnGlobalSettings.IsInsideTwain Declaration property IsInsideTwain: Boolean; Description Returns True if this thread is inside a Twain handling function (e.g. handling an event). !!} property IsInsideTwain: Boolean read fIsInsideTwain write fIsInsideTwain; {!! TIEImageEnGlobalSettings.IOPreviewsDialogWidth Declaration property IOPreviewsDialogWidth: Integer; Description The ClientWidth of the "Advanced" dialog in the ImageEn Save dialog, or when calling or . If 0 the default size will be used. After display it will always have a valid value (to store the users preferred size during a session). Default: 0 See Also - !!} property IOPreviewsDialogWidth: integer read fIOPreviewsDialogWidth write fIOPreviewsDialogWidth; {!! TIEImageEnGlobalSettings.IOPreviewsDialogHeight Declaration property IOPreviewsDialogHeight: Integer; Description The ClientHeight of the "Advanced" dialog in the ImageEn Save dialog, or when calling or . If 0 the default size will be used. After display it will always have a valid value (to store the users preferred size during a session). Default: 0 See Also - !!} property IOPreviewsDialogHeight: integer read fIOPreviewsDialogHeight write fIOPreviewsDialogHeight; {!! TIEImageEnGlobalSettings.ImageProcMaxThreads Declaration property ImageProcMaxThreads: Integer; Description Specifies the maximum number of threads to use during image processing operations. Default: 4 See Also - !!} property ImageProcMaxThreads: integer read fImageProcMaxThreads write SetImageProcMaxThreads; {!! TIEImageEnGlobalSettings.ImageProcThreadsMinSize Declaration property ImageProcThreadsMinSize: int64; Description Specifies the minimum size (in terms of Width x Height) of an image before multithreaded processing is used. Default: 65536 (256 x 256 pixels), i.e. for a value of 65536 images smaller than 256 x 256 will not use multithreading when being edited. See Also - !!} property ImageProcThreadsMinSize: int64 read fImageProcThreadsMinSize write fImageProcThreadsMinSize; {!! TIEImageEnGlobalSettings.DialogBackgroundStyle Declaration property DialogBackgroundStyle: ; Description The style of the window for ImageEn dialog such as Editing Previews, IO Previews and printing. If DialogBackgroundStyle is iedbCustom then you must specify Default: iedbDefault Example // Set background of dialog windows to "Metal" IEGlobalSettings().DialogBackgroundStyle := iedbMetal; // Reset the background IEGlobalSettings().DialogBackgroundStyle := iedbDefault; See Also - !!} property DialogBackgroundStyle: TIEDialogBackgroundStyle read GetDialogBackgroundStyle write fDialogBackgroundStyle; {!! TIEImageEnGlobalSettings.DialogBackgroundImage Declaration property DialogBackgroundImage: TBitmap; Description Specify an image to use as the background of open/save dialogs. Set to nil to use the default background. Default: nil Example // Load an image to use as a background MyIEBitmap := TIEBitmap.create; MyIEBitmap.Read( 'D:\MyTileBackground.jpeg' ); IEGlobalSettings().DialogBackgroundStyle := iedbCustom; if not assigned( IEGlobalSettings().DialogBackgroundImage ) then IEGlobalSettings().DialogBackgroundImage := TBitmap.Create; IEGlobalSettings().DialogBackgroundImage.Assign( MyIEBitmap.VclBitmap ); MyIEBitmap.Free; // Clear an existing custom background IEGlobalSettings().DialogBackgroundStyle := iedbDefault; // This is not necessary, but frees up some memory if assigned( IEGlobalSettings().DialogBackgroundImage ) then begin IEGlobalSettings().DialogBackgroundImage.Free; IEGlobalSettings().DialogBackgroundImage := nil; end; See Also - !!} property DialogBackgroundImage: TBitmap read fDialogBackgroundImage write fDialogBackgroundImage; {!! TIEImageEnGlobalSettings.ProxyAddress Declaration property ProxyAddress: string; Description Specifies the proxy address and port when using and . The syntax is: 'domain:port'. Example IEGlobalSettings().ProxyAddress := '10.2.7.2:8080'; ImageEnView1.IO.LoadFromURL('http://www.imageen.com/image.gif'); See Also - - !!} property ProxyAddress: string read fProxyAddress write fProxyAddress; {!! TIEImageEnGlobalSettings.ProxyUser Declaration property ProxyUser: string; Description Specifies the proxy userid when using and . Example IEGlobalSettings().ProxyAddress := '10.2.7.2:8080'; IEGlobalSettings().ProxyUser := 'testuser'; IEGlobalSettings().ProxyPassword := 'testpassword'; ImageEnView1.IO.LoadFromURL('http://www.imageen.com/image.gif'); See Also - - !!} property ProxyUser: string read fProxyUser write fProxyUser; {!! TIEImageEnGlobalSettings.ProxyPassword Declaration property ProxyPassword: string; Description Specifies the proxy password when using and . Example IEGlobalSettings().ProxyAddress := '10.2.7.2:8080'; IEGlobalSettings().ProxyUser := 'testuser'; IEGlobalSettings().ProxyPassword := 'testpassword'; ImageEnView1.IO.LoadFromURL('http://www.imageen.com/image.gif'); See Also - - !!} property ProxyPassword: string read fProxyPassword write fProxyPassword; {!! TIEImageEnGlobalSettings.ThumbnailSize Declaration property ThumbnailSize: Integer; Description Specifies the size of the shortest dimension (width or height) for the embedded thumbnails when saving to IEN format. Embedded thumbnails are used by TImageEnMView to speed up display. Set to 0 to disable thumbnail saving. Default: 250 Example // Thumbnails will not created IEGlobalSettings().ThumbnailSize := 0; // Portrait images will have thumbnails of 500 px wide and >500 px high // Landscape images will have thumbnails of 500 px high and >500 px wide IEGlobalSettings().ThumbnailSize := 500; See Also - !!} property ThumbnailSize: Integer read fThumbnailSize write fThumbnailSize; {!! TIEImageEnGlobalSettings.DefaultLayerText Declaration property DefaultLayerText: string; Description Specifies the text that is displayed when creating new text layers in a . Default: '' Note: This can be overridden by Examples // Add default text for new text layers IEGlobalSettings().DefaultLayerText := 'Double-click to edit text'; !!} property DefaultLayerText: string read fDefaultLayerText write fDefaultLayerText; {!! TIEImageEnGlobalSettings.EnableTheming Declaration property EnableTheming: boolean; Description When enabled, VCL Themed colors will be used for ImageEn visual controls. Affected TImageEnView/TImageEnVect Properties - - - RulerParams.Color - RulerParams.Font.Color - RulerParams.GripColorDefault - RulerParams.GripPenColor - RulerParams.MeasureColor Affected TImageEnMView/TImageEnFolderMView Properties - - - TopTextFont.Color - InfoTextFont.Color - BottomTextFont.Color - - - - - - Other Affected Properties - - - - Note: Only system colors will be themed, e.g. clWindow, clWindowText, clBtnFace, clGrayText, etc. Controls with fixed colors such as clBlue, clBlack, $$00FCFCFC will not be themed. Default: False (specified colors are used) Demo Demos\Other\ImageEn_Theming\VclStylesDemo.dpr Examples // Enable VCL theme colors in ImageEn IEGlobalSettings().EnableTheming := True; ImageEnView1.Update(); ImageEnMView1.Update(); // Compare the following... IEGlobalSettings().EnableTheming := True; ImageEnView1.Background := clBtnFace; // Background will be a themed color ImageEnView1.Background := clBlue; // Background will be blue !!} property EnableTheming: boolean read fEnableTheming write fEnableTheming; end; ////////////////////////////////////////////////////////////////////////////// {!! IEGlobalSettings Declaration function IEGlobalSettings(): ; Description Returns the instance of TIEImageEnGlobalSettings object. !!} function IEGlobalSettings(): TIEImageEnGlobalSettings; ////////////////////////////////////////////////////////////////////////////// implementation uses Menus, Forms; /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// // TIEImageEnGlobalSettings var ieGlobalSettings_: TIEImageEnGlobalSettings = nil; function IEGlobalSettings(): TIEImageEnGlobalSettings; begin if not assigned(ieGlobalSettings_) then ieGlobalSettings_ := TIEImageEnGlobalSettings.Create(); result := ieGlobalSettings_; end; destructor TIEImageEnGlobalSettings.Destroy; begin FreeAndNil(fWordTransitionParams); FreeAndNil(fDialogBackgroundImage); inherited; end; procedure TIEImageEnGlobalSettings.DestroySingletonInstance(); begin ieGlobalSettings_.Free(); ieGlobalSettings_ := nil; end; function TIEImageEnGlobalSettings.GetDialogBackgroundStyle : TIEDialogBackgroundStyle; begin Result := fDialogBackgroundStyle; if (Result = iedbCustom ) then if ( assigned( fDialogBackgroundImage ) = False ) or ( fDialogBackgroundImage.Width = 0 ) or ( fDialogBackgroundImage.Height = 0 ) then Result := iedbDefault; end; constructor TIEImageEnGlobalSettings.Create(); var hdc: THANDLE; begin fMsgLanguage := msSystem; fDefaultCoresCount := -1; fBufferedReadStreamSize := 1024; fOpSys := IEGetOpSys(); fUnicodeOS := (fOpSys > ieosWinME); fDefaultPreviewsZoomFilter := rfFastLinear; fDefaultResampleFilter := rfFastLinear; fDefaultRotateAntiAlias := ierFast; fDefDialogCenter := nil; fDefaultDialogFont := nil; fDefMinFileSize := -1; fAutoLocateOnDisk := true; fAutoFragmentBitmap := true; fUseGDIPlus := true; fUseButtonGlyphsInDialogs := False; fPreviewImageBackgroundStyle := iebsSolid; fPreviewImageBackgroundColor := clBtnFace; fPreviewAdditionalMultipageExts := 'mpg,mpeg,wmv,avi'; // init memo shortcuts MemoShortCuts[iesLEFTALIGN] := ShortCut(Word('L'), [ssCtrl]); MemoShortCuts[iesCENTERALIGN] := ShortCut(Word('E'), [ssCtrl]); MemoShortCuts[iesRIGHTALIGN] := ShortCut(Word('R'), [ssCtrl]); MemoShortCuts[iesJUSTIFIED] := ShortCut(Word('J'), [ssCtrl]); MemoShortCuts[iesCOPY] := ShortCut(Word('C'), [ssCtrl]); MemoShortCuts[iesCUT] := ShortCut(Word('X'), [ssCtrl]); MemoShortCuts[iesPASTE] := ShortCut(Word('V'), [ssCtrl]); MemoShortCuts[iesFONTSELECT] := ShortCut(Word('F'), [ssCtrl]); MemoShortCuts[iesBOLD] := ShortCut(Word('B'), [ssCtrl]); MemoShortCuts[iesITALIC] := ShortCut(Word('I'), [ssCtrl]); MemoShortCuts[iesUNDERLINE] := ShortCut(Word('U'), [ssCtrl]); MemoShortCuts[iesBACKCOLORSELECT] := ShortCut(Word('G'), [ssCtrl]); // measure units MeasureUnits[ieuPIXELS] := 'pixels'; MeasureUnits[ieuINCHES] := 'inches'; MeasureUnits[ieuKM] := 'km'; MeasureUnits[ieuMETERS] := 'mt'; MeasureUnits[ieuCENTIMETERS] := 'cm'; MeasureUnits[ieuMILLIMETERS] := 'mm'; MeasureUnits[ieuMICRONS] := 'microns'; MeasureUnits[ieuNANOMETERS] := 'nanometers'; MeasureUnits[ieuFEET] := 'feet'; MeasureUnits[ieuYARDS] := 'yards'; MeasureUnits[ieuMILES] := 'miles'; // bits per pixel of display and DPI hdc := getdc(0); fSystemColors := GetDeviceCaps(hdc, BITSPIXEL); fSystemDPIX := GetDeviceCaps(hdc, LOGPIXELSX); fSystemDPIY := GetDeviceCaps(hdc, LOGPIXELSY); releasedc(0, hdc); fDefaultDPIX := 300; fDefaultDPIY := 300; fIsRemoteSession := IEIsRemoteSession(); fMMX := IEMMXSupported; fEdgeX := GetSystemMetrics(SM_CXEDGE); fEdgeY := GetSystemMetrics(SM_CYEDGE); fBorderX := GetSystemMetrics(SM_CXBORDER); fBorderY := GetSystemMetrics(SM_CYBORDER); fVScrollWidth := GetSystemMetrics(SM_CYHSCROLL); fHScrollHeight := GetSystemMetrics(SM_CXVSCROLL); fMinZoomDisplayGrid := 400; fGridPen := TPen.Create; fSelectionGridColor := $00A0A0A0; fGridMajorStep := 0; fGuidelineCount := 5; fCustomHintTimeout := 10000; fMViewExplorerThumbnailExts := ALL_KNOWN_EXPLORER_VIDEO_FORMATS; fUseCMYKProfile := true; fUseDefaultFileExists := false; fMaxImageEMFSize := 8000; fDefTEMPPATH := ''; fConvertColorFunction := IEDefaultConvertColorFunction; fEnableCMS := false; fColorReductionAlgorithm := -1; fColorReductionQuality := -1; fObjectsTIFFTag := 40101; fUseRelativeStreams := false; fPanZoomQualityFilter := rfNone; fRedToGrayCoef := 21; fGreenToGrayCoef := 71; fBlueToGrayCoef := 8; EXIFInteroperabilityIndexUsage := ieiiApplyAndReset; fEXIFMakerNotesHandling := iemhDecodeOrDiscardRaw; fPrintDialogMarginsIncrement := 0.01; fPrintDialogMarginsMinValue := 0; fWordTransitionParams := TIEWordTransitionParams.create; fWordTransitionParams.Word := 'A'; fWordTransitionParams.FontName := 'Arial'; fWordTransitionParams.Style := [fsBold]; fWordTransitionParams.Quality := 200; fTransitionsDrawAlternative := False; fTransitionsDrawShape := iesStar6; fApplyColorProfileOnRendering := True; fReleaseTwainResources := False; fModelessSelectTwainSource := False; fIsInsideTwain := False; fTwainTransferBufferSize := 1048576; // 1MB fImageProcMaxThreads := 4; fImageProcThreadsMinSize := 65536; fDialogBackgroundStyle := iedbDefault; fDialogBackgroundImage := nil; fProxyAddress := ''; fProxyUser := ''; fProxyPassword := ''; fThumbnailSize := 250; fDefaultLayerText := ''; fEnableTheming := False; fDefaultPreviewHistogramScale := iehsLinearClipped; end; procedure UpdateImageEnActionsLanguage(Component: TComponent); var i: integer; begin {$IFDEF Delphi6orNewer} if Supports(Component, IIELanguageUpdatable) then (Component as IIELanguageUpdatable).UpdateLanguage(); {$ENDIF} for i := 0 to Component.ComponentCount - 1 do UpdateImageEnActionsLanguage(Component.Components[i]); end; procedure TIEImageEnGlobalSettings.SetMsgLanguage(value: TMsgLanguage); begin if fMsgLanguage <> value then begin fMsgLanguage := value; UpdateImageEnActionsLanguage(Application); end; end; procedure TIEImageEnGlobalSettings.SetImageProcMaxThreads(value: Integer); begin if value < 1 then fImageProcMaxThreads := 1 else fImageProcMaxThreads := value; end; /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// end.