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

📄 iemview.pas

📁 ·ImageEn 2.3.0 ImageEn一组用于图像处理、查看和分析的Delphi控件。能够保存几种图像格式
💻 PAS
📖 第 1 页 / 共 5 页
字号:
ImageEnMView1.VScrollBarParams.Tracking:=False;
!!}
    property VScrollBarParams: TIEScrollBarParams read fVScrollBarParams;

{!!
<FS>TImageEnMView.HScrollBarParams

<FM>Declaration<FC>
property HScrollBarParams:<A TIEScrollBarParams>;

<FM>Description<FN>
The HScrollBarParams property allows an application to customize the horizontal scroll bar behavior like tracking (display refresh on mouse dragging), left/right buttons pixel scroll, pageleft/pageright pixel scroll.

<FM>Example<FC>

// disable tracking
ImageEnMView1.HScrollBarParams.Tracking:=False;
!!}
    property HScrollBarParams: TIEScrollBarParams read fHScrollBarParams;

    procedure RemoveAlphaChannel(Merge: boolean); override;
    procedure CallBitmapChangeEvents; override;
    procedure FillFromDirectory(const Directory: string; Limit:integer=-1);

{!!
<FS>TImageEnMView.EnableAdjustOrientation

<FM>Declaration<FC>
property EnableAdjustOrientation:boolean;

<FM>Description<FN>
When this property is True all images which have orientation information (like jpeg with EXIF) will be automatically orientated.
!!}
    property EnableAdjustOrientation:boolean read fEnableAdjustOrientation write fEnableAdjustOrientation;

{!!
<FS>TImageEnMView.MaintainInvisibleImages

<FM>Declaration<FC>
property MaintainInvisibleImages:integer;

<FM>Description<FN>
This property specifies the number of images to maintain when they are no more visible.
The default is 15.
Specifing -1 you allow to maintain all images.
Setting 0, all no more visible images are discarded.

This property acts only if images are loaded on demand like when you set <A TImageEnMView.ImageFileName> or <A TImageEnMView.FillFromDirectory> or <A TImageEnMView.LoadFromFileOnDemand>.
!!}
    property MaintainInvisibleImages:integer read fMaintainInvisibleImages write fMaintainInvisibleImages;

    procedure LoadFromFileOnDemand(const FileName:string);

{!!
<FS>TImageEnMView.EnableLoadEXIFThumbnails

<FM>Declaration<FC>
property EnableLoadEXIFThumbnails:boolean;

<FM>Description<FN>
If true (default) when you request to load thumbnails, ImageEn try to load EXIF thumbnails instead of resampled version of the full image.
!!}
    property EnableLoadEXIFThumbnails:boolean read fEnableLoadEXIFThumbnails write fEnableLoadEXIFThumbnails;

    procedure CreateMorphingSequence(Source:TImageEnVect; Target:TImageEnVect; FramesCount:integer);
    // multithreads
    property JobsRunning:integer read GetJobsRunning;
    property JobsWaiting:integer read GetJobsWaiting;

{!!
<FS>TImageEnMView.LookAhead

<FM>Declaration<FC>
property LookAhead:integer;

<FM>Description<FN>
This property specifies the number of invisible images to load ahead. The defaul is 0.
This property acts only if images are loaded on demand like when you set <A TImageEnMView.ImageFileName> or <A TImageEnMView.FillFromDirectory> or <A TImageEnMView.LoadFromFileOnDemand>.
!!}
    property LookAhead:integer read fLookAhead write fLookAhead;

    // cache
    procedure ClearImageCache(idx: integer);
    property EnableImageCaching: boolean read fEnableImageCaching write SetEnableImageCaching default true;
    // images
    property ImageWidth[idx: integer]: integer read GetImageWidth;
    property ImageHeight[idx: integer]: integer read GetImageHeight;
    property ImageOriginalWidth[idx: integer]: integer read GetImageOriginalWidth write SetImageOriginalWidth;
    property ImageOriginalHeight[idx: integer]: integer read GetImageOriginalHeight write SetImageOriginalHeight;
    property ImageBitCount[idx: integer]: integer read GetImageBitCount;
    property ImageX[idx: integer]: integer read GetImageX;
    property ImageY[idx: integer]: integer read GetImageY;
    property ImageRow[idx: integer]: integer read GetImageRow;
    property ImageCol[idx: integer]: integer read GetImageCol;
    property ImageFileName[idx: integer]: string read GetImageFileName write SetImageFileName;
    property ImageID[idx: integer]: integer read GetImageID write SetImageID;
    property ImageBackground[idx: integer]: TColor read GetImageBackground write SetImageBackground;
    property ImageDelayTime[idx: integer]: integer read GetImageDelayTime write SetimageDelayTime;

