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

📄 iemview.pas

📁 ·ImageEn 2.3.0 ImageEn一组用于图像处理、查看和分析的Delphi控件。能够保存几种图像格式
💻 PAS
📖 第 1 页 / 共 5 页
字号:
<FS>TIEMKeyInteract

<FM>Declaration<FC>
TIEMKeyInteract = set of <A TIEMKeyInteractItems>;
!!}
  TIEMKeyInteract = set of TIEMKeyInteractItems;

{!!
<FS>TIEMDisplayMode

<FM>Declaration<FC>
type TIEMDisplayMode = (mdGrid, mdSingle);

<FM>Description<FN>
<TABLE>
<R> <H>Value</H> <H>Description</H> </R>
<R> <C>mdGrid</C> <C>shows images in a grid of GridWidth columns.</C> </R>
<R> <C>mdSingle</C> <C>shows images overlapped: only one (VisibleFrame property) is visible.</C> </R>
</TABLE>

!!}
  TIEMDisplayMode = (
    mdGrid,   // grid (active fGridWidth property)
    mdSingle  // single frame
    );

{!!
<FS>TIESeek

<FM>Declaration<FC>
TIESeek = (iskLeft, iskRight, iskUp, iskDown, iskFirst, iskLast, iskPagDown, iskPagUp);

<FM>Description<FN>
<TABLE>
<R> <H>Value</H> <H>Description</H> </R>
<R> <C>iskLeft</C> <C>move to the left (one column)</C> </R>
<R> <C>iskRight</C> <C>move to the right (one column)</C> </R>
<R> <C>iskUp</C> <C>move up (one row)</C> </R>
<R> <C>iskDown</C> <C>move down (one row)</C> </R>
<R> <C>iskFirst</C> <C>move to first image</C> </R>
<R> <C>iskLast</C> <C>move to the last image</C> </R>
<R> <C>iskPagDown</C> <C>move to the next page</C> </R>
<R> <C>iskPagUp</C> <C>move the the previous page</C> </R>
</TABLE>
!!}
  TIESeek = (iskLeft, iskRight, iskUp, iskDown, iskFirst, iskLast, iskPagDown, iskPagUp);

{!!
<FS>TIEMStyle

<FM>Declaration<FC>
TIEMStyle = (iemsFlat, iemsACD);

<FM>Description<FN>
<TABLE>
<R> <H>Value</H> <H>Description</H> </R>
<R> <C>iemsFlat</C> <C>flat style (old ImageEn style)</C></R>
<R> <C>iemsACD</C> <C>3D style (default)</C></R>
</TABLE>
!!}
  TIEMStyle = (iemsFlat, iemsACD);

{!!
<FS>TIESStyle

<FM>Declaration<FC>
TIESStyle = (iessAround, iessACD);

<FM>Description<FN>
<TABLE>
<R> <H>Value</H> <H>Description</H> </R>
<R> <C>iessAround</C> <C>Draw a rectangle around the thumbnail.</C> </R>
<R> <C>iessACD</C> <C>Use clHighlight for background and clHighlightText for text (default).</C> </R>
</TABLE>
!!}
  TIESStyle = (iessAround, iessACD);

{!!
<FS>TIEMultiSelectionOptions

<FM>Declaration<FC>
}
  TIEMultiSelectionOptions = set of ( iemoRegion, iemoSelectOnMouseUp );
{!!}

  TImageEnMView = class;

  TIEStarter = class(TThread)
  public
    mview: TImageEnMView;
    procedure Execute; override;
  end;

