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

📄 ieds.pas

📁 ·ImageEn 2.3.0 ImageEn一组用于图像处理、查看和分析的Delphi控件。能够保存几种图像格式
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  IAMClockSlave = interface(IUnknown)
    ['{9FD52741-176D-4b36-8F51-CA8F933223BE}']
    function SetErrorTolerance(dwTolerance:DWORD):HRESULT; stdcall;
    function GetErrorTolerance(pdwTolerance:PDWORD):HRESULT; stdcall;
  end;
  IID_IAMClockSlave = IAMClockSlave;

const
  IEMAX_FILTER_NAME = 128;
type
  FILTER_INFO = record
    achName: array[0..IEMAX_FILTER_NAME - 1] of WideChar;
    pGraph: IFilterGraph;
  end;

type
  PIN_INFO = record
    pFilter: IBaseFilter;
    dir: integer;
    achName: array[0..IEMAX_FILTER_NAME - 1] of WideChar;
  end;

  IGraphBuilder = interface(IFilterGraph)
    ['{56a868a9-0ad4-11ce-b03a-0020af0ba770}']
    function Connect(ppinOut:IPin; ppinIn:IPin): HRESULT; stdcall;
    function Render(ppinOut:IPin): HRESULT; stdcall;
    function RenderFile: HRESULT; stdcall;
    function AddSourceFilter(lpwstrFileName: PWideChar; lpwstrFilterName: PWideChar; var ppFilter: IBaseFilter): HRESULT; stdcall;
    function SetLogFile: HRESULT; stdcall;
    function Abort: HRESULT; stdcall;
    function ShouldOperationContinue: HRESULT; stdcall;
  end;
  IID_IGraphBuilder = IGraphBuilder;

  IFilterGraph2 = interface(IGraphBuilder)
    ['{36b73882-c2c8-11cf-8b46-00805f6cef60}']
    function AddSourceFilterForMoniker: HRESULT; stdcall;
    function ReconnectEx(ppin:IPin; pmt:PIEAM_MEDIA_TYPE): HRESULT; stdcall;
    function RenderEx(pPinOut:IPin; dwFlags:DWORD; pvContext:PDWORD): HRESULT; stdcall;
  end;
  IID_IFilterGraph2 = IFilterGraph2;

  IFileSinkFilter = interface(IUnknown)
    ['{a2104830-7c70-11cf-8bce-00aa00a3f1a6}']
    function SetFileName: HRESULT; stdcall;
    function GetCurFile: HRESULT; stdcall;
  end;

  IVideoWindow = interface(IDispatch)
  ['{56a868b4-0ad4-11ce-b03a-0020af0ba770}']
    function put_Caption: HRESULT; stdcall;
    function get_Caption: HRESULT; stdcall;
    function put_WindowStyle: HRESULT; stdcall;
    function get_WindowStyle: HRESULT; stdcall;
    function put_WindowStyleEx: HRESULT; stdcall;
    function get_WindowStyleEx: HRESULT; stdcall;
    function put_AutoShow(AutoShow:integer ): HRESULT; stdcall;
    function get_AutoShow: HRESULT; stdcall;
    function put_WindowState: HRESULT; stdcall;
    function get_WindowState: HRESULT; stdcall;
    function put_BackgroundPalette: HRESULT; stdcall;
    function get_BackgroundPalette: HRESULT; stdcall;
    function put_Visible: HRESULT; stdcall;
    function get_Visible: HRESULT; stdcall;
    function put_Left: HRESULT; stdcall;
    function get_Left: HRESULT; stdcall;
    function put_Width: HRESULT; stdcall;
    function get_Width: HRESULT; stdcall;
    function put_Top: HRESULT; stdcall;
    function get_Top: HRESULT; stdcall;
    function put_Height: HRESULT; stdcall;
    function get_Height: HRESULT; stdcall;
    function put_Owner: HRESULT; stdcall;
    function get_Owner: HRESULT; stdcall;
    function put_MessageDrain: HRESULT; stdcall;
    function get_MessageDrain: HRESULT; stdcall;
    function get_BorderColor: HRESULT; stdcall;
    function put_BorderColor: HRESULT; stdcall;
    function get_FullScreenMode: HRESULT; stdcall;
    function put_FullScreenMode: HRESULT; stdcall;
    function SetWindowForeground: HRESULT; stdcall;
    function NotifyOwnerMessage: HRESULT; stdcall;
    function SetWindowPosition: HRESULT; stdcall;
    function GetWindowPosition: HRESULT; stdcall;
    function GetMinIdealImageSize: HRESULT; stdcall;
    function GetMaxIdealImageSize: HRESULT; stdcall;
    function GetRestorePosition: HRESULT; stdcall;
    function HideCursor: HRESULT; stdcall;
    function IsCursorHidden: HRESULT; stdcall;
  end;
  IID_IVideoWindow=IVideoWindow;

  ICaptureGraphBuilder2 = interface(IUnknown)
    ['{93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D}']
    function SetFiltergraph(pfg: IGraphBuilder): HRESULT; stdcall;
    function GetFiltergraph: HRESULT; stdcall;
    function SetOutputFileName(const pType: TGUID; lpwstrFile: PWideChar; var ppf: IBaseFilter; var pSink: IFileSinkFilter): HRESULT; stdcall;
    function FindInterface(pCategory, pType: PGUID; pf: IBaseFilter; const riid: TGUID; var ppint: IUnknown): HRESULT; stdcall;
    function RenderStream(pCategory: PGUID; pType: PGUID; pSource: IUnknown; pIntermediate: IBaseFilter; pSink: IBaseFilter): HRESULT; stdcall;
    function ControlStream(pCategory: PGUID; pType: PGUID; pFilter: IBaseFilter; pstart: PIEREFERENCE_TIME; pstop: PIEREFERENCE_TIME; wStartCookie: word; wStopCookie: word): HRESULT; stdcall;
    function AllocCapFile: HRESULT; stdcall;
    function CopyCaptureFile: HRESULT; stdcall;
    function FindPin(pSource: IUnknown; pindir: integer; pCategory: PGUID; pType: PGUID; fUnconnected: longbool; num: integer; var ppPin: IPin): HRESULT; stdcall;
  end;
  IID_ICaptureGraphBuilder2 = ICaptureGraphBuilder2;