{!!
<FS>TImageEnMView.ImageTopText

<FM>Declaration<FC>
property ImageTopText[idx:integer]:<A TIEMText>;

<FM>Description<FN>
<A TImageEnMView.ImageTopText>, <A TImageEnMView.ImageBottomText> and <A TImageEnMView.ImageInfoText> to specify an optional text to write inside the thumbnail <FC>idx<FN>.

<A TIEMText> is an object that specifies how the text will be written.
The <A TImageEnMView.BottomGap> and <A TImageEnMView.UpperGap> properties will be adjusted to fit the text.

<FM>Example<FC>

ImageEnMView1.ImageTopText[idx].Caption:='Top text';
ImageEnMView1.ImageInfoText[idx].Caption:='Info text';
ImageEnMView1.ImageBottomText[idx].Caption:='Bottom text';
<IMG help_images\58.bmp>

ImageEnMView1.ImageTopText[idx].Caption:='Top text';
ImageEnMView1.ImageInfoText[idx].Caption:='Info text';
ImageEnMView1.ImageBottomText[idx].Caption:='Bottom text';
ImageEnMView1.ImageBottomText[idx].Background:=clYellow;
ImageEnMView1.ImageBottomText[idx].Font.Color:=clBlue;
<IMG help_images\59.bmp>
!!}
    property ImageTopText[idx: integer]: TIEMText read GetImageTopText;

{!!
<FS>TImageEnMView.ImageBottomText

<FM>Declaration<FC>
property ImageBottomText[idx:integer]:<A TIEMText>;

<FM>Description<FN>
<A TImageEnMView.ImageTopText>, <A TImageEnMView.ImageBottomText> and <A TImageEnMView.ImageInfoText> to specify an optional text to write inside the thumbnail <FC>idx<FN>.

<A TIEMText> is an object that specifies how the text will be written.
The <A TImageEnMView.BottomGap> and <A TImageEnMView.UpperGap> properties will be adjusted to fit the text.

<FM>Example<FC>

ImageEnMView1.ImageTopText[idx].Caption:='Top text';
ImageEnMView1.ImageInfoText[idx].Caption:='Info text';
ImageEnMView1.ImageBottomText[idx].Caption:='Bottom text';
<IMG help_images\58.bmp>

ImageEnMView1.ImageTopText[idx].Caption:='Top text';
ImageEnMView1.ImageInfoText[idx].Caption:='Info text';
ImageEnMView1.ImageBottomText[idx].Caption:='Bottom text';
ImageEnMView1.ImageBottomText[idx].Background:=clYellow;
ImageEnMView1.ImageBottomText[idx].Font.Color:=clBlue;
<IMG help_images\59.bmp>
!!}
    property ImageBottomText[idx: integer]: TIEMText read GetImageBottomText;

