[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 プロパティに範囲内の値を設定する。読み取り範囲は、 GetMinimumSize と GetPhysicalSize メソッドで取得できます。
(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