{!!
<FS>TIEDirectShowState

<FM>Declaration<FC>
}
  TIEDirectShowState = (gsStopped, gsPaused, gsRunning);
{!!}

  IMediaControl = interface(IDispatch)
    ['{56a868b1-0ad4-11ce-b03a-0020af0ba770}']
    function Run: HRESULT; stdcall;
    function Pause: HRESULT; stdcall;
    function Stop: HRESULT; stdcall;
    function GetState(msTimeout: dword; var pfs: TIEDirectShowState): HRESULT; stdcall;
    function RenderFile: HRESULT; stdcall;
    function AddSourceFilter: HRESULT; stdcall;
    function get_FilterCollection: HRESULT; stdcall;
    function get_RegFilterCollection: HRESULT; stdcall;
    function StopWhenReady: HRESULT; stdcall;
  end;
  IID_IMediaControl = IMediaControl;

  IMediaSeeking = interface(IUnknown)
    ['{36b73880-c2c8-11cf-8b46-00805f6cef60}']
    function GetCapabilities: HRESULT; stdcall;
    function CheckCapabilities: HRESULT; stdcall;
    function IsFormatSupported: HRESULT; stdcall;
    function QueryPreferredFormat: HRESULT; stdcall;
    function GetTimeFormat(pFormat: PGUID): HRESULT; stdcall;
    function IsUsingTimeFormat: HRESULT; stdcall;
    function SetTimeFormat(pFormat: PGUID): HRESULT; stdcall;
    function GetDuration(pDuration: PIEREFERENCE_TIME): HRESULT; stdcall;
    function GetStopPosition: HRESULT; stdcall;
    function GetCurrentPosition(pCurrent: PIEREFERENCE_TIME): HRESULT; stdcall;
    function ConvertTimeFormat(pTarget:PIEREFERENCE_TIME; pTargetFormat:PGUID; Source:PIEREFERENCE_TIME; pSourceFormat:PGUID): HRESULT; stdcall;
    function SetPositions(pCurrent: PIEREFERENCE_TIME; dwCurrentFlags: dword; pStop: PIEREFERENCE_TIME; dwStopFlags: dword): HRESULT; stdcall;
    function GetPositions(pCurrent: PIEREFERENCE_TIME; pStop: PIEREFERENCE_TIME): HRESULT; stdcall;
    function GetAvailable: HRESULT; stdcall;
    function SetRate(dRate: double): HRESULT; stdcall;
    function GetRate(dRate: pdouble): HRESULT; stdcall;
    function GetPreroll: HRESULT; stdcall;
  end;
  IID_IMediaSeeking = IMediaSeeking;

  IMediaEvent = interface(IDispatch)
    ['{56a868b6-0ad4-11ce-b03a-0020af0ba770}']
    function GetEventHandle: HRESULT; stdcall;
    function GetEvent(var lEventCode: integer; var lParam1: integer; var lParam2: integer; msTimeout: integer): HRESULT; stdcall;
    function WaitForCompletion(msTimeout: integer; var pEvCode: integer): HRESULT; stdcall;
    function CancelDefaultHandling: HRESULT; stdcall;
    function RestoreDefaultHandling: HRESULT; stdcall;
    function FreeEventParams(lEventCode: integer; lParam1: integer; lParam2: integer): HRESULT; stdcall;
  end;
  IID_IMediaEvent = IMediaEvent;

  IMediaEventEx = interface(IMediaEvent)
    ['{56a868c0-0ad4-11ce-b03a-0020af0ba770}']
    function SetNotifyWindow(hwnd: THandle; lMsg: integer; lInstanceData: integer): HRESULT; stdcall;
    function SetNotifyFlags: HRESULT; stdcall;
    function GetNotifyFlags: HRESULT; stdcall;
  end;
  IID_IMediaEventEx = IMediaEventEx;

  IEVIDEOINFOHEADER = record
    rcSource: TRect;
    rcTarget: TRect;
    dwBitRate: dword;
    dwBitErrorRate: dword;
    AvgTimePerFrame: IEREFERENCE_TIME;
    bmiHeader: TBITMAPINFOHEADER;
  end;
  PIEVIDEOINFOHEADER = ^IEVIDEOINFOHEADER;

  IMediaSample = interface(IUnknown)
    ['{56a8689a-0ad4-11ce-b03a-0020af0ba770}']
    function GetPointer: HRESULT; stdcall;
    function GetSize: integer; stdcall;
    function GetTime: HRESULT; stdcall;
    function SetTime: HRESULT; stdcall;
    function IsSyncPoint: HRESULT; stdcall;
    function SetSyncPoint: HRESULT; stdcall;
    function IsPreroll: HRESULT; stdcall;
    function SetPreroll: HRESULT; stdcall;
    function GetActualDataLength: integer; stdcall;
    function SetActualDataLength: HRESULT; stdcall;
    function GetMediaType: HRESULT; stdcall;
    function SetMediaType: HRESULT; stdcall;
    function IsDiscontinuity: HRESULT; stdcall;
    function SetDiscontinuity: HRESULT; stdcall;
    function GetMediaTime: HRESULT; stdcall;
    function SetMediaTime: HRESULT; stdcall;
  end;

  ISampleGrabberCB = interface(IUnknown)
    ['{0579154A-2B53-4994-B0D0-E773148EFF85}']
    function SampleCB(SampleTime: double; pSample: IMediaSample): HRESULT; stdcall;
    function BufferCB(SampleTime: double; pBuffer: pbyte; BufferLen: integer): HRESULT; stdcall;
  end;

  ISampleGrabber = interface(IUnknown)
    ['{6B652FFF-11FE-4fce-92AD-0266B5D7C78F}']
    function SetOneShot: HRESULT; stdcall;
    function SetMediaType(pType: PIEAM_MEDIA_TYPE): HRESULT; stdcall;
    function GetConnectedMediaType(pType: PIEAM_MEDIA_TYPE): HRESULT; stdcall;
    function SetBufferSamples(BufferThem: longbool): HRESULT; stdcall;
    function GetCurrentBuffer(pBufferSize: pinteger; pBuffer: pointer): HRESULT; stdcall;
    function GetCurrentSample: HRESULT; stdcall;
    function SetCallback(pCallback: ISampleGrabberCB; WhichMethodToCallback: integer): HRESULT; stdcall;
  end;
  IID_ISampleGrabber = ISampleGrabber;

{!!
<FS>TIETimeFormat

<FM>Declaration<FC>
}
  TIETimeFormat = (tfNone, tfFrame, tfSample, tfField, tfByte, tfTime);
{!!}

  TIESampleGrabberCB = class(TInterfacedObject, ISampleGrabberCB)
  private
    fOwner: TObject; // a TIEDirectShow object
  public
    constructor Create(Owner: TObject);
    destructor Destroy; override;
    function SampleCB(SampleTime: double; pSample: IMediaSample): HRESULT; stdcall;
    function BufferCB(SampleTime: double; pBuffer: pbyte; BufferLen: integer): HRESULT; stdcall;
  end;

  IAMStreamConfig = interface(IUnknown)
    ['{C6E13340-30AC-11d0-A18C-00A0C9118956}']
    function SetFormat(pmt: PIEAM_MEDIA_TYPE): HRESULT; stdcall;
    function GetFormat(var ppmt: PIEAM_MEDIA_TYPE): HRESULT; stdcall;
    function GetNumberOfCapabilities(var piCount, piSize: Integer): HRESULT; stdcall;
    function GetStreamCaps(iIndex: Integer; var ppmt: PIEAM_MEDIA_TYPE; pSCC: pointer): HRESULT; stdcall;
  end;
  IID_IAMStreamConfig = IAMStreamConfig;

  IAMCrossbar = interface(IUnknown)
    ['{C6E13380-30AC-11d0-A18C-00A0C9118956}']
    function get_PinCounts(var OutputPinCount: integer; var InputPinCount: integer): HRESULT; stdcall;
    function CanRoute(OutputPinIndex: integer; InputPinIndex: integer): HRESULT; stdcall;
    function Route(OutputPinIndex: integer; InputPinIndex: integer): HRESULT; stdcall;
    function get_IsRoutedTo(OutputPinIndex: integer; var InputPinIndex: integer): HRESULT; stdcall;
    function get_CrossbarPinInfo(IsInputPin: longbool; PinIndex: integer; var PinIndexRelated: integer; var PhysicalType: integer): HRESULT; stdcall;
  end;
  IID_IAMCrossBar = IAMCrossBar;

  IAMTuner = interface(IUnknown)
    ['{211A8761-03AC-11d1-8D13-00AA00BD8339}']
    function put_Channel(lChannel: integer; lVideoSubChannel: integer; lAudioSubChannel: integer): HRESULT; stdcall;
    function get_Channel(var plChannel: integer; var plVideoSubChannel: integer; var plAudioSubChannel: integer): HRESULT; stdcall;
    function ChannelMinMax: HRESULT; stdcall;
    function put_CountryCode: HRESULT; stdcall;
    function get_CountryCode: HRESULT; stdcall;
    function put_TuningSpace(lTuningSpace: integer): HRESULT; stdcall;
    function get_TuningSpace: HRESULT; stdcall;
    function Logon: HRESULT; stdcall;
    function Logout: HRESULT; stdcall;
    function SignalPresent(var plSignalStrength: integer): HRESULT; stdcall;
    function put_Mode: HRESULT; stdcall;
    function get_Mode: HRESULT; stdcall;
    function GetAvailableModes: HRESULT; stdcall;
    function RegisterNotificationCallBack: HRESULT; stdcall;
    function UnRegisterNotificationCallBack: HRESULT; stdcall;
  end;
  IID_IAMTuner = IAMTuner;

  IAMTVTuner = interface(IAMTuner)
    ['{211A8766-03AC-11d1-8D13-00AA00BD8339}']
    function get_AvailableTVFormats: HRESULT; stdcall;
    function get_TVFormat: HRESULT; stdcall;
    function AutoTune(lChannel: integer; var plFoundSignal: integer): HRESULT; stdcall;
    function StoreAutoTune: HRESULT; stdcall;
    function get_NumInputConnections: HRESULT; stdcall;
    function put_InputType: HRESULT; stdcall;
    function get_InputType: HRESULT; stdcall;
    function put_ConnectInput: HRESULT; stdcall;
    function get_ConnectInput: HRESULT; stdcall;
    function get_VideoFrequency: HRESULT; stdcall;
    function get_AudioFrequency: HRESULT; stdcall;
  end;
  IID_IAMTVTuner = IAMTVTuner;

  IVideoFrameStep = interface(IUnknown)
    ['{e46a9787-2b71-444d-a4b5-1fab7b708d6a}']
    function Step(dwFrames:DWORD; pStepObject:IUnknown):HRESULT; stdcall;
    function CanStep(bMultiple:integer; pStepObject:IUnknown):HRESULT; stdcall;
    function CancelStep:HRESULT; stdcall;
  end;
  IID_IVideoFrameStep = IVideoFrameStep;

  IMediaDet = interface(IUnknown)
    ['{65BD0710-24D2-4ff7-9324-ED2E5D3ABAFA}']
    function get_Filter(var pVal:IUnknown):HRESULT; stdcall;
    function put_Filter(newVal:IUnknown ):HRESULT; stdcall;
    function get_OutputStreams(pVal:pinteger):HRESULT; stdcall;
    function get_CurrentStream(pVal:pinteger):HRESULT; stdcall;
    function put_CurrentStream(newVal:integer):HRESULT; stdcall;
    function get_StreamType(pVal:PGUID):HRESULT; stdcall;
    function get_StreamTypeB(var pVal:PWideChar):HRESULT; stdcall;
    function get_StreamLength(pVal:pdouble):HRESULT; stdcall;
    function get_Filename(var pVal:PWideChar):HRESULT; stdcall;
    function put_Filename(newVal:PWideChar):HRESULT; stdcall;
    function GetBitmapBits(
            StreamTime:double;
            pBufferSize:pinteger;
            pBuffer:pchar;
            Width:integer;
            Height:integer):HRESULT; stdcall;
    function WriteBitmapBits(
            StreamTime:double;
            Width:integer;
            Height:integer;
            Filename:PWideChar):HRESULT; stdcall;
    function get_StreamMediaType(pVal:PIEAM_MEDIA_TYPE):HRESULT; stdcall;
    function GetSampleGrabber(var ppVal:ISampleGrabber):HRESULT; stdcall;
    function get_FrameRate(pVal:pdouble):HRESULT; stdcall;
    function EnterBitmapGrabMode(SeekTime:double):HRESULT; stdcall;
  end;
  IID_IMediaDet = IMediaDet;

  IVMRWindowlessControl = interface(IUnknown)
    ['{0eb1088c-4dcd-46f0-878f-39dae86a51b7}']

⌨️ 快捷键说明

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