{!!
<FS>TImageEnMView.ImageInfoText

<FM>Declaration<FC>
property ImageInfoText[idx:integer]:<A TIEMText>;

<FM>Description<FN>
<A TImageEnMView.ImageTopText>, <A TImageEnMView.ImageBottomText> and <A TImageEnMView.ImageInfoText> to specify an optional text to write inside the thumbnail <FC>idx<FN>.

<A TIEMText> is an object that specifies how the text will be written.
The <A TImageEnMView.BottomGap> and <A TImageEnMView.UpperGap> properties will be adjusted to fit the text.

<FM>Example<FC>

ImageEnMView1.ImageTopText[idx].Caption:='Top text';
ImageEnMView1.ImageInfoText[idx].Caption:='Info text';
ImageEnMView1.ImageBottomText[idx].Caption:='Bottom text';
<IMG help_images\58.bmp>

ImageEnMView1.ImageTopText[idx].Caption:='Top text';
ImageEnMView1.ImageInfoText[idx].Caption:='Info text';
ImageEnMView1.ImageBottomText[idx].Caption:='Bottom text';
ImageEnMView1.ImageBottomText[idx].Background:=clYellow;
ImageEnMView1.ImageBottomText[idx].Font.Color:=clBlue;
<IMG help_images\59.bmp>
!!}
    property ImageInfoText[idx: integer]: TIEMText read GetImageInfoText;

    property ShowText: boolean read fShowText write SetShowText;
    procedure UpdateImage(idx: integer);
    procedure InsertImage(idx: integer);
    procedure InsertImageEx(idx: integer);
    procedure MoveImage(idx: integer; destination: integer);
    procedure Sort(Compare: TIEImageEnMViewSortCompare);
    function AppendImage: integer;
    function AppendImage2(Width,Height:integer; PixelFormat:TIEPixelFormat=ie24RGB):integer;
    procedure DeleteImage(idx: integer);
    procedure DeleteSelectedImages;
    property ImageCount: integer read GetImageCount;
    procedure UpdateCoords;
    procedure SetImage(idx: integer; v: TBitmap);
    procedure SetImageEx(idx: integer; v: TBitmap);
    procedure SetIEBitmapEx(idx: integer; v: TIEBaseBitmap);
    procedure SetIEBitmap(idx: integer; v: TIEBaseBitmap);
    function SetImageFromFile(idx: integer; const FileName: string): boolean;
    function SetImageFromStream(idx: integer; Stream: TStream): boolean;
    procedure SetImageRect(idx: integer; v: TBitmap; x1, y1, x2, y2: integer); overload;
    procedure SetImageRect(idx: integer; v: TIEBitmap; x1, y1, x2, y2: integer); overload;
    procedure Clear;
    function GetBitmap(idx: integer): TBitmap;
    procedure ReleaseBitmap(idx: integer);
    function GetTIEBitmap(idx: integer): TIEBitmap;
    function GetImageVisibility(idx: integer): integer;
    function ImageAtPos(x, y: integer): integer;
    function ImageAtGridPos(row, col: integer): integer;
    function InsertingPoint(x, y: integer): integer;

{!!
<FS>TImageEnMView.ThumbnailResampleFilter

<FM>Declaration<FC>
property ThumbnailResampleFilter: <A TResampleFilter>;

<FM>Description<FN>
ThumbnailResampleFilter specifies the filter to use when the application adds a new thumbnail. This enhances the image quality but could slow down the application.
Default value is rfFastLinear

<FM>Example<FC>

// insert image 1.jpg and 2.jpg. Only 1.jpg will be filtered.
ImageEnMView1.ThumbnailResampleFilter:= rfBSpline;
Idx:=ImageEnMView1.AppendImage;
ImageEnMView1.SetImageFromFile('1.jpg');
ImageEnMView1.ThumbnailResampleFilter:= rfNone;
Idx:=ImageEnMView1.AppendImage;
ImageEnMView1.SetImageFromFile('2.jpg');
!!}
    property ThumbnailResampleFilter: TResampleFilter read fThumbnailResampleFilter write fThumbnailResampleFilter;