{!!
<FS>TImageEnMView

<FM>Description<FN>
TImageEnMView component is the same as <A TImageEnView>, but it can handle multiple images.
TImageEnMView can display images in rows, in columns, in a grid or in a single frame. The images can be animated: if you choose to show a single frame, you can view an animated sequence (as a Gif or an AVI). Each image has assigned a delay time.

The images can be stored fully, as thumbnails (a sub-resampled image of the original), or loaded when displayed (you have to specify only the file name), or upon request (whenever an image is to be shown, an event is generated).

If you choose, the user can select an image: selected images will have a bordered frame.
You can also specify a custom function whenever an image is shown (i.e., to paint the image index near the image).

Note: Users often attach a <A TImageEnIO> component to TImageEnMView component. This is not correct. The <A TImageEnMIO> component must be attached only to a TImageEnMView component, or you can use embedded <A TImageEnMView.MIO> object.

<FM>Properties<FN>

  <A TImageEnMView.Bitmap>
  <A TImageEnMView.BackgroundStyle>
  <A TImageEnMView.BottomGap>
  <A TImageEnMView.DisplayMode>
  <A TImageEnMView.DrawImageBackground>
  <A TImageEnMView.EnableAdjustOrientation>
  <A TImageEnMView.EnableAlphaChannel>
  <A TImageEnMView.EnableImageCaching>
  <A TImageEnMView.EnableLoadEXIFThumbnails>
  <A TImageEnMView.EnableMultiSelect>
  <A TImageEnMView.EnableResamplingOnMinor>
  <A TImageEnMView.FillThumbnail>
  <A TImageEnMView.FlatScrollBars>
  <A TImageEnMView.GradientEndColor>
  <A TImageEnMView.GridWidth>
  <A TImageEnMView.HorizBorder>
  <A TImageEnMView.HScrollBarParams>
  <A TImageEnMView.KeyInteract>
  <A TImageEnMView.IEBitmap>
  <A TImageEnMView.ImageBackground>
  <A TImageEnMView.ImageBitCount>
  <A TImageEnMView.ImageBottomText>
  <A TImageEnMView.ImageCacheSize>
  <A TImageEnMView.ImageCol>
  <A TImageEnMView.ImageCount>
  <A TImageEnMView.ImageDelayTime>
  <A TImageEnMView.ImageEnVersion>
  <A TImageEnMView.ImageFileName>
  <A TImageEnMView.ImageHeight>
  <A TImageEnMView.ImageID>
  <A TImageEnMView.ImageInfoText>
  <A TImageEnMView.ImageOriginalHeight>
  <A TImageEnMView.ImageOriginalWidth>
  <A TImageEnMView.ImageRow>
  <A TImageEnMView.ImageTopText>
  <A TImageEnMView.ImageWidth>
  <A TImageEnMView.ImageX>
  <A TImageEnMView.ImageY>
  <A TImageEnMView.LookAhead>
  <A TImageEnMView.JobsRunning>
  <A TImageEnMView.JobsWaiting>
  <A TImageEnMView.LockPaintCount>
  <A TImageEnMView.MaintainInvisibleImages>
  <A TImageEnMView.MaximumViewX>
  <A TImageEnMView.MaximumViewY>
  <A TImageEnMView.MIO>
  <A TImageEnMView.MouseInteract>
  <A TImageEnMView.MultiSelectedimagesCount>
  <A TImageEnMView.MultiSelectedImages>
  <A TImageEnMView.MultiSelecting>
  <A TImageEnMView.MultiSelectionOptions>
  <A TImageEnMView.Playing>
  <A TImageEnMView.PlayLoop>
  <A TImageEnMView.Proc>
  <A TImageEnMView.RemoveCorrupted>
  <A TImageEnMView.ScrollBars>
  <A TImageEnMView.ScrollBarsAlwaysVisible>
  <A TImageEnMView.SelectedImage>
  <A TImageEnMView.SelectionColor>
  <A TImageEnMView.SelectionStyle>
  <A TImageEnMView.SelectionWidth>
  <A TImageEnMView.SelectionWidthNoFocus>
  <A TImageEnMView.SoftShadow>
  <A TImageEnMView.StoreType>
  <A TImageEnMView.Style>
  <A TImageEnMView.ThreadPoolSize>
  <A TImageEnMView.ThumbHeight>
  <A TImageEnMView.ThumbnailDisplayFilter>
  <A TImageEnMView.ThumbnailFrameRect>
  <A TImageEnMView.ThumbnailFrameSelected>
  <A TImageEnMView.ThumbnailFrame>
  <A TImageEnMView.ThumbnailResampleFilter>
  <A TImageEnMView.ThumbnailsBackground>
  <A TImageEnMView.ThumbnailsBackgroundStyle>
  <A TImageEnMView.ThumbnailsBorderColor>
  <A TImageEnMView.ThumbnailsBorderWidth>
  <A TImageEnMView.ThumbnailsInternalBorderColor>
  <A TImageEnMView.ThumbnailsInternalBorder>
  <A TImageEnMView.ThumbsRounded>
  <A TImageEnMView.ThumbWidth>
  <A TImageEnMView.TransitionDuration>
  <A TImageEnMView.TransitionEffect>
  <A TImageEnMView.TransitionRunning>
  <A TImageEnMView.UpperGap>
  <A TImageEnMView.VertBorder>
  <A TImageEnMView.ViewX>
  <A TImageEnMView.ViewY>
  <A TImageEnMView.VisibleFrame>
  <A TImageEnMView.VisibleSelection>
  <A TImageEnMView.VScrollBarParams>
  <A TImageEnMView.WallPaperStyle>
  <A TImageEnMView.WallPaper>

<FM>Methods<FN>

  <A TImageEnMView.AppendImage>
  <A TImageEnMView.AppendImage2>
  <A TImageEnMView.BeginSelectImages>
  <A TImageEnMView.CenterFrame>
  <A TImageEnMView.CenterSelected>
  <A TImageEnMView.ClearImageCache>
  <A TImageEnMView.Clear>
  <A TImageEnMView.CopyToIEBitmap>
  <A TImageEnMView.CreateMorphingSequence>
  <A TImageEnMView.DeleteImage>
  <A TImageEnMView.DeleteSelectedImages>
  <A TImageEnMView.DeSelect>
  <A TImageEnMView.EndSelectImages>
  <A TImageEnMView.FillFromDirectory>
  <A TImageEnMView.GetBitmap>
  <A TImageEnMView.GetImageVisibility>
  <A TImageEnMView.GetLastOpIdx>
  <A TImageEnMView.GetLastOp>
  <A TImageEnMView.GetTIEBitmap>
  <A TImageEnMView.IEBeginDrag>
  <A TImageEnMView.IEEndDrag>
  <A TImageEnMView.ImageAtGridPos>
  <A TImageEnMView.ImageAtPos>
  <A TImageEnMView.InsertImageEx>
  <A TImageEnMView.InsertImage>
  <A TImageEnMView.InsertingPoint>
  <A TImageEnMView.IsSelected>
  <A TImageEnMView.IsVisible>
  <A TImageEnMView.LoadFromFileOnDemand>
  <A TImageEnMView.LockPaint>
  <A TImageEnMView.MoveImage>
  <A TImageEnMView.MultiSelectSortList>
  <A TImageEnMView.PrepareSpaceFor>
  <A TImageEnMView.ReleaseBitmap>
  <A TImageEnMView.ReloadImage>
  <A TImageEnMView.SelectAll>
  <A TImageEnMView.SelectSeek>
  <A TImageEnMView.SetChessboardStyle>
  <A TImageEnMView.SetIEBitmap>
  <A TImageEnMView.SetImageEx>
  <A TImageEnMView.SetImageFromFile>
  <A TImageEnMView.SetImageFromStream>
  <A TImageEnMView.SetImageRect>
  <A TImageEnMView.SetImage>
  <A TImageEnMView.SetPresetThumbnailFrame>
  <A TImageEnMView.SetViewXY>
  <A TImageEnMView.Sort>
  <A TImageEnMView.UnLockPaint>
  <A TImageEnMView.UnSelectImage>
  <A TImageEnMView.Update>
  <A TImageEnMView.UpdateCoords>
  <A TImageEnMView.UpdateImage>

<FM>Events<FN>

  <A TImageEnMView.OnAllDisplayed>
  <A TImageEnMView.OnBeforeImageDrawEx>
  <A TImageEnMView.OnBeforeImageDraw>
  <A TImageEnMView.OnDrawProgress>
  <A TImageEnMView.OnFinishWork>
  <A TImageEnMView.OnImageDeselect>
  <A TImageEnMView.OnImageDraw>
  <A TImageEnMView.OnImageDraw2>
  <A TImageEnMView.OnImageIDRequestEx>
  <A TImageEnMView.OnImageIDRequest>
  <A TImageEnMView.OnImageSelect>
  <A TImageEnMView.OnIOProgress>
  <A TIEView.OnMouseEnter>
  <A TIEView.OnMouseLeave>
  <A TImageEnMView.OnViewChange>
  <A TImageEnMView.OnWrongImage>
!!}
  TImageEnMView = class(TIEView)
  private
    /////////////////////////
    // P R I V A T E
    fMDown: boolean;
    fBackBuffer: TIEBitmap;
    fHSVX1, fHSVY1: integer;            // view in mouse down
    fScrollBars: TScrollStyle;
    fRXScroll, fRYScroll: double;
    fViewX, fViewY: integer;
    fImageList: TIEVirtualImageList;
    fCacheList: TIEVirtualImageList;
    fImageInfo: TList;                  // contains TIEImageInfo structures
    fStoreType: TIEStoreType;           // how to store images
    fThumbWidth, fThumbHeight: integer; // thumbsnails size
    fHorizBorder: integer;              // horizontal border
    fVertBorder: integer;               // vertical border
    fVWidth, fVHeight: integer;         // virtual space size (Updated by UpdateCoords)
    fOnViewChange: TViewChangeEvent;
    fOnDrawProgress: TIEMProgressEvent;
    fOnWrongImage: TIEWrongImageEvent;
    fHDrawDib: HDRAWDIB;                // to draw on display
    fOnImageIDRequest: TIEImageIDRequestEvent;
    fOnImageIDRequestEx: TIEImageIDRequestExEvent;
    fOnImageDraw: TIEImageDrawEvent;
    fOnImageDraw2: TIEImageDraw2Event;
    fOnIOProgress: TIEProgressEvent;
    fBottomGap: integer;
    fUpperGap: integer;
    fDisplayMode: TIEMDisplayMode;      // display mode
    fGridWidth: integer;                // number of horizontal images (1=all vertical, other is a grid)
    fHSX1, fHSY1: integer;              // mouse down coordinates
    fHSIDX, fLHSIDX: integer;
    fHSIDX2:integer;
    fImageEnIO: TImageEnIO;             // to load images
    fLockPaint: integer;                // 0=paint unlocked
    fRemoveCorrupted: boolean;          // works only when ImageFileName[] contains valid names
    fDrawImageBackground: boolean;      // true=draw image background  false=draw component background
    fScrollBarsAlwaysVisible: boolean;  // true if the scrollbars are always visible
    fVScrollBarParams: TIEScrollBarParams;
    fHScrollBarParams: TIEScrollBarParams;
    fThumbnailResampleFilter: TResampleFilter;
    fThumbnailDisplayFilter: TResampleFilter;
    fDestroying: boolean;               // component is destroying
    fStyle: TIEMStyle;
    fSelectionStyle: TIESStyle;
    fDoubleClicking: boolean;
    fThumbnailsBackground: TColor;
    fThumbnailsBorderWidth: integer;
    fThumbnailsBorderColor: TColor;
    fThumbnailsInternalBorder: boolean;
    fThumbnailsInternalBorderColor: TColor;
    fUpdating: boolean;
    fEnableResamplingOnMinor: boolean;  // Enable resampling when the image has width and height < of thumbnail width and height
    fThumbsRounded:integer;
    fEnableAdjustOrientation:boolean;
    fEnableLoadEXIFThumbnails:boolean;  // if we need thumbnails, allow to use EXIF thumbnails
    // when true (default) the image will be resized to the thumbnail sizes
    fEnableAlphaChannel: boolean;
    fBackgroundStyle: TIEBackgroundStyle;
    fThumbnailsBackgroundStyle: TIEBackgroundStyle;
    fFillThumbnail: boolean;
    fCurrentCompare: TIEImageEnMViewSortCompare;
    // Multithread
    fThreadPoolSize: integer;           // maximum threads count (0=disable multithread)
    fThreadPoolIO: TList;               // list of TImageEnIO objects (maximum size is fThreadPoolSize)
    fThreadRequests: TList;             // list of integers, the indexes of the image to load (no maximum size)
    fThreadStarter: TIEStarter;         // starter main thread
    fLookAheadList:TList;               // list of lookaheaded images (index of)
    // Wall paper
    fWallPaper: TPicture;
    fWallPaperStyle: TIEWallPaperStyle;
    // Selections

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -