Winsoft Image Acquisition for macOS v1.7 for Delphi 10.3-12 Athens Full Source

Delphi and C++ Builder component to acquire images from scanner devices.


Uses ImageCaptureCore framework
Available for Delphi 10.3...


Delphi and C++ Builder component to acquire images from scanner devices.


Uses ImageCaptureCore framework
Available for Delphi 10.3 - 12
Source code included in registered version
Royalty free distribution in applications

EXiaError = class(Exception)

TXiaScannerDevice = record
property Device: ICScannerDevice read;
property Name: string read;

TXiaError = record
property Code: LongInt read;
property Domain: string read;
property Error: NSError read;
property IsError: Boolean read;
property LocalizedDescription: string read;

TXiaDeviceAddedEvent = procedure (Sender: TObject; Device: TXiaScannerDevice) of object;
TXiaDeviceRemovedEvent = procedure (Sender: TObject; Device: TXiaScannerDevice) of object;
TXiaSessionOpenedEvent = procedure (Sender: TObject; Error: TXiaError) of object;
TXiaSessionClosedEvent = procedure (Sender: TObject; Error: TXiaError) of object;
TXiaFunctionalUnitSelectedEvent = procedure (Sender: TObject; Error: TXiaError) of object;
TXiaOverviewScanCompletedEvent = procedure (Sender: TObject; Error: TXiaError) of object;
TXiaScanCompletedEvent = procedure (Sender: TObject; Error: TXiaError) of object;
TXiaScanToUrlCompletedEvent = procedure (Sender: TObject; const Url: string) of object;

TXiaDocumentUniformType = (dtUnknown, dtPng, dtJPEG, dtJPEG2000, dtBmp, dtTiff, dtGif);
TXiaFunctionalUnitType = (ftUnknown, ftFlatbed, ftPositiveTransparency, ftNegativeTransparency, ftDocumentFeeder);
TXiaMeasurementUnit = (muUnknown, muInches, muCentimeters, muPicas, muPoints, muTwips, muPixels);
TXiaMeasurementUnits = set of TXiaMeasurementUnit;
TXiaPixelDataType = (ptUnknown, ptBW, ptGray, ptRGB, ptPalette, ptCMY, ptCMYK, ptYUV, ptYUVK, ptCIEXYZ);
TXiaFunctionalUnitState = (fsUnknown, fsReady, fsScanInProgress, fsOverviewScanInProgress);
TXiaFunctionalUnitStates = set of TXiaFunctionalUnitState;

TXiaScanner = class(TComponent)
constructor Create(AOwner: TComponent); override;

procedure CancelScan;
function GetIcon(Bitmap: TBitmap; SetSize: Boolean = True): Boolean;
function GetOverwiewImage(Bitmap: TBitmap; SetSize: Boolean = True): Boolean;
function IsBrowsing: Boolean;
procedure RequestCloseSession;
procedure RequestEjectOrDisconnect;
procedure RequestOpenSession;
procedure RequestOverviewScan;
procedure RequestScan;
procedure RequestSelectFunctionalUnit(FunctionalUnitType: TXiaFunctionalUnitType);
procedure StartBrowse;
procedure StopBrowse;

property AcceptsThresholdForBlackAndWhiteScanning: Boolean read;
property AutolaunchApplicationPath: string read write;
property AvailableFunctionalUnitTypes: TArray read;
property BitDepth: LongWord read write;
property ButtonPressed: string read;
property CanPerformOverviewScan: Boolean read;
property Capabilities: TArray read;
property DefaultThresholdForBlackAndWhiteScanning: Byte read;
property Device: ICScannerDevice read write;
property DeviceBrowser: ICDeviceBrowser read;
property DeviceBrowserDelegate: ICDeviceBrowserDelegate read;
property DeviceDelegate: ICScannerDeviceDelegate read;
property DeviceName: string read;
property Devices: TArray read;
property DocumentName: string read write;
property DocumentUniformType: TXiaDocumentUniformType read write;
property DocumentUTI: string read write;
property DownloadsDirectory: string read write;
property HasConfigurableWiFiInterface: Boolean read;
property HasOpenSession: Boolean read;
property IsRemote: Boolean read;
property LocationDescription: string read;
property MaxMemoryBandSize: Cardinal read write;
property MeasurementUnit: TXiaMeasurementUnit read write;
property ModulePath: string read;
property ModuleVersion: string read;
property NativeXResolution: LongWord read;
property NativeYResolution: LongWord read;
property OverviewResolution: LongWord read write;
property OverviewScanInProgress: Boolean read;
property PersistentID: string read;
property PhysicalSize: TSizeF read;
property PixelDataType: TXiaPixelDataType read write;
property PreferredDevice: TXiaScannerDevice read;
property PreferredResolutions: TArray read;
property PreferredScaleFactors: TArray read;
property Resolution: LongWord read write;
property ScaleFactor: LongWord read write;
property ScanArea: TRectF read write;
property ScanInProgress: Boolean read;
property ScanProgressPercentDone: Single read;
property SelectedFunctionalUnit: ICScannerFunctionalUnit read;
property SelectedFunctionalUnitType: TXiaFunctionalUnitType read;
property SerialNumber: string read;
property State: TXiaFunctionalUnitStates read;
property SupportedBitDepths: TArray read;
property SupportedMeasurementUnits: TXiaMeasurementUnits read;
property SupportedResolutions: TArray read;
property SupportedScaleFactors: TArray read;
property ThresholdForBlackAndWhiteScanning: Byte read write;
property TransportType: string read;
property UsbLocationID: Integer read;
property UsbProductID: Integer read;
property UsbVendorID: Integer read;
property UsesThresholdForBlackAndWhiteScanning: Boolean read write;
property UUID: string read GetUUID;
property Đ°bout: string read write stored False;

property DeviceAdded: TXiaDeviceAddedEvent read write;
property DeviceRemoved: TXiaDeviceRemovedEvent read write;
property FunctionalUnitSelected: TXiaFunctionalUnitSelectedEvent read write;
property OverviewScanCompleted: TXiaOverviewScanCompletedEvent read write;
property ScanCompleted: TXiaScanCompletedEvent read write;
property ScanToUrlCompleted: TXiaScanToUrlCompletedEvent read write;
property SessionClosed: TXiaSessionClosedEvent read write;
property SessionOpened: TXiaSessionOpenedEvent read write;

Additional Information