TWAIN データソースからイメージを取り込みます。
[Visual Basic]
Public Function Execute() As Boolean
Public Function Execute(ByVal index() As Integer) As Boolean
[C#]
public bool Execute();
public bool Execute(int[] index);

パラメータ

index
デジタルカメラから取り込む際に使用するインデックス配列

戻り値

成功の場合は true 、失敗の場合は false を返します。

解説

イメージを 1 枚取り込む前後および最中にイベント(BeforeScan, AfterScan, Scanning)が発生しますので、その中で処理したいコードを記述してください。
index は UserInterface プロパティが Suppress で Mode プロパティがデジタルカメラを表す場合に有効となりますが、 index が必要ない場合はパラメータのないメソッドを使用してください。 indexは、デジタルカメラから指定した画像を取り込む際に使用します( Mode プロパティが CameraArray , CameraThumbnailArray の時に有効)。
例えば、 5 番目の画像と 8 番目の画像を取り込むには
  Dim Index(1) As Integer
  Index(0) = 5
  Index(1) = 8
とします。
データソースによってはサポートされていない機能があります。その場合はサポートされている機能のみを使用して取り込みを行います。 Execute メソッドを実行するには、事前に Initialize メソッドが実行されていなければなりません。 Execute メソッドを実行する前に OpenDataSource メソッドを実行すると、開いたままのデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

<メソッドを実行する前に設定する必要のあるプロパティ>
「必須項目」
DataSourceName (空文字列を指定する場合は、予め Select メソッドを実行しておくこと)
※OpenDataSourceName メソッドを事前に実行した場合は DataSourceName は無効(開いたデータソースが有効)
Transfer, Compression, UserInterface(エプソン製スキャナ用ドライバご利用時は ExtendedUserInterface も必須)
「設定条件により必要な項目」
FileFormat, FileName, JpegQuality

UserInterface が Suppress で Mode が InformationFile の場合
Mode, PageCount, Unit

UserInterface が Suppress で Mode が InformationFile 以外の場合
(1)スキャナ

AdjustGamma AutoBright BitDepth BitDepthReduction Border BorderColor BorderDetection Brightness
ColorBWRatio Contrast Deskew DropoutColor DynamicThreshold FocusPosition Gamma Halftone
Highlight IgnoreBackColor ImageFilter ImageMerge Indicator Mode MoireFilter NoiseFilter
Orientation OverScan PageCount PaperSize PixelType RemoveHole RotateBack Rotation
ScanningSpeed Shadow Sharpness Threshold SkipBlankPage SkipBlankThreshold TextEnhancement Unit
XResolution XScaling YResolution YScaling PaperSize<=0: Rect

※AdjustGamma, Border, BorderColor, ColorBWRatio, DynamicThreshold, FocusPosition, IgnoreBackColor, MoireFilter, RemoveHole, RotateBack, ScanningSpeed, Sharpness, SkipBlankThreshold, TextEnhancement はご利用のドライバによっては無効です。

(2)デジタルカメラ
Mode, PageCount ( index パラメータが不要の場合), Unit

<メソッド実行後に取得されるプロパティ>
BitDepth, Compression, ErrorStatus, FileFormat (ファイル転送の場合), PixelType, Rect, Count, Unit, XResolution, YResolution

設定するプロパティに関しては、それぞれのプロパティの解説を参照してください。

(開発者作成 UI を使用する上での注意事項)
UserInterface が Suppress の場合、機種やプロパティの設定状態により読み取りに失敗する場合があります。エラーが発生する主な原因を次に示しますので参考にしてください。
・設定した取り込み単位がサポートされていない。サポートされている値は GetCapabilityEnumToSingle メソッドで取得できます。
・設定したピクセルタイプがサポートされていない。サポートされている値は GetCapabilityEnumToSingle メソッドで取得できます。
・設定した画素ビット数がサポートされていない。サポートされている値は GetBitDepth メソッドで取得できます。
・設定した解像度がサポートされていない。サポートされている値は GetCapabilityEnumToSingle, GetCapabilityRange メソッドで取得できます。
・設定した用紙サイズがサポートされていない。サポートされている値は GetCapabilityEnumToSingle メソッドで取得できます。
(1)用紙サイズそのものがサポートされていない場合
PaperSize プロパティに UserSize を設定し、Rect プロパティに範囲内の値を設定する。読み取り範囲は、 GetMinimumSizeGetPhysicalSize メソッドで取得できます。
(2)設定した用紙サイズがサポートされているのに読み取りに失敗する場合
PaperSize プロパティに UserSize 以外を設定してご確認ください。

ユーザインタフェースを表示して取り込みます。

[Visual Basic.NET]
Dim Ret As Boolean
Ret = ImageKit1.Scan.Initialize(Me.Handle, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKitWPF Scan Sample")
If Ret = false Then Exit Sub
ImageKit1.Scan.ClearProperty()
ImageKit1.Scan.Transfer = ScanTransfer.Memory
ImageKit1.Scan.Compression = ScanCompression.None
ImageKit1.Scan.UserInterface = ScanUserInterface.Show
ImageKit1.Scan.DataSourceName = "EPSON TWAIN Pro"
Ret = ImageKit1.Scan.Execute()
Ret = ImageKit1.Scan.Terminate()

'イベント
Private Sub ImageKit1_AfterScan(ByVal sender As Object, ByVal e As Newtone.ImageKit.AfterScanEventArgs) Handles ImageKit1.AfterScan
  If (e.Bitmap1 Is Nothing) Then Exit Sub

  ImageKit1.Image = e.Bitmap1.Clone()
  ImageKit1.Display(Newtone.ImageKit.WPF.DisplayMode.Stretch)
End Sub

[Visual C#.NET]
bool Ret;
Ret = imageKit1.Scan.Initialize(this.Handle, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKitWPF Scan Sample");
if (!Ret) return;
imageKit1.Scan.ClearProperty();
imageKit1.Scan.Transfer = ScanTransfer.Memory;
imageKit1.Scan.Compression = ScanCompression.None;
imageKit1.Scan.UserInterface = ScanUserInterface.Show;
imageKit1.Scan.DataSourceName = "EPSON TWAIN Pro";
Ret = imageKit1.Scan.Execute();
Ret = imageKit1.Scan.Terminate();

//イベント
private void imageKit1_AfterScan(object sender, Newtone.ImageKit.AfterScanEventArgs e)
{
  if (e.Bitmap1 == null) return;

  imageKit1.Image = (Image)e.Bitmap1.Clone();
  imageKit1.Display(Newtone.ImageKit.WPF.DisplayMode.Stretch);
}

参照

Scan メンバ | Newtone.ImageKit.WPF.ImageKit