{!!
<FS>TImageEnMView.ThumbnailDisplayFilter

<FM>Declaration<FC>
property ThumbnailDisplayFilter:<A TResampleFilter>;

<FM>Description<FN>
ThumbnailDisplayFilter specifies a filter to apply when an image (thumbnail) need to be resized. For black/white images it is automatically rfFastLinear.
!!}
    property ThumbnailDisplayFilter: TResampleFilter read fThumbnailDisplayFilter write fThumbnailDisplayFilter;

    property EnableResamplingOnMinor: boolean read fEnableResamplingOnMinor write SetEnableResamplingOnMinor;
    procedure CopyToIEBitmap(idx: integer; bmp: TIEBitmap);
    function IsVisible(idx: integer): boolean;
    procedure ReloadImage(imageIndex:integer);
    // allocations
    procedure PrepareSpaceFor(Width, Height: integer; Bitcount: integer; ImageCount: integer);
    // selection
    property SelectedImage: integer read fSelectedItem write SetSelectedItem;
    procedure Deselect;
    procedure SelectSeek(pos: TIESeek);

{!!
<FS>TImageEnMView.MultiSelecting

<FM>Declaration<FC>
property MultiSelecting:boolean;

<FM>Description<FN>
Set MultiSelecting to True to simulate a CTRL key press. It allows user to select multiple images with mouse or arrow keys without press CTRL key.
Also use MultiSelecting to select more than one image using the <A TImageEnMView.SelectedImage> property.
To use multiselections, the <A TImageEnMView.EnableMultiSelect> property must be True.

<FM>Example<FC>
// select images 0 and 1 (you have to set at design time ImageEnMView1.EnableMultiSelect:=True)
ImageEnMView1.Deselect;
ImageEnMView1.MultiSelecting:=True;
ImageEnMView1.SelectedImage:=0;
ImageEnMView1.SelectedImage:=1;
ImageEnMView1.MultiSelecting:=False;
!!}
    property MultiSelecting: boolean read fMultiSelecting write fMultiSelecting;

    property MultiSelectedImages[index: integer]: integer read GetMultiSelectedImages;
    property MultiSelectedImagesCount: integer read GetMultiSelectedImagesCount;
    procedure MultiSelectSortList;
    procedure UnSelectImage(idx: integer);
    procedure SelectAll;
    procedure BeginSelectImages;
    procedure EndSelectImages;
    function IsSelected(idx: integer): boolean;
    // play
    property Playing: boolean read fPlaying write SetPlaying;

{!!
<FS>TImageEnMView.PlayLoop

<FM>Declaration<FC>
property PlayLoop: boolean;

<FM>Description<FN>
Set PlayLoop to True to continuously loop playing.

!!}
    property PlayLoop: boolean read fPlayLoop write fPlayLoop;

    property VisibleFrame: integer read fFrame write SetVisibleFrame;
    //
    property TransitionRunning: boolean read GetTransitionRunning;
    // encapsulated components

{!!
<FS>TImageEnMView.MIO

<FM>Declaration<FC>
property MIO:<A TImageEnMIO>;

<FM>Description<FN>
The MIO property encapsulates the <A TImageEnMIO> component inside TImageEnMView. The TImageEnMIO component is created the first time you use the <A TImageEnMView.MIO> property.

<FM>Example<FC>
ImageEnMView1.MIO.LoadFromFile('film.avi');

ImageEnMView1.MIO.Acquire;
!!}
    property MIO: TImageEnMIO read GetImageEnMIO;

{!!
<FS>TImageEnMView.Proc

<FM>Declaration<FC>
property Proc:<A TImageEnProc>;

<FM>Description<FN>
The Proc property encapsulates the <A TImageEnProc> component inside TImageEnMView. The <A TImageEnProc> component is created the first time you use Proc property.

<FM>Example<FC>
ImageEnMView1.Proc.Negative;	// negate selected image
!!}
    property Proc: TImageEnProc read GetImageEnProc;

    // drag&drop
    procedure IEBeginDrag(Immediate: Boolean; Threshold: Integer=-1);
    procedure IEEndDrag;
    property SelectionWidthNoFocus: integer read fSelectionWidthNoFocus write SetSelectionWidthNoFocus;
  published
    ///////////////////////
    // P U B L I S H E D
    property ScrollBars: TScrollStyle read fScrollBars write SetScrollBars default ssBoth;

{!!
<FS>TImageEnMView.StoreType

<FM>Declaration<FC>
property StoreType: <A TIEStoreType>;

⌨️ 快捷键说明

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