イメージとメモリハンドルの操作について

ImageKit10 ActiveXは、イメージをメモリ上の「メモリハンドル」として操作・管理します。

「メモリハンドル」は、メモリ上に保存してあるイメージひとつひとつと関連づけられた「識別番号」の様なものと考えてください。

ImageKit10 ActiveXは、この「メモリハンドル」を介して実際のイメージを操作するわけです。

次にイメージキットコントロールを中心にそれぞれの場合について簡単に解説いたします。

1.基本イメージと階層イメージについて

基本イメージ：ImageKit.ImageHandle

階層イメージ：ImageKit.Layer(n).ImageHandle （n：0～99）

基本イメージにイメージが設定してある場合のみ、階層イメージが使用できます。

基本イメージを使用する場合はImageKit.LayerNoに-1を設定し、階層イメージを使用する場合は0～99の値を設定します。デフォルトは-1です。

基本イメージにイメージを読み込む

ImageKit1.LayerNo = -1

ImageKit1.File.FileName = "イメージファイル"

ImageKit1.File.LoadFile ikLoad

階層イメージ（0番目）にイメージを読み込む

ImageKit1.LayerNo = 0

ImageKit1.File.FileName = "イメージファイル"

ImageKit1.File.LoadFile ikLoad

LayerNoプロパティが有効なメソッドは

(1)ImageKitの次のメソッド

GetFromClipBrd()

SetToClipBrd()

DibFromBitmap()

BitmapFromDib()

(2)ImageKit.Fileの次のメソッド

LoadFile(), SaveFile()

LoadFileMem(), SaveFileMem()

RGBBmpPlaneFileLoad(), RGBBmpPlaneFileSave()

CMYKBmpPlaneFileLoad(), CMYKBmpPlaneFileSave()

YCCBmpPlaneFileLoad(), YCCBmpPlaneFileSave()

(3)ImageKit.Effectの全メソッド

となります。

2．明示的なイメージメモリの解放は不要

例えば下記のコードで、イメージファイルの読み込みを行う場合(ImageKit1.File.LoadFileの実行)、その都度前回読み込んだイメージのメモリハンドルが自動的に解放され、新しく読み込んだイメージのメモリハンドルが設定されます。

（VB6でのイメージファイルの読み込みの例）

Private Sub Command1_Click()

If ImageKit1.File.OpenFileDialog = False Then 'ファイルの選択

Exit Sub

End If

ImageKit1.DisplayMode = ikScale

ImageKit1.File.LoadFile ikLoad 'イメージファイルの読み込み

ImageKit1.DisplayImage 'イメージの表示

End Sub

従って、使用メモリ量がどんどん増えることはありません。

次のコードは

ImageKit1.ImageHandle = ImageKit1.CopyImage(ImageHandle)

(1)以前のImageKit1.ImageHandleを解放する

(2)ImageKit1.ImageHandleに新たにImageHandleの複製のイメージブロックのハンドルをセットする

となります。

また次のコードは

ImageKit1.ImageHandle = ImageHandle

(1)以前のImageKit1.ImageHandleを解放する

(2)ImageKit1.ImageHandleに新たにImageHandleのハンドルをセットする

となります。

なお、次のコードは（通常は行いませんが）

ImageKit1.ImageHandle = ImageKit1.ImageHandle

(1)以前のImageKit1.ImageHandleを解放する

(2)ImageKit1.ImageHandleに無効になったImageKit1.ImageHandleをセットする

となり、無効なハンドルが設定されます。

3．エフェクト処理

エフェクト処理を行うとImageKit.ImageHandleが更新されます。従ってオリジナルのイメージデータが必要な場合は

Image = ImageKit.CopyImage(0) でImageKit.ImageHandleの複製を作成しておいてください。

なお、CopyImageメソッドの0はLayerNoプロパティに応じたメモリハンドルの複製を指示します（LayerNo = -1であればImageKit.ImageHandleの複製となります）。

ImageKit1.LayerNo = -1

ImageKit1.Effect.SelectMode = ikEffectAll

ImageKit1.DisplayMode = ikScale

ret = ImageKit1.Effect.Emboss(0, 0, 0, 0, 3, 128) 'エンボス処理

ImageKit1.DisplayImage

また、CopyImageメソッドによって作成したイメージは必要に応じてImageKit.FreeMemoryメソッドで解放します。

（不要になったメモリをそのまま放置しておきますとメモリ不足の原因になりますので、不要になったら適宜メモリを解放してください。）

4．スキャンデバイスからのイメージの取り込み

＜ActiveXコントロールで使用＞

取り込み実行　→　イベント発生　→　メモリのコピー or ファイルに保存

＜DLLで使用＞

取り込み実行　→　ユーザ関数発生　→　メモリのコピー or ファイルに保存

読み取り実行時のAfterScanイベント（コントロールで使用）やユーザ関数（DLLで使用）の中で引数となるメモリは、イベントやユーザ関数実行後ImageKit10 ActiveXで引数のメモリを解放するため、予めイベントやユーザ関数でメモリのコピーを作成するか、もしくはファイルに保存する必要があります。

5．メモリの参照とコピー

＜参照＞

A ・・・ イメージのメモリ

B = A

とするとAとBが同じ1つのイメージのメモリを指し、A　→　イメージのメモリ　←　Bとなります。

（ActiveX）

ImageKit1.ImageHandle = B

ImageKit1.FreeMemory　0　（メソッドの引数0はLayerNoプロパティに応じたメモリハンドルを指します）

（DLL）

IKFreeMemory(B)

とするとBのメモリを解放することにより、Aから参照できなくなります。

また、メモリの2重解放を防ぐために解放した後にAとBにそれぞれ0を代入するようにしてください。

＜コピー＞

A ・・・ イメージのメモリ

（ActiveX）

B = ImageKit1.CopyImage(A)

（DLL）

B = IKCopyImage(A)

A　→　イメージのメモリ

B　→　新しく作成されたイメージのメモリ

この様にコピーを行うと、AとBは独立したメモリとなります。

そのため、不要になった場合はAとBの両方を解放する必要があります。

【参考】

ImageKit10 ActiveXで管理するラスタイメージのメモリハンドルの内容は、デバイス独立ビットマップ（DIB）へのポインタのハンドルです。メモリハンドルの値をWindows APIのGlobalLock関数の引数にした戻り値が、DIBへのポインタとなります。

デバイス独立ビットマップ（DIB）の形式を以下に示します。

詳細は、各関連マニュアル、書籍などをご覧ください。


VB.NETとC#.NETでの注意事項

Visual Basic.NETとVisual C#.NETでActiveXを使用する場合、注意すべき点がいくつかありますので、その点について示します。

プロパティとイベントについて

複数のコントロールのプロパティ名が既存クラスとバッティングするため、名称が変更されます。下記に変更されるプロパティとイベントを示します。

1.イメージキットコントロール

プロパティ

AutoSize à CtlAutoSize

MouseWheel à CtlMouseWheel

Layer à get_Layer

イベント

PanWindow à PanWindowEvent

2.サムネイルコントロール

プロパティ

Text à CtlText

3.プレイ/プレビュー/レコードコントロール

プロパティ

State à CtlState

また、付属のVisual Basic用のPrintサンプルをVisual Basic.NETでコンバートすると、FontNameプロパティなどがSystem.Drawing.Fontクラスに変更されるため、正しく動作いたしません。コンバート後に手動でFontNameなどに変更してください。（対象はFontBold, FontItalic, FontName, FontSize, FontStrikeOut, FontUnderlineプロパティ）

イベントについて

引数の体系が異なりますので下記の例を参考にしてください。例はUnicode版をもとに記述していますので、Ansi版をご利用の場合は"・・・Lib"の前に"A"を付加してください。

例：イメージキットコントロールのEndDispImageイベント

【書式】

(1)Visual Basic

imagekitcontrolname_EndDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

(2)Visual Basic.NET

imagekitcontrolname_EndDispImage(ByVal sender As Object, ByVal e As AxImageKit10Lib._IImageKitEvents_EndDispImageEvent)

(3)Visual C#.NET

imagekitcontrolname_EndDispImage(object sender, AxImageKit10Lib._IImageKitEvents_EndDispImageEvent e)

Visual Basicの書式と比較するとVB.NETおよびC#.NETでは、OriginXはe.originX、OriginYはe.originY、Leftはe.left、Topはe.top、Rightはe.right、Bottomはe.bottom、ScaleWidthはe.scaleWidth、ScaleHeightはe.scaleHeightになります。

他のイベントについては、イメージキットコントロールをご利用の場合はAxImageKit10Libという表記で問題ありませんが、サムネイルコントロールの場合はAxImageKit10Libの部分を差し替える必要があります。

サムネイルコントロール： AxImageKit10ThumbLib

プレイ/プレビューコントロール：AxImageKit10WebCameraLib

定数について

プロパティやメソッドで使用できる定数の設定方法などが異なりますので、下記の例を参考にしてください。例はUnicode版をもとに記述していますので、Ansi版をご利用の場合は"・・・Lib"の前に"A"を付加してください。

例：イメージキットコントロールのAppearanceプロパティ

【書式】

(1)Visual Basic imagekitcontrolname.Appearance [ = AppearanceConstants ]

(2)Visual Basic.NET imagekitcontrolname.Appearance [ = ImageKit10Lib.AppearanceConstants ]

(3)Visual C#.NET imagekitcontrolname.Appearance [ = ImageKit10Lib.AppearanceConstants ]

設定する場合は

(1)Visual Basic imagekitcontrolname.Appearance = ikFlat

(2)Visual Basic.NET imagekitcontrolname.Appearance = ImageKit10Lib.AppearanceConstants.ikFlat

(3)Visual C#.NET imagekitcontrolname.Appearance = ImageKit10Lib.AppearanceConstants.ikFlat;

となります。

他の定数については、イメージキットコントロールをご利用の場合はImageKit10Libという表記で問題ありませんが、サムネイルコントロールやプレイ/プレビュー/レコードコントロールの場合はImageKit10Libの部分を差し替える必要があります。

サムネイルコントロール： ImageKit10ThumbLib

プレイ/プレビュー/レコードコントロール： ImageKit10WebCameraLib

プロパティやメソッドおよびイベントの引数や戻り値の型について

Visual Basicで表されるInteger型とLong型はVisual Basic.NETではShort型とInteger型になります。Visual C#はVisual C++の型とほぼ同じになりますが、long型のみint型として表します。

例：イメージキットコントロールのErrorStatusプロパティ

【書式】

(1)Visual Basic imagekitcontrolname.ErrorStatus [ = Integer ]

(2)Visual Basic.NET imagekitcontrolname.ErrorStatus [ = Short ]

(3)Visual C#.NET imagekitcontrolname.ErrorStatus [ = short ]

例：イメージキットコントロールのDispStartXプロパティ

【書式】

(1)Visual Basic imagekitcontrolname.DispStartX [ = Long ]

(2)Visual Basic.NET imagekitcontrolname.DispStartX [ = Integer ]

(3)Visual C#.NET imagekitcontrolname.DispStartX [ = int ]


イメージの色について

Windows上でのイメージの色の取り扱いについて考慮しておくべき点を簡単に説明します。

1）パレット化する16・256色とパレット化しないフルカラー

画面に同時に表示できる色数は、動作環境の設定によって異なります。

16色を同時に表示する環境では、表示可能な数千色の中からそれぞれのイメージに必要な16色分を自動的にパレットにセット（パレット化）して表示します。

256色の場合もパレットが256色分になる点を除けば、16色の場合と同様と考えられます。

それに対して、フルカラー（1670万色）の場合は、16・256色の場合と異なりパレット化せずにイメージそのままの色に極めて近い色を同時に表示できます。

それは、フルカラーのイメージでは、ピクセルごとのカラー情報をパレットを使用せずに直接データに保持していることで実現されています。

反面、16・256色に比べ使用するメモリやファイルの容量が大きく、イメージの操作（表示やファイル化など）に時間がかかるなどのデメリットがあり、ハードウェアに依存する割合が大きくなります。

2）複数のイメージを同時に表示する場合の現象

Windowsの仕様として、パレットの異なる複数のイメージを同時に表示している場合、現在フォーカスを持つイメージのパレットを使用して、同時に表示されている他のイメージを表示し直します。

それにより、フォーカスのない他のイメージが予期しない色で表示される現象が生じます。

この現象は、16・256色などの環境で生じ、フルカラー環境下では特別問題はありません。

3）固定パレットによる減色

複数のフルカラー（1670万色）イメージを、16または256色環境下で表示する時に、16または256色の固定パレット減色処理を施すと、前記の「2」複数のイメージを同時に表示する場合の現象」は、解決します。

4）16・256色環境でフルカラーイメージを表示する場合の現象

16・256色環境でフルカラーイメージを表示する場合、Windowsはフルカラーイメージを自動的にパレット化して表示します。このため、表示色によっては、元のフルカラーイメージとかなり異なった色で表示される場合があります。

逆に、フルカラー環境で16・256色のイメージを表示する場合は問題ありません。


SXF形式使用時の注意事項

本製品では財団法人日本建設情報総合センターのCADデータ交換標準ソフトウェアを利用しております。

そのため、お客様がイメージファイルのSXF形式を利用できるようなアプリケーションを開発・販売・運用される場合は、財団法人日本建築情報総合センターとのライセンス契約（無料）がお客様サイドで必要になリます。

詳しくは

http://www.cals.jacic.or.jp/cad/index.html

をご覧ください。


コントロールリファレンス

ImageKit10を使用してのアプリケーションの開発は、必要なコントロールをデザイン時にフォームに配置し、そのコントロールのプロパティの設定やメソッドの実行により各機能を実現します。

【表記上の注意】

●カスタムプロパティ、カスタムメソッドの【書式】中のコントロール名の表記は以下の通りです。

表記 | 意味
imagekitcontrolname | イメージキットコントロール名を示します。
thumbcontrolname | サムネイルコントロール名を示します。
playcontrolname | 動画再生用のプレイコントロール名を示します。
previewcontrolname | Webカメラ用のプレビューコントロール名を示します。
recordcontrolname | Webカメラ用のレコードコントロール名を示します。

※ImageKit7 ActiveXからサムネイルコントロールは専用OCXとなりました。

●ActiveXをVisual Basicで利用する場合

コントロールのプロパティやメソッドの戻り値でBoolean型と表記されているものについては、FalseかFalseでないかにより判定してください。（VBではTrueは-1を表しますが、ImageKitでは0以外を表すため）

●ActiveXをVisual C++で利用する場合

コントロールのプロパティやメソッドで使用可能な定数をヘッダファイルにて用意してあります。

ImageKit10Ax.hを組み込んで使用してください。

●旧バージョンからの移行について

ImageKit8からImageKit6互換コントロールとスライドショウコントロールは提供しておりませんので、ImageKit5やImageKit6から移行される場合、またはImageKit7 ActiveXでImageKit6互換コントロールを使用されていた場合はイメージキットコントロールをご利用ください。スライドショウコントロールを使用していた部分については旧バージョンをそのままご利用ください。

1)ImageKit5からの移行

移行対象はサムネイルコントロールになります。

変更があるものについては次の見出しで始まる簡単な説明がありますので、ご覧ください。

【ImageKit5との違い】

【ImageKit5/6との違い】

【ImageKit5/6/7/8 ActiveXとの違い】

2)ImageKit6からの移行

移行対象はサムネイルコントロールになります。

変更があるものについては次の見出しで始まる簡単な説明がありますので、ご覧ください。

【ImageKit5/6との違い】

【ImageKit5/6/7/8 ActiveXとの違い】

【ImageKit6との違い】

【ImageKit6/7/8 ActiveXとの違い】

【ImageKit6/7/8/9 ActiveXとの違い】

3)ImageKit7 ActiveXからの移行

移行対象はイメージキットコントロールとサムネイルコントロールになります。

機能拡張に伴い、使用方法が一部変更されているものがあります。変更があるものについては次の見出しで始まる簡単な説明がありますので、ご覧ください。

【ImageKit6/7/8 ActiveXとの違い】

【ImageKit6/7/8/9 ActiveXとの違い】

【ImageKit7 ActiveXとの違い】

【ImageKit7/8 ActiveXとの違い】

【ImageKit7/8/9 ActiveXとの違い】

4)ImageKit8 ActiveXからの移行

移行対象はイメージキットコントロールとサムネイルコントロールになります。

変更があるものについては次の見出しで始まる簡単な説明がありますので、ご覧ください。

【ImageKit5/6/7/8 ActiveXとの違い】

【ImageKit6/7/8 ActiveXとの違い】

【ImageKit6/7/8/9 ActiveXとの違い】

【ImageKit7/8 ActiveXとの違い】

【ImageKit7/8/9 ActiveXとの違い】

【ImageKit8 ActiveXとの違い】

5)ImageKit9 ActiveXからの移行

移行対象はイメージキットコントロールとサムネイルコントロールになります。

変更があるものについては次の見出しで始まる簡単な説明がありますので、ご覧ください。

【ImageKit6/7/8/9 ActiveXとの違い】

【ImageKit7/8/9 ActiveXとの違い】

【ImageKit9 ActiveXとの違い】

文章中にIK5, IK6, IK7, IK8, IK9, IK10という表現がありますが、それぞれImageKit5・ImageKit6・ImageKit7・ImageKit8・ImageKit9・ImageKit10の省略形を意味します。


イメージキットコントロール

  イメージキットコントロール

イメージのスキャニング・表示・編集・エフェクト・ファイル処理・描画・印刷の各処理を統合したコントロールです。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Appearance | コントロールの縁の設定
AutoDisplay | 自動でイメージを表示するかどうかの設定
AutoSize | コントロールの大きさを画像サイズに合わせる
BackColor | コントロールの背景色
BackgroundImageFile | コントロールの背景に表示するイメージのファイル名
BackgroundImageVectorHeight | 背景に表示するｲﾒｰｼﾞﾌｧｲﾙがﾍﾞｸﾄﾙ形式の場合の読み込み時の高さ（ﾋﾟｸｾﾙ）
BackgroundImageVectorWidth | 背景に表示するｲﾒｰｼﾞﾌｧｲﾙがﾍﾞｸﾄﾙ形式の場合の読み込み時の幅（ﾋﾟｸｾﾙ）
BitCount | 基本イメージの1ピクセルあたりのビット数
BlinkSpeed | 矩形範囲選択時の選択領域の点滅速度
BorderColor | コントロールの縁の色
BorderVisible | コントロールの縁の描画設定
DispCenterX | コントロールの中心に表示したいイメージの横方向の位置
DispCenterY | コントロールの中心に表示したいイメージの縦方向の位置
DisplayMode | 表示モード
DispScaleX | 表示のスケーリングの横方向の比率
DispScaleY | 表示のスケーリングの縦方向の比率
DispStartX | イメージの横方向の表示開始位置を設定
DispStartY | イメージの縦方向の表示開始位置を設定
DrawVectorColor | ベクトルイメージの表示色
DXFBlack | DXFイメージの白を黒に置き換えて描画するかどうかの設定
Enabled | マウスやキーボードイベントへの応答可否
EnableOLEDrag | OLEドラッグ&ドロップの使用許可
EnableTouch | ピンチイン、ピンチアウトによる拡大・縮小の適用可否
ErrorStatus | エラーの種類を示す
Grad | 目盛の表示単位の設定
GradBackColor | 目盛の背景色
GradColor | 目盛の色
Gray | グレースケールの有無
Grid | グリッドの表示単位の設定
GridColor | グリッドの色
GridSpace | グリッドの間隔
Hdc | イメージキットコントロールのデバイスコンテキスト
HWND | イメージキットコントロールのウィンドウハンドル
ImageAtLeftTop | コントロールのサイズより表示する画像のサイズが小さい場合の表示位置
ImageHandle | 基本イメージのメモリハンドルを示す
ImageHdc | 表示イメージのメモリデバイスコンテキスト
ImageHeight | 基本イメージの縦のピクセル数
ImageKind | 基本イメージの種類
ImageSize | 基本イメージサイズのバイト数
ImageWidth | 基本イメージの横のピクセル数
ImageWidthByte | 基本イメージの1ラインのバイト数
InvalidHatchPattern | 無効領域をハッチパターンで描画するかどうかの設定
InvalidHatchColor | ハッチパターンの色
LayerNo | 処理対象となるイメージ番号（基本イメージ or 階層イメージ）
Mask1632 | 基本イメージのカラーマスクの種類
MouseCursorFile | MouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
MouseCursorType | イメージキットコントロールの描画領域内におけるマウスカーソルの形状
MouseDragImage | マウスやタッチ操作でイメージのスクロールを可能にするかどうかの設定
MouseWheel | マウスホイールのスクロールの状態
PalBlue | マウスダウンした点の青のカラー値を示す
PalCount | 基本イメージの使用パレット数
PalGreen | マウスダウンした点の緑のカラー値を示す
PalRed | マウスダウンした点の赤のカラー値を示す
Picture | PictureオブジェクトとImageKit間でラスタイメージのやり取りをするために使用やベクトルイメージのやり取りを行う
RectBottom | マウスで矩形範囲を指定する時の位置（下/ﾋﾟｸｾﾙ）
RectColor1 | 矩形選択領域を表す点線の最初の色
RectColor2 | 矩形選択領域を表す点線の2番目の色
RectDraw | マウスで矩形範囲の指定を有効にするかどうかの設定
RectDrawFix | マウスで矩形範囲を指定する時のサイズ変更の有無
RectDrawRatio | マウスで矩形範囲を指定する時の縦横比
RectLeft | マウスで矩形範囲を指定する時の位置（左/ﾋﾟｸｾﾙ）
RectMouseCursorFile | RectMouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
RectMouseCursorType | マウスドラッグ時におけるマウスカーソルの形状
RectRight | マウスで矩形範囲を指定する時の位置（右/ﾋﾟｸｾﾙ）
RectTop | マウスで矩形範囲を指定する時の位置（上/ﾋﾟｸｾﾙ）
Refine1BitImage | 1ビットイメージを縮小表示する際、高精彩に表示するかどうかの設定
RefineColorImage | 24, 32ビットカラーイメージを縮小表示する際、高精彩に表示するかどうかの設定
ScrollBar | スクロールバーの表示の設定
ScrollHeight | イメージスクロールの縦ピクセル数の設定
ScrollWidth | イメージスクロールの横ピクセル数の設定
ShowBackgroundImage | コントロールの背景に表示するイメージの表示/非表示の設定
ShowInDisp | 基本イメージをイメージキットコントロールに表示するかどうかの設定
ShowInMagnifier | 基本イメージを虫眼鏡ウィンドウに表示するかどうかの設定
ShowInPanWindow | 基本イメージをパンウィンドウに表示するかどうかの設定
SimpleDispCtrl | 基本イメージに限定した表示機能
StretchMode | 高精彩表示のモード
ToolTip | マウスを移動させた時の座標値の表示単位の設定
ToolTipColor | マウスを移動させた時の座標値の色
ToolTipXfromMouse | マウス位置からマウス座標値を表示する位置までのX方向のオフセット
ToolTipYfromMouse | マウス位置からマウス座標値を表示する位置までのY方向のオフセット
ToolTipTimeSecond | マウス座標値を表示する秒数
TransBlue | 基本イメージ（ラスタ）の透過色の青
TransGreen | 基本イメージ（ラスタ）の透過色の緑
Transparent | 基本イメージ（ラスタ）の透過の設定
TransRed | 基本イメージ（ラスタ）の透過色の赤
VectorAntiAliasDisplay | ベクトルイメージのアンチエイリアス表示の設定
Xdpi | 基本イメージの横方向の1インチあたりのピクセル数
Ydpi | 基本イメージの縦方向の1インチあたりのピクセル数

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
BitmapFromDib | DIBからDDBに変換
BitBlt | デバイスコンテキストのイメージを別のデバイスコンテキストへコピー
ClearClipBrd | クリップボードのクリア
CopyImage | イメージの複製を作成
CreateImage | ラスタイメージを新規に作成
DeleteBitmapObject | ビットマップオブジェクトを削除
DibFromBitmap | DDBからDIBに変換
Display | イメージを描画
DisplayImage | イメージを描画
FreeMemory | メモリハンドルの解放
GetDpi | メモリハンドルから解像度（整数型）を取得
GetDpiF | メモリハンドルから解像度（浮動小数点型）を取得
GetDpiVariant | メモリハンドルから解像度（バリアント型）を取得
GetDpiFromHdc(Variant) | デバイスコンテキストから解像度を取得
GetFromClipBrd | クリップボードからラスタイメージやベクトルイメージの取り込み
GetImageType | メモリハンドルからイメージの情報を取得
GetMemorySize | メモリハンドルから使用しているイメージのメモリサイズを取得
GetOneBitPalCount(Variant) | 1ビットカラーイメージのパレット0とパレット1のピクセル数を取得
GetPalette(Variant) | メモリハンドルからパレットデータを取得
GetSystemPalette | 現在のPCのシステムパレットを取得
IsClipBrdData | クリップボードのデータチェック
Refresh | イメージの再描画
ScrollImage | 実寸表示の時のスクロール
SetDpi | メモリハンドルへ解像度（整数型）を設定
SetDpiF | メモリハンドルへ解像度（浮動小数点型）を設定
SetPalette(Variant) | メモリハンドルへパレットデータを設定
SetToClipBrd | ラスタイメージやベクトルイメージをクリップボードにコピー
StretchBlt | デバイスコンテキストのイメージを別のデバイスコンテキストへコピー（拡大縮小）
Zoom | 指定した範囲の拡大もしくは縮小

●イベント一覧（アルファベット順）

カスタムイベント | 内容
AfterScan | スキャンデバイスからイメージを取り込んだ後に発生
BeforeScan | スキャンデバイスからイメージを取り込む前に発生
ClickOnPanWindow | パンウィンドウのマウスクリックイベント
EditToolBar | イメージ編集ツールバーを表示もしくは非表示にすると発生
EndDispImage | イメージを表示した後に発生
EndLoad | ファイル読込処理終了後に発生
EndPopUpMenu | ポップアップメニューの処理が終了した直後に発生
EndRasterToVector | ラスタ化処理の開始前に発生
EndSave | ファイル保存処理終了後に発生
EndVectorToRaster | ベクトル化処理の開始前に発生
GetDragDropFileName | ドラッグ＆ドロップでイメージキットコントロール上にファイルをドロップすると発生
MagnifierMouseDown | 虫眼鏡ウィンドウのマウスダウンイベント
MagnifierMouseMove | 虫眼鏡ウィンドウのマウスムーブイベント
MagnifierMouseUp | 虫眼鏡ウィンドウのマウスアップイベント
MouseDownImage | マウスダウンのイベント
MouseDownSelectLayerImage | 階層イメージ上でマウスボタンを押すと発生
MouseMoveImage | マウスムーブのイベント
MouseUpImage | マウスアップのイベント
MouseUpSelectLayerImage | 階層イメージ上でマウスボタンを離すと発生
MouseWheelDownImage | マウスホイールを下へ回転すると発生
MouseWheelUpImage | マウスホイールを上へ回転すると発生
PanWindow | パンウィンドウを表示もしくは消去すると発生
Progress | エフェクトおよびファイル処理中に発生
Scanning | スキャンデバイスからイメージ取り込み中に発生
ScrollDispImage | スクロールバーを使用してスクロールすると発生
SelEditFunc | イメージ編集ツールバーのボタンを選択すると発生
SelEditObj | イメージ編集ツールバーのオブジェクトを選択すると発生
StartDispImage | イメージを表示する前に発生
StartLoad | ファイル読込処理開始前に発生
StartPopUpMenu | ポップアップメニューを選択した直後に発生
StartRasterToVector | ラスタ化処理の開始前に発生
StartSave | ファイル保存処理開始前に発生
StartVectorToRaster | ベクトル化処理の開始前に発生

●階層プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Edit | 編集処理で使用
Effect | エフェクト処理（ラスタイメージの加工など）で使用
File | ファイル処理で使用
Layer | イメージの100階層用
Magnifier | 虫眼鏡処理で使用
PanWindow | パンウィンドウ処理で使用
PrintDraw | 図形や文字などの描画およびプリンタの制御に使用
Scan | スキャン処理で使用
Vector | ベクトルイメージの作成およびラスタとベクトルの相互変換

階層下にプロパティ、メソッド（Layerを除く）を持ちます。


Edit（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

Edit（カスタム階層プロパティ）

【機能】

イメージを編集するために使用します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Action | イメージ編集ツールバーのボタンの種類
AirBrushSize | 使用するエアブラシの設定
AirBrushSize1 | エアブラシ1の半径のサイズ
AirBrushSize2 | エアブラシ2の半径のサイズ
AirBrushSize3 | エアブラシ3の半径のサイズ
AirBrushSize4 | エアブラシ4の半径のサイズ
AirBrushSize5 | エアブラシ5の半径のサイズ
BackColor | 背景色
Blur | エアブラシの種類
cCircle | 円の種類（Visual Basic用）
Circle | 円の種類
ClearText | テキストの初期化
EditEnable | イメージの編集許可設定
EditImageLayerNo | 編集対象となるイメージの番号
EditStatus | イメージの編集状態
EnableEditPopupMenu | ポップアップメニューを表示するかどうかの設定
EraserSize | 使用する消しゴムの設定
EraserSize1 | 消しゴム1のサイズ
EraserSize2 | 消しゴム2のサイズ
EraserSize3 | 消しゴム3のサイズ
EraserSize4 | 消しゴム4のサイズ
EraserSize5 | 消しゴム5のサイズ
FillPattern | 塗り潰し設定
FontBold | フォントの太字設定
FontItalic | フォントの斜体設定
FontName | フォント名の設定
FontSize | フォントのサイズ
FontStrikeOut | テキストの打ち消し線設定
FontTrans | テキストの背景の透過設定
FontUnderline | テキストの下線設定
ForeColor | 前景色
Hwnd | イメージ編集ツールバーのウィンドウハンドル
ImeMode | テキストボックスのIME（かな漢字変換プログラム）の動作
PenSize | 使用するペンの設定
PenSize1 | ペン1のサイズ
PenSize2 | ペン2のサイズ
PenSize3 | ペン3のサイズ
PenSize4 | ペン4のサイズ
PenSize5 | ペン5のサイズ
Square | 矩形の種類
StampBmpFile | スタンプに使用するBMPファイル
StampTransBlue | スタンプの透過色の青
StampTransGreen | スタンプの透過色の緑
StampTransRed | スタンプの透過色の赤
Text | 描画文字列
ToolBarCaption | イメージ編集ツールバーのキャプションの設定
ToolBarCloseBox | イメージ編集ツールバーの閉じるボタンの設定
ToolBarFixed | イメージ編集ツールバーのウィンドウの固定設定
ToolBarLeft | イメージ編集ツールバーを表示する左位置
ToolBarMouseCursorFile | イメージ編集ツールバーのカーソル形状を指定するカーソルファイル
ToolBarTop | イメージ編集ツールバーを表示する上位置
UndoRasterCountMax | イメージ編集ツールバー（ラスタ）の取り消しの最大回数
UndoVectorCountMax | イメージ編集ツールバー（ベクトル）の取り消しの最大回数

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
ClearSelect | イメージ編集ツールバーのポップアップメニューの"選択範囲取消し"に相当するメソッド
Copy | イメージ編集ツールバーのポップアップメニューの"コピー"に相当するメソッド
CutAndCopy | イメージ編集ツールバーのポップアップメニューの"切り取り"に相当するメソッド
Delete | イメージ編集ツールバーのポップアップメニューの"削除"に相当するメソッド
GetArrayPointsNum | ポイント数の取得
GetArrayPointsXY(Variant) | ポイントの座標を取得
Modify | 編集した内容をメモリハンドルにコピー
MoveToBack | イメージ編集ツールバーのポップアップメニューの"最背面へ移動"に相当するメソッド
MoveToFront | イメージ編集ツールバーのポップアップメニューの"最前面へ移動"に相当するメソッド
Paste | イメージ編集ツールバーのポップアップメニューの"貼り付け"に相当するメソッド
Property | イメージ編集ツールバーのポップアップメニューの"プロパティ"に相当するメソッド
Rotate | イメージ編集ツールバーのポップアップメニューの"回転"に相当するメソッド
SelectAll | イメージ編集ツールバーのポップアップメニューの"全選択"に相当するメソッド
ShowToolBar | イメージ編集ツールバーの表示
Undo | メージ編集ツールバーのポップアップメニューの"取消し"に相当するメソッド


Effect（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

Effect（カスタム階層プロパティ）

【機能】

エフェクト処理を実現します。

●RGBとYCrCbカラースペースについて

エフェクト処理ではしばし、RGBとYCrCbの変換が内部的に行われます。

次に計算式を示します。

なお、Yは輝度情報、CrCbは色相情報を表します。

(1)RGBからYCrCbへ

Y = (0.29900 * R) + (0.58700 * G) + (0.11400 * B)

Cr = (0.50000 * R) + (-0.41869 * G) + (-0.08131 * B) + 128

Cb = (-0.16874 * R) + (-0.33126 * G) + (0.50000 * B) + 128

(2)YCrCbからRGBへ

R = Y + (1.402 * (Cr - 128))

G = Y - (0.34414 * (Cb - 128)) - (0.71414 * (Cr - 128))

B = Y + (1.772 * (Cb - 128))

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
ButtonName | 処理中のダイアログボックスに表示するボタンの名称を設定
Cancel | 処理の中止の設定
Caption | 処理中のダイアログボックスに表示するタイトルバーの名称を設定
InOut | 選択範囲の内外の設定
LayerAlphaChannel | Layerメソッドでアルファチャンネルを考慮するかどうかを設定
MaskFileName | 入力用のマスクイメージのファイル名
MaskImageHandle | 入出力用のマスクイメージのメモリハンドル
Message | 処理中のダイアログボックスに表示するメッセージを設定
RectBottom | 四角形の下位置を設定
RectLeft | 四角形の左位置を設定
RectRight | 四角形の右位置を設定
RectTop | 四角形の上位置を設定
SelectMode | 選択範囲の種類を設定

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Affine | アフィン変換処理
AntiAlias(Variant) | アンチエリアシング処理
AutoSelectImage(Variant) | 自動選択処理
Blur(Variant) | ぼかし処理
Canvas(Variant) | キャンバス地効果
CheckSecretImage | 透かしの取り出し処理
Chroma(Variant) | 彩度補正処理
ConvertColor | 減色・増色処理
CustomFilter(Variant) | カスタムフィルタ
CutRectImage | 矩形切り出し処理
Emboss(Variant) | エンボス処理
EndDibAccess(Variant) | DIBアクセスの終了処理
GetDibPixel(Variant) | DIBからピクセル値を取得
GlassTile(Variant) | ガラスタイル効果
LayerImage | ラスタイメージの重ね合わせ処理
Lens(Variant) | レンズ効果
MakeRGBAImage | RGBとAからRGBAの32ビットイメージを作成
Mosaic(Variant) | モザイク処理
MotionBlur(Variant) | モーションぼかし処理
OilPaint(Variant) | 油絵風効果
Outline(Variant) | 輪郭抽出処理
Panorama | パノラマ処理
PasteImage | ラスタイメージの貼り付け処理
RedEyeRemoval(Variant) | 赤目補正
RemoveNoise(Variant) | ノイズ除去処理
Resize | 拡大縮小処理
RGBGamma(Variant) | RGB値のガンマ補正処理
RGBLevel(Variant) | RGB値の加減処理
RGBRev(Variant) | RGB値の反転処理
RGBSpline(Variant) | RGB値のスプライン補正処理
Ripple(Variant) | 波紋効果
Rotation | 回転処理
SelectImage(Variant) | 自由選択処理
SetDibPixel(Variant) | DIBへピクセル値を設定
SetGray | カラーイメージをグレースケールへ変換
SetSecretImage | 透かしの埋め込み処理
Sharp(Variant) | シャープネス処理
SplitRGBAImage | RGBAの32ビットイメージをRGB(24ビット)とA(8ビット)に分割
StartDibAccess(Variant) | DIBアクセスの開始処理
UnifyColor(Variant) | 色のばらつきを修正
Waves(Variant) | さざ波効果
WhirlPinch(Variant) | ねじりつまみ効果
YCCGamma(Variant) | YCrCb値のガンマ補正処理
YCCLevel(Variant) | YCrCb値の加減処理
YCCRev(Variant) | YCrCb値の反転処理
YCCSpline(Variant) | YCrCb値のスプライン補正処理


File（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

File（カスタム階層プロパティ）

【機能】

イメージファイルの読込・保存機能を提供します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
ButtonName | イメージ読込・保存処理中のダイアログボックスに表示するボタンの名称を設定
Cancel | 処理の中止の設定
Caption | イメージ読込・保存処理中のダイアログボックスに表示するタイトルバーの名称を設定
Comment | イメージファイルのコメント
CreationTimeDay | GetImageFileTypeメソッド実行後に取得される、ファイルの作成日時の日
CreationTimeHour | GetImageFileTypeメソッド実行後に取得される、ファイルの作成日時の時間
CreationTimeMinute | GetImageFileTypeメソッド実行後に取得される、ファイルの作成日時の分
CreationTimeMonth | GetImageFileTypeメソッド実行後に取得される、ファイルの作成日時の月
CreationTimeSecond | GetImageFileTypeメソッド実行後に取得される、ファイルの作成日時の秒
CreationTimeYear | GetImageFileTypeメソッド実行後に取得される、ファイルの作成日時の年
ExifAutoRotate | 読み込み対象ファイルがExif形式の場合、主画像の方向に合わせて回転して読み込む
ExtendedDialog | ファイル選択ダイアログでのプレビューとファイル情報の設定
FileBitCount | GetImageFileType(Mem)メソッド実行後に取得される、ビット／ピクセル
FileExt | OpenFileDialog、SaveFileDialogメソッド実行時に使用するファイルタイプを設定
FileHeight | GetImageFileType(Mem)メソッド実行後に取得される、イメージの高さ（ピクセル）
FileImageSize | GetImageFileType(Mem)メソッド実行後に取得される、イメージのサイズ
FileMaxPage | GetImageFileType(Mem)メソッド実行後に取得される、イメージファイルのページの数
FileName | イメージ読込・保存時のファイル名を設定
FilePath | OpenFileDialog、SaveFileDialogメソッド実行時に使用するフォルダを設定
FileSize | GetImageFileType(Mem)メソッド実行後に取得される、イメージファイルのサイズ（バイト）
FileType | GetImageFileType(Mem)メソッド実行後に取得される、ファイルタイプ
FileWidth | GetImageFileType(Mem)メソッド実行後に取得される、イメージの幅（ピクセル）
FileWidthByte | GetImageFileType(Mem)メソッド実行後に取得される、イメージの1ラインのバイト数
FileXdpi | GetImageFileType(Mem)メソッド実行後に取得される、イメージの横方向のDPI
FileYdpi | GetImageFileType(Mem)メソッド実行後に取得される、イメージの縦方向のDPI
GifAnime | マルチイメージGIFかどうかの設定
GifAnimeDelay | マルチイメージGIFのイメージ間の表示する時間の設定
ImageHandleRawData | Rawデータを示すメモリハンドル
ImageHandleRawDataSize | Rawデータを示すメモリハンドルが使用しているサイズ
Information | ファイル選択ダイアログでのファイル情報の設定
Interlace | GIF/PNG形式のインタレースの設定
JPEG2000CodeBlockHeight | JPEG2000形式の縦方向のコードブロックサイズ
JPEG2000CodeBlockWidth | JPEG2000形式の横方向のコードブロックサイズ
JPEG2000NumrResLevel | JPEG2000形式の解像度レベル
JPEG2000PrecinctHeight | JPEG2000形式の縦方向のプレシンクトサイズ
JPEG2000PrecinctWidth | JPEG2000形式の横方向のプレシンクトサイズ
JPEG2000Reversible | JPEG2000形式の圧縮方法を設定
JPEG2000Size | JPEG2000形式のファイルの保存サイズを設定
JPEG2000TileHeight | JPEG2000形式の縦方向のタイルサイズ
JPEG2000TileWidth | JPEG2000形式の横方向のタイルサイズ
JpegQuality | イメージ保存時のJPEG圧縮品質係数を設定
JpegSubsamp | YCrCbプレーンのサブサンプリング
LastAccessTimeDay | GetImageFileTypeメソッド実行後に取得される、ファイルのアクセス日時の日
LastAccessTimeHour | GetImageFileTypeメソッド実行後に取得される、ファイルのアクセス日時の時間
LastAccessTimeMinute | GetImageFileTypeメソッド実行後に取得される、ファイルのアクセス日時の分
LastAccessTimeMonth | GetImageFileTypeメソッド実行後に取得される、ファイルのアクセス日時の月
LastAccessTimeSecond | GetImageFileTypeメソッド実行後に取得される、ファイルのアクセス日時の秒
LastAccessTimeYear | GetImageFileTypeメソッド実行後に取得される、ファイルのアクセス日時の年
LastWriteTimeDay | GetImageFileTypeメソッド実行後に取得される、ファイルの更新日時の日
LastWriteTimeHour | GetImageFileTypeメソッド実行後に取得される、ファイルの更新日時の時間
LastWriteTimeMinute | GetImageFileTypeメソッド実行後に取得される、ファイルの更新日時の分
LastWriteTimeMonth | GetImageFileTypeメソッド実行後に取得される、ファイルの更新日時の月
LastWriteTimeSecond | GetImageFileTypeメソッド実行後に取得される、ファイルの更新日時の秒
LastWriteTimeYear | GetImageFileTypeメソッド実行後に取得される、ファイルの更新日時の年
LoadPage | FPX/GIF/TIFF形式のマルチイメージ用の読込ページの設定
Message | イメージ読込・保存処理中のダイアログボックスに表示するメッセージを設定
PalBlue | 透過パレットのカラー値（青）の設定
PalGreen | 透過パレットのカラー値（緑）の設定
PalRed | 透過パレットのカラー値（赤）の設定
PngAlphaChannel | PNGのアルファチャンネルの設定
Preview | ファイル選択ダイアログでのプレビュー設定
SaveFileDlgFileType | SaveFileDialogメソッドで選択されたファイルの種類
TiffAppend | TIFF形式の追加保存の設定
TiffColorSpace | TIFF形式のフルカラーモードの設定
TiffSaveOneStrip | TIFF形式のストリップの設定
Transparent | GIF/PNG形式の透過の設定
VectorHeight | ベクトルイメージ読み込み時の高さ（ピクセル）
VectorWidth | ベクトルイメージ読み込み時の幅（ピクセル）

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
CMYKBmpPlaneFileLoad | CMYKプレーン毎に保存してあるBMPファイルをロード
CMYKBmpPlaneFileSave | ラスタイメージをCMYKプレーン毎にBMP形式でファイルへ保存
FileLoadAsRawData | イメージファイルからRawデータをメモリ上にロード
FileSaveAsRawData | Rawデータをファイルへ保存
FTPConnect | FTPサーバへの接続
FTPDeleteFile | FTPサーバに存在するファイルを削除（接続と切断も行う）
FTPDeleteFileEx | FTPサーバに存在するファイルを削除
FTPDisconnect | 接続しているFTPサーバの切断
FTPGetFile | FTPサーバからファイルを取得（接続と切断も行う）
FTPGetFileEx | FTPサーバからファイルを取得
FTPPutFile | FTPサーバへファイルを転送（接続と切断も行う）
FTPPutFileEx | FTPサーバへファイルを転送
FTPRenameFile | FTPサーバに存在するファイル名を変更（接続と切断も行う）
FTPRenameFileEx | FTPサーバに存在するファイル名を変更
GetImageFileType | ファイル名からファイルタイプの取得
GetImageFileTypeMem | Rawデータからファイルタイプの取得
HTTPConnect | HTTP(S)サーバへの接続
HTTPDisconnect | 接続しているHTTP(S)サーバの切断
HTTPGetFile | HTTPサーバからファイルを取得（接続と切断も行う）
HTTPGetFileEx | HTTP(S)サーバからファイルを取得
HTTPPutFile | HTTPサーバへファイルを転送（接続と切断も行う）
HTTPPutFileEx | HTTP(S)サーバへファイルを転送
HTTPSGetFile | HTTPSサーバからファイルを取得（接続と切断も行う）
HTTPSPutFile | HTTPSサーバへファイルを転送（接続と切断も行う）
LoadFile | ファイルからの読み込み
LoadFileMem | Rawデータからの読み込み
LoadFromStream | ストリームからの読み込み
OpenFileDialog | プレビュー付きファイル選択ダイアログ（オープン）
RGBBmpPlaneFileLoad | RGBプレーン毎に保存してあるBMPファイルをロード
RGBBmpPlaneFileSave | ラスタイメージをRGBプレーン毎にBMP形式でファイルへ保存
SaveFile | ファイルへ保存
SaveFileDialog | プレビュー付きファイル選択ダイアログ（セーブ）
SaveFileMem | Rawデータへ保存
SaveToStream | ストリームへ保存
YCCBmpPlaneFileLoad | YCrCbプレーン毎に保存してあるBMPファイルをロード
YCCBmpPlaneFileSave | ラスタイメージをYCrCbプレーン毎にBMP形式でファイルへ保存

●階層プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Exif | Exif(JPEG)ファイルから主画像とサムネイル画像の情報を取得
PDF | PDF形式への保存を行う

※ ImageKit10で対応しているGIF形式は、

保存時：　 GIF89a

読込時：　 GIF87a、GIF89a

です。


Exif（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール／カスタム階層プロパティ

Exif

【機能】

Exif(JPEG)ファイルから主画像とサムネイル画像の情報を取得します。Exifはバージョン2.3の一部のタグにも対応しています。

【情報の取得について】

File.GetImageFileType(Mem)メソッドの実行により、すべての項目が取得されるわけではなく、機器や画像の特性により設定されない項目もあります。

詳しくは、「社団法人　日本電子工業振興協会」発行の「JEIDA規格　デジタルスチルカメラ用画像ファイルフォーマット規格(Exif)」を参照してください。

【画像情報の構成】

画像情報

│

├─── 主画像情報

│

├─── Exif情報

│

├─── GPS情報

│

└─── サムネイル画像情報

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Altitude0 | 高度の分子
Altitude1 | 高度の分母
AltitudeRef | 高度の基準
ApertureValue0 | レンズの絞り値の分子
ApertureValue1 | レンズの絞り値の分母
BrightnessValue0 | 輝度値の分子
BrightnessValue1 | 輝度値の分母
ColorSpace | 色空間を示す情報
ComponentsConfiguration | 各コンポーネントのチャネルを第1コンポーネントから第4コンポーネントの順に示す
CompressedBitsPerPixel0 | 画像圧縮時に設定された圧縮モードの分子
CompressedBitsPerPixel1 | 画像圧縮時に設定された圧縮モードの分母
Contrast | 撮影コントラスト
DateStamp | GPS日付
DateTimeDigitized | 画像がデジタルデータ化された日付と時間
DateTimeOriginal | 原画像データの生成された日付と時間
ExposureBiasValue0 | 露光補正値の分子
ExposureBiasValue1 | 露光補正値の分母
ExposureIndex0 | 画像が取り込まれた時、カメラまたは入力機器が選択した露出のインデックスの分子
ExposureIndex1 | 画像が取り込まれた時、カメラまたは入力機器が選択した露出のインデックスの分母
ExposureProgram | 撮影時にカメラが使用した露出プログラムのクラス
ExposureTime0 | 露出時間の分子
ExposureTime1 | 露出時間の分母
FileSource | 画像のソース
Flash | フラッシュ
FlashEnergy0 | 画像が取り込まれた時に使用されたストロボのエネルギーの分子
FlashEnergy1 | 画像が取り込まれた時に使用されたストロボのエネルギーの分母
FlashPixVersion | FPXRファイルのFlashPixフォーマットへの対応バージョン
FNumber0 | Fナンバーの分子
FNumber1 | Fナンバーの分母
FocalLength0 | レンズ焦点距離の分子
FocalLength1 | レンズ焦点距離の分母
FocalPlaneResolutionUnit | 焦点面解像度単位
FocalPlaneXResolution0 | 焦点面の幅の解像度の分子
FocalPlaneXResolution1 | 焦点面の幅の解像度の分母
FocalPlaneYResolution0 | 焦点面の高さの解像度の分子
FocalPlaneYResolution1 | 焦点面の高さの解像度の分母
GPSVersion | GPSタグのバージョン
InteroperabilityIndex | 互換性識別子
InteroperabilityVersion | 互換性バージョン
IsExif | Exifかどうかを示す
ISOSpeedRatings | ISO 12232xivで規定されるカメラまたは入力機器のISO SpeedおよびISO Latitude
Latitude | 緯度の方角
LatitudeD0 | 緯度-度の分子
LatitudeD1 | 緯度-度の分母
LatitudeM0 | 緯度-分の分子
LatitudeM1 | 緯度-分の分母
LatitudeS0 | 緯度-秒の分子
LatitudeS1 | 緯度-秒の分母
LightSource | 光源の種類
Longitude | 経度の方角
LongitudeD0 | 経度-度の分子
LongitudeD1 | 経度-度の分母
LongitudeM0 | 経度-分の分子
LongitudeM1 | 経度-分の分母
LongitudeS0 | 経度-秒の分子
LongitudeS1 | 経度-秒の分母
MainArtist | 作者名（主画像）
MainCopyright | 撮影著作権者/編集著作権者（主画像）
MainDateTime | ファイル作成日時（主画像）
MainImageDescription | 画像タイトル（主画像）
MainMake | 画像入力機器のメーカ名（主画像）
MainModel | 画像入力機器のモデル名（主画像）
MainOrientation | 行と列の観点から見た画像の方向（主画像）
MainResolutionUnit | 解像度の単位（主画像）
MainSoftware | 使用ソフトウェア名（主画像）
MainXResolution0 | イメージの横方向の1MainResolutionUnitあたりの画素数（主画像）の分子
MainXResolution1 | イメージの横方向の1MainResolutionUnitあたりの画素数（主画像）の分母
MainYCbCrPositioning | 輝度サンプルに対するクロマサンプルの相対的配置を特定（主画像）
MainYResolution0 | イメージの縦方向の1MainResolutionUnitあたりの画素数（主画像）の分子
MainYResolution1 | イメージの縦方向の1MainResolutionUnitあたりの画素数（主画像）の分母
MakerNote | メーカノート
MapDatum | 測位に用いた地図データ
MaxApertureValue0 | レンズの最小F値の分子
MaxApertureValue1 | レンズの最小F値の分母
MeteringMode | 測光方式
PixelXDimension | 実効画像幅
PixelYDimension | 実効画像高さ
ProcessingMethod | 測位方式の名称
ProcessingMethodID | ProcessingMethodに書かれる文字コードを判別するための識別コード
Saturation | 撮影彩度
SceneCaptureType | 撮影シーンタイプ
SceneType | 画像のシーンのタイプ
SensingMethod | カメラまたは入力機器で使用される画像センサのタイプ
Sharpness | 撮影シャープネス
ShutterSpeedValue0 | シャッタースピードの分子
ShutterSpeedValue1 | シャッタースピードの分母
SpectralSensitivity | 撮影に用いたカメラの各チャネルのスペクトル感度
SubjectDistance0 | 被写体距離の分子
SubjectDistance1 | 被写体距離の分母
SubjectLocationX | 主要被写体のおおよそのX座標値
SubjectLocationY | 主要被写体のおおよそのY座標値
SubSecTime | MainDateTimeに関連して時刻を小数点以下の秒単位まで記録
SubSecTimeDigitized | DateTimeDigitizedに関連して時刻を小数点以下の秒単位まで記録
SubSecTimeOriginal | DateTimeOriginalに関連して時刻を小数点以下の秒単位まで記録
ThumbArtist | 作者名（サムネイル画像）
ThumbCompression | サムネイル画像の圧縮方法
ThumbCopyright | 撮影著作権者/編集著作権者（サムネイル画像）
ThumbDateTime | ファイル作成日時（サムネイル画像）
ThumbImageDescription | 画像タイトル（サムネイル画像）
ThumbImageHandle | サムネイル画像のメモリハンドル
ThumbMake | 画像入力機器のメーカ名（サムネイル画像）
ThumbModel | 画像入力機器のモデル名（サムネイル画像）
ThumbOrientation | 行と列の観点から見た画像の方向（サムネイル画像）
ThumbResolutionUnit | 解像度の単位（サムネイル画像）
ThumbSoftware | 使用ソフトウェア名（サムネイル画像）
ThumbXResolution0 | イメージの横方向の1ThumbResolutionUnitあたりの画素数（サムネイル画像）の分子
ThumbXResolution1 | イメージの横方向の1ThumbResolutionUnitあたりの画素数（サムネイル画像）の分母
ThumbYCbCrPositioning | 輝度サンプルに対するクロマサンプルの相対的配置を特定（サムネイル画像）
ThumbYResolution0 | イメージの縦方向の1ThumbResolutionUnitあたりの画素数（サムネイル画像）の分子
ThumbYResolution1 | イメージの縦方向の1ThumbResolutionUnitあたりの画素数（サムネイル画像）の分母
TimeStampH0 | GPS時間-時間の分子
TimeStampH1 | GPS時間-時間の分母
TimeStampM0 | GPS時間-分の分子
TimeStampM1 | GPS時間-分の分母
TimeStampS0 | GPS時間-秒の分子
TimeStampS1 | GPS時間-秒の分母
UserComment | 画像に対してExifユーザがキーワードやコメントを書き込むためのタグ
UserCommentID | UserCommentに書かれる文字コードを判別するための識別コード
Version | Exifの対応バージョン
WhiteBalance | ホワイトバランス


PDF（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

PDF（カスタム階層プロパティ）

【機能】

PDF形式のファイルを保存する際に使用します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Application | アプリケーション名
Author | 作成者名
DocumentHeight | 文書の高さのサイズ
DocumentSize | 文書のサイズ
DocumentWidth | 文書の幅のサイズ
EnableCopy | 文書内容のコピー・抽出を許可するかどうかの設定
EnableEdit | 文書の編集を許可するかどうかの設定
EnableEditAll | 文書の全編集を許可するかどうかの設定
EnablePrint | 文書の印刷を許可するかどうかの設定
Keywords | キーワード
Landscape | 文書の向き
OwnerPassword | オーナーパスワード
SavePDFFileName | 保存するファイル名
Subject | サブタイトル
Title | タイトル
UserPassword | ユーザーパスワード

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
AddImage | PDFの作成で画像を追加
AddPage | PDFの作成でページを追加
End | PDFの作成処理を終了
Start | PDFの作成処理を開始


Layer（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

Layer（カスタム階層プロパティ）

【機能】

100階層分のイメージを管理します。階層イメージを利用する場合は事前に基本イメージを設定しておいてください。

「階層イメージの規則」

・基本イメージを表示する際にその上部に表示されます。

・サイズが基本イメージよりも大きい場合は、基本イメージのサイズに合わせられます

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
BitCount | イメージの1ピクセルあたりのビット数
DXFBlack | DXFイメージの白を黒に置き換えて描画するかどうかの設定
Gray | グレースケールの有無
Height | イメージの縦のピクセル数
ImageHandle | イメージのメモリハンドル
ImageKind | イメージの種類
ImageSize | イメージサイズのバイト数
Mask1632 | イメージのカラーマスクの種類
PalCount | イメージの使用パレット数
Picture | PictureオブジェクトとImageKit間でラスタイメージやベクトルイメージのやり取りを行う
ShowInDisp | イメージキットコントロールへの表示設定
ShowInMagnifier | 虫眼鏡ウィンドウへの表示設定
ShowInPanWindow | パンウィンドウへの表示設定
StartX | イメージの横方向の表示開始位置
StartY | イメージの縦方向の表示開始位置
TransBlue | ラスタイメージの透過色の青
TransGreen | ラスタイメージの透過色の緑
Transparent | ラスタイメージの透過の設定
TransRed | ラスタイメージの透過色の赤
Width | イメージの横のピクセル数
WidthByte | イメージの1ラインのバイト数
Xdpi | イメージの横方向の1インチあたりのピクセル数
Ydpi | イメージの縦方向の1インチあたりのピクセル数

Visual Basic.NETやVisual C#.NETで使用する場合は、Layerをget_Layerと記述してください。


Magnifier（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール／カスタム階層プロパティ

Magnifier

【機能】

虫眼鏡処理を実現します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Edge | 虫眼鏡ウィンドウの縁の描画設定
Height | 虫眼鏡ウィンドウの縦方向のサイズ
ShowCursor | マウスカーソルの表示設定
Type | 虫眼鏡ウィンドウの形状
Width | 虫眼鏡ウィンドウの横方向のサイズ

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Show | 虫眼鏡ウィンドウの表示


PanWindow（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

PanWindow（カスタム階層プロパティ）

【機能】

パンウィンドウ処理を実現します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Caption | パンウィンドウのキャプションの設定
CloseBox | パンウィンドウの閉じるボタンの設定
Color | パンウィンドウ内の無効領域の色（ベクトルイメージ描画時に使用）
EnableClick | パンウィンドウでマウスクリックを有効にするかどうかの設定
Enabled | マウスやキーボードイベントへの応答可否
Hwnd | パンウィンドウのウィンドウハンドル
Left | パンウィンドウを表示する左位置の設定
MouseCursorFile | MouseCursorTypeプロパティが15の時のカーソルファイル名
MouseCursorType | パンウィンドウの描画領域内におけるマウスカーソルの形状
RectColor | パンウィンドウ内の矩形を表す線の色
RectMouseCursorFile | RectMouseCursorTypeプロパティが15の時のカーソルファイル名
RectMouseCursorType | パンウィンドウの矩形領域内におけるマウスカーソル形状
RectReverse | パンウィンドウの表示時に矩形領域の反転の有無を設定
RefineImage | パンウィンドウ内のイメージを高精彩に表示するかどうかの設定
Size | パンウィンドウのサイズの設定
Top | パンウィンドウを表示する上位置の設定

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Show | パンウィンドウの表示（非表示）


PrintDraw（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール／カスタム階層プロパティ

PrintDraw

【機能】

描画先オブジェクトに対して図形や文字などを描画する機能やプリンタを制御する機能を提供します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Alpha1 | TextColor1プロパティのアルファ値
Alpha2 | TextColor2プロパティのアルファ値
BackColor | ペンが実線以外の場合の線と線の間の色、およびブラシがハッチパターンの場合の背景色
BrushColor | 塗りつぶすブラシの色
BrushStyle | 塗りつぶすブラシの模様
ButtonName | 印刷処理中のダイアログボックスに表示するボタンの名称
Caption | 印刷処理中のダイアログボックスに表示するキャプションの名称
CharAngle | 文字の回転角度
CharExtra | 文字の間隔
CharSet | フォントで使用する文字セット
Collate | 印刷ダイアログで処理する[部単位で印刷]のチェックボックス
ColorMode | カラープリンタでカラーを使用するかモノクロを使用するかを指定
Copies | 印刷部数
CustomPaperHeight | PaperSizeプロパティが256の時の用紙の縦幅
CustomPaperWidth | PaperSizeプロパティが256の時の用紙の横幅
DevMode | 指定したプリンタのDEVMODE構造体へのハンドル
DevNames | 指定したプリンタのDEVNAMES構造体へのハンドル
Direction | 文字列の描画方向
DocName | 印刷するドキュメント名
Duplex | プリンタが両面印刷をサポートしている場合、両面印刷を行うかどうかを指定
FontBold | フォントの太字設定
FontItalic | フォントの斜体設定
FontName | テキストを描画する際のフォント名
FontSize | テキストを描画する際のフォントのサイズ
FontStrikeOut | テキストの打ち消し線設定
FontUnderline | テキストの下線設定
FromPage | 印刷ダイアログで処理する開始ページ
HCentering | 文字列の水平センタリングを設定
Hdc | プリンタのデバイスコンテキスト
HotkeyPrefix | プリフィックス文字をどう扱うかを設定
MaxPage | 印刷ダイアログで処理する最大ページ
MinPage | 印刷ダイアログで処理する最小ページ
Message | 印刷処理中のダイアログボックスに表示するメッセージ名
Options | 印刷ダイアログの初期設定
Orientation | 印刷の向き
PaperBin | プリンタの用紙トレイ
PaperSize | プリンタの用紙サイズ
PenColor | 描画するペンの色を設定
PenMode | 描かれるペンの色をキャンバス上の色とどのように対応させるかを設定
PenStyle | 描画するペンのスタイルを設定
PenWidth | 描画するペンの幅を設定
PortName | プリンタのポート名
PrinterName | プリンタ名
Printers | EnumPrinters(Variant)メソッドで取得されるプリンタ名のリスト
PrintFileName | プリンタの情報を保存するファイル名
PrintRange | 印刷ダイアログの印刷範囲の種類
PrintToFile | 印刷ダイアログで処理する［ファイルへ出力］のチェックボックス
RotateString | 文字単位で回転するか文字列単位で回転するかを設定
Text | 描画文字列を設定
TextColor1 | テキストの描画色およびブラシの色
TextColor2 | テキストの背景色およびブラシの色
ToPage | 印刷ダイアログで処理する終了ページ数
Transparent | テキストやハッチブラシの背景および線と線の間隔を描画する時の透過設定
VCentering | 文字列の垂直センタリングを設定
XResolution | プリンタのX方向の解像度
YResolution | プリンタのY方向の解像度
Zoom | スケール時の百分率

描画先オブジェクト：S=スクリーン、P=プリンタ、M=メモリハンドル

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Arc | 弧の描画(S, P, M)
Chord | 弓形の描画(S, P, M)
ClearProperty | PrintDrawプロパティの初期化
DrawFocusRect | フォーカス付き矩形枠の描画(S)
DrawString | GDI+を使用したテキストの描画(S, P, M)
DrawText | 矩形内にテキストを描画(S, P, M)
Ellipse | 矩形に内接する円の描画(S, P, M)
EnumPaperBins(Variant) | プリンタの用紙トレイ名リストを取得
EnumPaperSizes(Variant) | プリンタの用紙サイズ名リストを取得
EnumPorts(Variant) | ポートの列挙
EnumPrinters(Variant) | インストールされているプリンタの列挙
EnumResolutions(Variant) | プリンタの解像度リストを取得
FillRect | 矩形の塗りつぶし(S, P, M)
FrameRect | ブラシによる矩形の描画(S, P, M)
GetArrayNum | 列挙する情報に応じて必要な配列の要素数を取得
GetDefaultPrinter | 通常使うプリンタの取得
GetDevModeHandle | 指定したプリンタのDEVMODE構造体のハンドルとDEVNAMES構造体のハンドルを取得
GetDevModeInfo | DEVMODE構造体のハンドルから印刷情報を取得
GetDevNamesInfo | DEVNAMES構造体のハンドルからプリンタ名とポート名を取得
GetImageFromHdc | デバイスコンテキスト(hDC)からイメージを取得
GetPaperSize(Variant) | 指定したプリンタの用紙の有効印字領域、高さ、幅を取得
GetPixel(Variant) | 指定したピクセルからRGB値を取得(S, M)
GetPrinterPort | プリンタのポートの取得
GetTextExtent(Variant) | 指定した文字情報から描画する文字列の高さと幅を取得(S, P)
ImageOut | デバイスコンテキスト(hDC)に対するイメージの描画(S, P)
ImageOutToHwnd | ウィンドウハンドル(hWnd)に対するイメージの描画(S)
Line | 直線の描画(S, P, M)
MeasureString(Variant) | 指定した文字情報から描画する文字列の高さと幅を取得(GDI+) (S, P)
Paint | 指定した色を別の色に設定(S, P, M)
Pie | 扇形の描画(S, P, M)
PolyBezier(Variant) | ベジェ曲線の描画(S, P, M)
Polygon(Variant) | 多角形の描画(S, P, M)
Polyline(Variant) | 連続線の描画(S, P, M)
PreviewInit | 印刷プレビュー時のDPIを設定
PrintAbortDoc | 印刷ジョブの終了
PrintCreateDC | デバイスコンテキストの作成
PrintDeleteDC | デバイスコンテキストの削除
PrintDialog | デバイスコンテキストの作成（印刷ダイアログ表示）
PrintEndDoc | プリントの終了
PrintEndPage | ページの終了
PrintStartDoc | プリントの開始
PrintStartPage | ページの開始
Rectangle | 矩形の描画(S, P, M)
ReleaseDevModeHandle | DEVMODE構造体のハンドルとDEVNAMES構造体のハンドルを解放
RoundRect | 角が丸い矩形の描画(S, P, M)
SaveDevModeHandle | DEVMODE構造体のハンドルとDEVNAMES構造体のハンドルをファイルに保存
SavePrinterInfo | プリンタの情報を設定ファイルに保存
SetDefaultPrinter | 通常使うプリンタを設定
SetDevModeInfo | DEVMODE構造体のハンドルへ印刷情報を設定
SetPixel | 指定したピクセルにRGB値を設定(S, M)
TextOut | 指定したピクセルにRGB値を設定(S, M)


Scan（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

Scan（カスタム階層プロパティ）

【機能】

TWAIN対応のスキャンデバイスからイメージを取り込む機能を提供します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
AdjustGamma | 開発者作成UIで取り込む時のガンマ補正係数
AutoBright | 開発者作成UIで取り込む時の明るさを自動で処理するかどうかを設定
BitDepth | 開発者作成UIで取り込む時の画素ビット数
BitDepthReduction | 開発者作成UIで取り込む時の色深度の減少方法
Border | 開発者作成UIで取り込む時の境界補正
BorderColor | 開発者作成UIで取り込む時の境界補正色
BorderDetection | 開発者作成UIで取り込む時の自動領域切り出し
Brightness | 開発者作成UIで取り込む時の明るさを設定
Cancel | 処理の中止の設定
ColorBWRatio | 開発者作成UIで取り込む時の白黒原稿の中に含まれるカラー画素の割合
Compression | ファイルおよびメモリ転送時の圧縮方法
Contrast | 開発者作成UIで取り込む時のコントラスト
Deskew | 開発者作成UIで取り込む時のデスキュー（傾き補正）
DropoutColor | 開発者作成UIで取り込む時のドロップアウトカラー
DsName | 取り込みを行うデータソース名
DsNameCount | Listメソッドで取得されるデータソースの数
DsNameList | Listメソッドで取得されるデータソースのリスト
DynamicThreshold | 開発者作成UIで取り込む時のダイナミックスレッシュホールド
ExtUiMode | 拡張ユーザインタフェース（メーカ提供UI）モードの設定
FileFormat | ファイル転送時の保存するファイル形式
FileName | ファイル転送時およびメモリ転送の圧縮モード時に保存するファイル名
FocusPosition | 開発者作成UIで取り込む時の焦点位置
Gamma | 開発者作成UIで取り込む時のガンマ
HalfTone | 開発者作成UIで取り込む時のハーフトーン名
HalfToneList | GetCapEnumメソッドで取得されるハーフトーンのリスト
Highlight | 開発者作成UIで取り込む時のハイライト
IgnoreBackColor | 開発者作成UIで取り込む時、原稿の背景色を無視するかどうかを設定
ImageFilter | 開発者作成UIで取り込む時のイメージフィルタ
ImageMerge | 開発者作成UIで取り込む時の両面合成（ADF両面時）
Indicator | 開発者作成UIで取り込む時のインジケータの有無
InformationFileName | メーカ提供UIの設定情報を保存するファイル名
JpegQuality | ファイルおよびメモリ転送時における圧縮方法がJPEGの場合の品質係数
Manufacturer | SelectメソッドやGetDSInfoメソッドで取得されるデータソースの製造者名
MoireFilter | 開発者作成UIで取り込む時のモアレ除去フィルタ
NoiseFilter | 開発者作成UIで取り込む時のノイズ除去フィルタ
Orientation | 開発者作成UIで取り込む時の用紙の向き、または画像の回転角度
OverScan | 開発者作成UIで取り込む時のオーバースキャンの取り扱い
PageCount | 開発者作成UIで取り込む時のページ数
PaperSize | 開発者作成UIで取り込む時の用紙サイズ
PixelType | 開発者作成UIで取り込む時のイメージの種類
ProductFamily | SelectメソッドやGetDSInfoメソッドで取得されるデータソースの製品ファミリー名
ProductName | SelectメソッドやGetDSInfoメソッドで取得されるデータソースの製品名
ProtocolMajor | SelectメソッドやGetDSInfoメソッドで取得されるTWAINのメジャーバージョン
ProtocolMinor | SelectメソッドやGetDSInfoメソッドで取得されるTWAINのマイナーバージョン
RangeCurrent | GetCapRangeメソッドで取得される現在値
RangeDefault | GetCapRangeメソッドで取得されるデフォルト値
RangeMax | GetCapRangeメソッドで取得される最大値
RangeMin | GetCapRangeメソッドで取得される最小値
RangeStep | GetCapRangeメソッドで取得されるステップ値
RectBottom | 開発者作成UIで取り込む時の取込下位置
RectLeft | 開発者作成UIで取り込む時の取込左位置
RectRight | 開発者作成UIで取り込む時の取込右位置
RectTop | 開発者作成UIで取り込む時の取込上位置
RemoveHole | 開発者作成UIで取り込む時のパンチ穴の取り扱い
RotateBack | 開発者作成UIで取り込む時の両面スキャン時の裏面回転
Rotation | 開発者作成UIで取り込む時の画像の回転角度
ScanCount | 取り込んだイメージの数
ScanMode | 開発者作成UIで取り込む時の取り込みモード
ScanningSpeed | 開発者作成UIで取り込む時の読み取り速度
Shadow | 開発者作成UIで取り込む時のシャドウ
Sharpness | 開発者作成UIで取り込む時のシャープネス
SkipBlankPage | 開発者作成UIで取り込む時の白紙ページの取り扱い
SkipBlankThreshold | 開発者作成UIで取り込む時の白紙ページに含まれるしきい値の割合や白紙スキップのしやすさ
SourceMajor | SelectメソッドやGetDSInfoメソッドで取得されるデータソースのメジャーバージョン
SourceMinor | SelectメソッドやGetDSInfoメソッドで取得されるデータソースのマイナーバージョン
SourceVersionInfo | SelectメソッドやGetDSInfoメソッドで取得されるデータソースのバージョン情報
TextEnhancement | 開発者作成UIで取り込む時のテキストエンハンスメント
Threshold | 開発者作成UIで取り込む時のスレッシュホールド（しきい値）
TransferMode | イメージの転送方法
UiMode | 取り込む時のユーザインタフェース（メーカ提供UI or 開発者作成UI）の設定
UnitFlag | 開発者作成UIで取り込む時の取り込み単位をDSの機能に任せるかIK10で考慮するか
UnitMode | 開発者作成UIで取り込む時の取り込み単位、および実際に取り込んだ単位
XResolution | X方向の解像度
XScaling | 開発者作成UIで取り込む時のX方向のスケーリングの比率
YResolution | Y方向の解像度
YScaling | 開発者作成UIで取り込む時のY方向のスケーリングの比率

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
ClearProperty | Scanプロパティの初期化
CloseDS | データソースをクローズ
Exec(Variant) | データソースからの取り込み
FreeTwain | TWAIN DLLの解放
GetBitDepth(Variant) | サポートしている画素ビット数の取得
GetCapEnum(Variant) | 指定した項目の設定可能値の取得
GetCapRange(Variant) | 指定した項目の範囲の取得
GetDSInfo | 指定したデータソースの情報を取得
GetMinimumSize(Variant) | データソースから取り込める最小サイズの取得
GetPhysicalSize(Variant) | データソースから取り込める最大物理サイズの取得
Initialize | TWAINの初期化
IsCapSupported(Variant) | 指定した項目がサポートされているかどうかを確認
IsOpenDS | データソースがオープンされているかどうかを確認
List | データソースの列挙
LoadTwain | TWAIN DLLのロード
OpenDS | データソースをオープン
Select | データソース（ドライバ）の選択
Terminate | TWAINの終了処理

●ImageKit10で扱うイメージ取込の分類表

取込装置 | 取込イメージ | 取込方法
イメージスキャナ（原稿台） | シングルイメージ | 開発者作成UI/メーカ提供UI
イメージスキャナ（ADF） | マルチイメージ | 開発者作成UI/メーカ提供UI
デジタルカメラ | マルチイメージ | 開発者作成UI/メーカ提供UI
フィルムスキャナ | マルチイメージ | メーカ提供UI

●取り込みの簡単な流れ

[LoadTwain]

|

Initialize（必須）

|

GetDSInfo, List, Select

|

[OpenDS]

|

GetBitDepth, GetCapEnum, GetCapRange, GetPhysicalSize, GetMinimumSize, IsCapSupported

|

Exec

|

[CloseDS]

|

Terminate（必須）

|

[FreeTwain]

注意：

[ ]のLoadTwain/FreeTwainとOpenDS/CloseDSは実行しなくても構いませんが、実行する時はLoadTwain/FreeTwainとOpenDS/CloseDSを対で使用してください。LoadTwain/FreeTwainとInitialize/Terminateを除く全てのメソッドは、その間であればどのタイミングでも使用可能です。

ただし、OpenDS/CloseDSを実行する場合、OpenDS/CloseDSの間に記載されているメソッドはOpenDSを実行した後に使用しなければなりません。


Vector（イメージキットコントロール／カスタム階層プロパティ）

イメージキットコントロール

Vector（カスタム階層プロパティ）

【機能】

ベクトルイメージの作成およびラスタとベクトルの相互変換機能を提供します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
ButtonName | RasterToVectorメソッド処理中のダイアログボックスに表示するボタンの名称を設定
Cancel | RasterToVectorメソッド処理の中止の設定
Caption | RasterToVectorメソッド処理中のダイアログボックスに表示するタイトルバーの名称を設定
Message | RasterToVectorメソッド処理中のダイアログボックスに表示するメッセージを設定

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
CreateImage | ベクトルイメージを新規に作成
RasterToVector | ラスタイメージをベクトルイメージに変換
VectorToRaster | ベクトルイメージをラスタイメージに変換


サムネイルコントロール

  サムネイルコントロール

フォルダとファイルタイプなどを指定して、複数のイメージファイルを自動的にサムネイル表示します。

マウスクリックやマウスの移動、およびキーボードやメソッドからサムネイル画像の選択ができます。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Appearance | サムネイルコントロールの縁の設定
BackColor | サムネイルコントロールの背景色
BorderColor | サムネイルコントロールの縁の色
BorderVisible | サムネイルコントロールの縁の描画設定
Button3D | サムネイルコントロールのボタンの3D設定
Cancel | 処理の中止の設定
ClearOnLoad | サムネイルコントロールに画像をロードする時のモード
ColCount | 表示行数の設定
DispFileName | ファイル名の表示設定
EdgeSize | サムネイルコントロールの縁のサイズ
EnableArrowKeys | 矢印キーおよびPageUp, PageDownキーを有効にするかどうかの設定
Enabled | マウスやキーボードイベントへの応答可否
EnableDragSource | サムネイル画像のドラッグ&ドロップの設定
EnableDragTarget | サムネイルコントロールへのドラッグ&ドロップの設定
EnableMouseMoveButton | マウスの移動に伴うボタンの設定
EnableMouseWheel | マウスホイールの設定
EnableMove | サムネイル画像の移動可否
EnableOLEDrag | OLEドラッグ&ドロップの使用許可
EnableSelectMultiFiles | 複数のサムネイル画像を選択するかどうかの設定
EnableTouch | 指によるスクロールの適用可否
ErrorStatus | エラーの種類を示す
ExifAutoRotate | 読み込み対象ファイルがExif形式の場合、主画像の方向に合わせて回転を行って表示する
FileExt | 読み込むファイルタイプを設定
FileName | 選択したサムネイル画像のファイル名
FilePath | 読み込むフォルダを設定
ForeColor | サムネイルのボタンの色を設定
ForeColorDown | サムネイルのボタンの色を設定
GapSize | サムネイル画像とその間の間隔を設定
Hdc | サムネイルコントロールのデバイスコンテキスト
HWND | サムネイルコントロールのウィンドウハンドル
ImageHandle | サムネイルコントロールにロードするメモリハンドル
ImageSize | サムネイル画像のサイズを設定
ListOfFileNames | サムネイルコントロールで表示するイメージファイルの名称リストを取得または設定
MouseCursorFile | MouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
MouseCursorType | サムネイルコントロールの描画領域内におけるマウスカーソルの形状
Picture | サムネイルのボタンの背景画像
PictureDown | サムネイルのボタンの背景画像
PictureDownFile | サムネイルのボタンの背景画像を示すファイル名
PictureFile | サムネイルのボタンの背景画像を示すファイル名
ReadMode | 読み込みのモードを設定
RowCount | 表示列数の設定
ScrollBar | スクロールバーの表示設定
ScrollStep | スクロールの移動量を設定
ScrollVH | スクロールの方向の設定
SelectMouseCursorFile | SelectMouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
SelectMouseCursorType | サムネイルのコマを選択する際のマウスカーソルの形状
SelectTextBackColor | 選択されたサムネイル画像のファイル名および注釈の背景色
SelectTextColor | 選択されたサムネイル画像のファイル名および注釈を描画色
SelectTextTransparent | 選択されたサムネイル画像のファイル名および注釈を描画する時の透過設定
Sort | フォルダのファイルのソート方法を設定
SortDate | Sortプロパティに日付が含まれる時のソートする日付
SortOrder | フォルダのファイルのソート順を設定
StartNum | 表示を開始するイメージの番号を取得もしくは設定
Style | サムネイルの背景のデザインを設定
Text | サムネイル画像の注釈の設定
TextBackColor | サムネイル画像のファイル名および注釈の背景色
TextColor | サムネイル画像のファイル名および注釈を描画色
TextTransparent | サムネイル画像のファイル名および注釈を描画する時の透過設定
ThumbArrayFileName | 指定したサムネイル画像のファイル名
ThumbArrayNum | サムネイル画像のイメージ番号を設定
ThumbArrayPage | 指定したサムネイル画像のファイルのページ番号
ThumbArrayPathName | 指定したサムネイル画像のフォルダ名
ThumbnailFile | サムネイルファイルの設定

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Clear | サムネイル画像の表示をクリア
Delete | 指定したサムネイル画像の解除
DeSelectImage | 指定したサムネイル画像の選択を解除
Display | サムネイルイメージを表示
GetFiles | サムネイルイメージの取得
IsSelected | 指定したサムネイル画像の選択可否
Refresh | コントロール上のイメージの再描画
Scroll | スクロールを実行
SelectImage | 指定したサムネイル画像の選択
SortImage | サムネイルイメージをソートします。
UpdateThumbnailFile | サムネイルファイルを更新

●イベント一覧（アルファベット順）

カスタムイベント | 内容
DropFileInThumb | サムネイルコントロールにファイルをドロップした時に発生
EndLoadFile | サムネイルコントロール上の1イメージをロードした後に発生
MouseMoveOnThumb | サムネイルコントロール上をマウスで移動した時に発生
SelectFile | サムネイルコントロール上のイメージを選択すると発生
ShowThumbImage | サムネイル画像を表示した後に発生
StartLoadFile | サムネイルコントロール上の1イメージをロードする前に発生

【ImageKit6との違い】

MouseCursorプロパティがSelectMouseCursorFileプロパティに変更されました。

MouseCursorTypeFileプロパティがMouseCursorFileプロパティに変更されました。

【ImageKit6/7/8 ActiveXとの違い】

ForeColorUpプロパティがForeColorプロパティに変更されました。

PictureUpプロパティがPictureプロパティに変更されました。

PictureUpFileプロパティがPictureFileプロパティに変更されました。


プレイコントロール

  プレイコントロール

指定したファイルを開き、動画を再生します。動画の再生、停止、一時停止、静止画の取得ができます。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Appearance | プレイコントロールの縁の設定
BackColor | プレイコントロールの背景色
BorderColor | プレイコントロールの縁の色
BorderVisible | プレイコントロールの縁の描画設定
Duration | 再生時間を秒単位で取得
Enabled | マウスやキーボードイベントへの応答可否
ErrorStatus | エラーの種類を示す
FrameRate | フレームレートを取得
HWND | プレイコントロールのウィンドウハンドル
MouseCursorFile | MouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
MouseCursorType | プレイコントロールの描画領域内におけるマウスカーソルの形状
State | 現在の状態を取得
VideoHeight | 動画の高さを取得
VideoWidth | 動画の幅を取得

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Close | 動画ファイルを閉じる
Open | 動画ファイルを開く
Pause | 動画の一時停止、または一時停止した動画の再生
Start | 動画の再生
StartFrom | 動画の開始位置を設定
Stop | 動画の停止
TakeSnapshot | 静止画の取得

●イベント一覧（アルファベット順）

カスタムイベント | 内容
End | 再生が完了した後に発生
Snapshot | 静止画を取得した後に発生


プレビューコントロール

  プレビューコントロール

Web(USB)カメラと接続して、映像を表示します。

表示の開始、停止、一時停止、静止画の取得ができます。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Appearance | プレビューコントロールの縁の設定
BackColor | プレビューコントロールの背景色
BitCount | 1ピクセルあたりのビット数
BorderColor | プレビューコントロールの縁の色
BorderVisible | プレビューコントロールの縁の描画設定
Compression | ビットマップの圧縮フォーマット
Enabled | マウスやキーボードイベントへの応答可否
ErrorStatus | エラーの種類を示す
FrameRate | フレームレートを取得
HWND | プレビューコントロールのウィンドウハンドル
MaximumFrameRate | 最大のフレームレート
MinimumFrameRate | 最小のフレームレート
MouseCursorFile | MouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
MouseCursorType | プレビューコントロールの描画領域内におけるマウスカーソルの形状
State | 現在の状態を取得
VideoDevices | ビデオデバイスの名称
VideoHeight | プレビュー画像の高さを取得
VideoSubType | メディアサンプルのサブタイプを指定するGUID文字列
VideoWidth | プレビュー画像の幅を取得

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Close | Web(USB)カメラとの接続を閉じる
GetStreamFormat | 指定したフォーマット機能を取得
GetStreamFormats | フォーマット機能セットを取得
GetVideoDevices | ビデオデバイスの名称を取得
Open | プレビューモードでWeb(USB)カメラと接続
Pause | プレビューの一時停止、または一時停止したプレビューの再開
SetStreamFormat | 指定したフォーマット機能を設定
ShowCapturePinDialog | キャプチャーピンダイアログの表示
ShowFilterDialog | フィルタダイアログの表示
Start | プレビューの開始
Stop | プレビューの停止
TakeSnapshot | 静止画の取得

●イベント一覧（アルファベット順）

カスタムイベント | 内容
Snapshot | 静止画を取得した後に発生


レコードコントロール

  レコードコントロール

Web(USB)カメラと接続して、映像を表示しながら、指定したファイルに映像を保存します。

保存の開始、停止、一時停止ができます。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Appearance | レコードコントロールの縁の設定
BackColor | レコードコントロールの背景色
BitCount | キャプチャー画像の1ピクセルあたりのビット数
BitRate | ビットレートを設定
BorderColor | レコードコントロールの縁の色
BorderVisible | レコードコントロールの縁の描画設定
Compression | キャプチャー画像の圧縮フォーマット
Enabled | マウスやキーボードイベントへの応答可否
ErrorStatus | エラーの種類を示す
Format | ファイルの保存形式
FrameRate | フレームレートを取得
HWND | レコードコントロールのウィンドウハンドル
MaximumBitRate | 最大のビットレート
MaximumFrameRate | 最大のフレームレート
MinimumBitRate | 最小のビットレート
MinimumFrameRate | 最小のフレームレート
MouseCursorFile | MouseCursorTypeプロパティが15(ikCursorCustom)の時のカーソルファイル名
MouseCursorType | レコードコントロールの描画領域内におけるマウスカーソルの形状
State | 現在の状態を取得
VideoDevices | ビデオデバイスの名称
VideoHeight | キャプチャー画像の高さを取得
VideoSubType | メディアサンプルのサブタイプを指定するGUID文字列
VideoWidth | キャプチャー画像の幅を取得

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
Close | Web(USB)カメラとの接続を閉じる
GetStreamFormat | 指定したフォーマット機能を取得
GetStreamFormats | フォーマット機能セットを取得
GetVideoDevices | ビデオデバイスの名称を取得
Open | キャプチャーモードでWeb(USB)カメラと接続
Pause | キャプチャーの一時停止、または一時停止したキャプチャーの再開
SetStreamFormat | 指定したフォーマット機能を設定
ShowCapturePinDialog | キャプチャーピンダイアログの表示
ShowFilterDialog | フィルタダイアログの表示
Start | キャプチャーの開始
Stop | キャプチャーの停止


以前のImageKitとの互換性（コントロール）

以前のImageKitとの互換性

以前のImageKitを使用していたプログラムで、デザインやコードに関しては、ImageKit10 ActiveXの新しいコントロールに自動的に置き換えることはできません。相違点を考慮した上で手動で作業することになります。

ただし、以前のImageKitとの共存は可能です。例えば、同じフォーム上に新たにImageKit10 ActiveXのコントロールを配置して使用することは問題ありません。また、以前のImageKitのメモリハンドルをImageKit10 ActiveXのコントロールへ代入して新機能を利用することも可能です。

また、以前のImageKitで提供していたコモンコントロール、ディスプレイコントロール、エフェクトコントロール、ファイルコントロール、プリントコントロール、スキャンコントロール、スライドショウコントロールの7つはImageKit8 ActiveXからは提供しておりません。

ImageKit5

(1)プロパティ名の変更（ImageKit5 à ImageKit10 ActiveX）

サムネイルコントロール

Hwnd à HWND

(2)イベントの引数変更（ImageKit5 à ImageKit10 ActiveX）

サムネイルコントロール

SelectFileイベント

(3)その他

プロパティの型を変更。詳しくはリファレンスの【ImageKit5との違い】【ImageKit5/6との違い】【ImageKit5/6/7/8 ActiveXとの違い】を参照してください。

ImageKit6

(1)プロパティ名の変更（ImageKit6 à ImageKit10 ActiveX）

サムネイルコントロール

ForeColorUp à ForeColor

Hwnd à HWND

MouseCursor à SelectMouseCursorFile

MouseCursorTypeFile à MouseCursorFile

PictureUp à Picture

PictureUpFile à PictureFile

(2)仕様変更

サムネイルコントロールにExifAutoRotateプロパティを追加したことにより、表示される画像の向きが異なる場合があります。以前のImageKitと同じ動作とする場合はExifAutoRotateプロパティをFalseに設定してください。

サムネイルコントロールのMouseMoveOnThumbイベントの発生条件を変更。詳しくはリファレンスの【ImageKit6/7/8/9 ActiveXとの違い】を参照してください。

(3)その他

定数名の一部やプロパティの型を変更。詳しくはリファレンスの【ImageKit5/6との違い】【ImageKit5/6/7/8 ActiveXとの違い】【ImageKit6との違い】【ImageKit6/7/8 ActiveXとの違い】を参照してください。

ImageKit7 ActiveX

(1)プロパティの機能の変更（ImageKit7 ActiveX à ImageKit10 ActiveX）

イメージキットコントロール

Refine1BitImage à StretchMode

RefineColorImage à StretchMode

PanWindow.RefineImage à StretchMode

(2)プロパティ名の変更（ImageKit7 ActiveX à ImageKit10 ActiveX）

イメージキットコントロール

Hwnd à HWND

サムネイルコントロール

ForeColorUp à ForeColor

Hwnd à HWND

PictureUp à Picture

PictureUpFile à PictureFile

(3)メソッドの機能の変更（ImageKit7 ActiveX à ImageKit10 ActiveX）

イメージキットコントロール

Display à DisplayImage

(4)仕様変更

イメージキットコントロールのFile.ExifAutoRotateプロパティとサムネイルコントロールのExifAutoRotateプロパティを追加したことにより、表示される画像の向きが異なる場合があります。以前のImageKitと同じ動作とする場合はExifAutoRotateプロパティをFalseに設定してください。

サムネイルコントロールのMouseMoveOnThumbイベントの発生条件を変更。詳しくはリファレンスの【ImageKit6/7/8/9 ActiveXとの違い】を参照してください。

(5)その他

機能拡張やプロパティの型/メソッドの引数や戻り値の型を変更。詳しくはリファレンスの【ImageKit6/7/8 ActiveXとの違い】【ImageKit7 ActiveXとの違い】【ImageKit7/8/9 ActiveXとの違い】を参照してください。

ImageKit8 ActiveX

(1)プロパティ名の変更（ImageKit8 ActiveX à ImageKit10 ActiveX）

イメージキットコントロール

Hwnd à HWND

サムネイルコントロール

ForeColorUp à ForeColor

Hwnd à HWND

PictureUp à Picture

PictureUpFile à PictureFile

(2)仕様変更

イメージキットコントロールのFile.ExifAutoRotateプロパティとサムネイルコントロールのExifAutoRotateプロパティを追加したことにより、表示される画像の向きが異なる場合があります。以前のImageKitと同じ動作とする場合はExifAutoRotateプロパティをFalseに設定してください。

サムネイルコントロールのMouseMoveOnThumbイベントの発生条件を変更。詳しくはリファレンスの【ImageKit6/7/8/9 ActiveXとの違い】を参照してください。

(3)その他

プロパティの型/メソッドの引数や戻り値の型を変更。詳しくはリファレンスの【ImageKit7/8 ActiveXとの違い】【ImageKit7/8/9 ActiveXとの違い】【ImageKit8 ActiveXとの違い】を参照してください。

ImageKit9 ActiveX

(1)仕様変更

イメージキットコントロールのFile.ExifAutoRotateプロパティとサムネイルコントロールのExifAutoRotateプロパティを追加したことにより、表示される画像の向きが異なる場合があります。以前のImageKitと同じ動作とする場合はExifAutoRotateプロパティをFalseに設定してください。

サムネイルコントロールのMouseMoveOnThumbイベントの発生条件を変更。詳しくはリファレンスの【ImageKit6/7/8/9 ActiveXとの違い】を参照してください。

(2)その他

詳しくはリファレンスの【ImageKit7/8/9 ActiveXとの違い】【ImageKit9 ActiveXとの違い】を参照してください。


DLLコマンドリファレンス

ImageKit10には、ActiveXとほぼ同様な機能（描画系のコントロールは除く）を、DLL形式のコマンドとしても用意してあります。

●ImageKit10のDLLコマンドを使用する前に

呼び出し側のプログラムでDLLコマンド（プロシージャ）のプロトタイプ宣言の記述が必要になります。

開発環境に対応するヘッダファイルを参照してください。

コンテナ | ヘッダファイル名
C++Builder､Visual C++ | ImageKit10.h
Delphi | ImageKit10.pas
Visual Basic | ImageKit10.bas

●旧バージョンからの移行について

1)ImageKit5からの移行

DLL関数の名称と構造体名が"IK5・・・・"から"IK・・・"へ変更されています（既存の関数および構造体については・・・の部分は同じです）。その他にも関数に引数が追加されたり、新たに戻り値が追加されたりといくつかの変更が施されているものがあります。変更があるものについては【ImageKit5との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

（注意）

Ik5Effect.dllのIK5ClearClipBrd, IK5CopyImage, IK5CreateImage, IK5GetFromClipBrd, IK5IsClipBrd, IK5SetToClipBrdはImageKit10ではIk10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dllに移動いたしました。

2)ImageKit6からの移行

同じ構造体でも型が変更されたり、メンバー変数が追加されているもの、および同じ関数でも引数が変更されているものがあります。変更があるものについては【ImageKit6との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

（注意）

Ik6Com.dllのIKCreateVectImage, IKCreateVectImageEx, IKDrawVectObject, IKVectToDibはImageKit10ではIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllに移動いたしました。また、IKVectToDibはIKVectorToRasterに名称が変更されました。

3)ImageKit7からの移行

同じ構造体でもメンバー変数が追加されているものや、Unicodeへの対応に伴い文字列型が変更されているものがあります。変更があるものについては【ImageKit7との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

4)ImageKit8からの移行

同じ構造体でもメンバー変数が追加されているものがあります。変更があるものについては【ImageKit8との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

5)ImageKit9からの移行

同じ構造体でもメンバー変数が追加されているものがあります。変更があるものについては【ImageKit9との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

文章中にIK5, IK6, IK7, IK8, IK9, IK10という表現がありますが、それぞれImageKit5・ImageKit6・ImageKit7・ImageKit8・ImageKit9・ImageKit10の省略形を意味します。


Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll

ImageKit10を使用する上で基本となる機能を提供します。

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKBitBlt | デバイスコンテキストのイメージを別のデバイスコンテキストへコピー
IKBitmapFromDib | DIBからDDBに変換
IKClearClipBrd | クリップボードのクリア
IKCopyImage | ラスタイメージやベクトルイメージの複製を作成
IKCreateImage | ラスタイメージを新規に作成
IKDeleteBitmapObject | ビットマップオブジェクトを削除
IKDibFromBitmap | DDBからDIBに変換
IKFreeMemory | メモリハンドルの解放
IKGetDpi | メモリハンドルから解像度（整数型）を取得
IKGetDpiF | メモリハンドルから解像度（浮動小数点型）を取得
IKGetDpiFromHdc | デバイスコンテキストから解像度を取得
IKGetErrorStatus | エラー番号を取得
IKGetFromClipBrd | クリップボードからラスタイメージやベクトルイメージの取り込み
IKGetImageType | メモリハンドルからイメージの情報を取得
IKGetMemorySize | メモリハンドルから使用しているイメージのメモリサイズを取得
IKGetOneBitPalCount | 1ビットカラーイメージのパレット0とパレット1のピクセル数を取得
IKGetPalette | メモリハンドルからパレットデータを取得
IKGetSystemPalette | 現在のPCのシステムパレットを取得
IKIsClipBrdData | クリップボードのデータチェック
IKResizeRefine1BitImage | 1ビットイメージを8ビットグレースケールに補間してリサイズ
IKSetDpi | メモリハンドルへ解像度（整数型）を設定
IKSetDpiF | メモリハンドルへ解像度（浮動小数点型）を設定
IKSetPalette | メモリハンドルへパレットデータを設定
IKSetToClipBrd | ラスタイメージやベクトルイメージをクリップボードにコピー
IKStretchBlt | デバイスコンテキストのイメージを別のデバイスコンテキストへコピー（拡大縮小）

●構造体（ユーザ定義型）の定義および解説

IKIMAGE_INFO:イメージ情報を表します（ IKGetImageTypeで使用します）。

(1)C++Builder/Visual C++

typedef struct {

short | BitCount;
short | PalCount;
short | Mask1632;
long | Xdpi;
long | Ydpi;
long | Width;
long | Height;
long | WidthByte;
BOOL | Gray;
long | ImageSize;
short | ImageType;

} IKIMAGE_INFO;

typedef IKIMAGE_INFO * PTR_IKIMAGE_INFO;

(2)Delphi

type

IKIMAGE_INFO = Record

BitCount: | Smallint;
PalCount: | Smallint;
Mask1632: | Smallint;
Xdpi: | Longint;
Ydpi: | Longint;
Width: | Longint;
Height: | Longint;
WidthByte: | Longint;
Gray: | LongBool;
ImageSize: | Longint;
ImageType: | Smallint;

end;

(3)Visual Basic

Type IKIMAGE_INFO

BitCount | As Integer
PalCount | As Integer
Mask1632 | As Integer
Xdpi | As Long
Ydpi | As Long
Width | As Long
Height | As Long
WidthByte | As Long
Gray | As Long
ImageSize | As Long
ImageType | As Integer

End Type

BitCount: | イメージの 1ピクセルあたりのビット数を表します。 *1 1:2値、4:16色、8:256色、16:16ﾋﾞｯﾄｶﾗｰ、24:24ﾋﾞｯﾄｶﾗｰ、32:32ﾋﾞｯﾄｶﾗｰ
PalCount: | 使用パレット数を表します。（ BitCountが8以下の場合が対象となり、それ以外は0） *1
Mask1632: | 16, 32ビットカラーの時のカラーマスクの種類を表します。 *1 0:BitCountが16, 32でない、1:カラーマスクあり(RGB555フォーマット) 2:カラーマスクあり(RGB565フォーマット)、3:カラーマスクなし(RGB555フォーマット) 4:カラーマスクあり(RGB888フォーマット)、5:カラーマスクなし(RGB888フォーマット)
Xdpi: | イメージの横方向（ X方向）の1インチあたりのピクセル数を表します。
Ydpi: | イメージの縦方向（ Y方向）の1インチあたりのピクセル数を表します。
Width: | イメージの横のピクセル数を表します。
Height: | イメージの縦のピクセル数を表します。
WidthByte: | イメージの 1ラインのバイト数を表します。 *1
Gray: | True(0以外):グレースケール False(0):グレースケールでない、を表します。 *1
ImageSize: | イメージサイズのバイト数を表します。
ImageType: | イメージのタイプを表します。

0:不明、1:ラスタイメージ、2:WMF、3:EMF、4:DXF、5:SVG、6:SXF

*1 ベクトルイメージの場合は使用しません。

IKIMAGE_INFOは、ImageKit5のIK5IMAGE_INFOの後継にあたりますが、ImageTypeが新たに追加されています。

【ユーザ関数の定義】

Visual Basicの場合は、ユーザ関数をフォームモジュールではなく標準モジュールとして作成してください。

【関数書式】

(1)C++Builder/Visual C++  BOOL __stdcall UserProc(short Percent);

(2)Delphi function UserProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic Function UserProc(ByVal Percent As Integer) As Long

【引数】

名称 | 内容
Percent | 現在処理している％数

【戻り値】

False(0)の場合は実行している処理を終了します。True(0以外)は処理を継続します。

ユーザ関数は UserProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。関数名がUserProcの場合は以下のような形式で引数に渡します。

(1)C++Builder/Visual C++  UserProc

(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)

(3)Visual Basic Address Of UserProc


Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll

ラスタイメージに対して特殊処理を施す場合に使用するコマンドを提供します。

●RGBとYCrCbカラースペースについて

エフェクト処理ではしばし、RGBとYCrCbの変換が内部的に行われます。

以下に計算式を示します。

なお、Yは輝度情報、CrCbは色相情報を表します。

(1)RGBからYCrCbへ

Y = (0.29900 * R) + (0.58700 * G) + (0.11400 * B)

Cr = (0.50000 * R) + (-0.41869 * G) + (-0.08131 * B) + 128

Cb = (-0.16874 * R) + (-0.33126 * G) + (0.50000 * B) + 128

(2)YCrCb からRGBへ

R = Y + (1.402 * (Cr - 128))

G = Y - (0.34414 * (Cb - 128)) - (0.71414 * (Cr - 128))

B = Y + (1.772 * (Cb - 128))

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKAffine | アフィン変換処理
IKAntiAlias | アンチエリアシング処理
IKAutoSelectImage | 自動選択処理
IKAutoSelectImageEx | 自動選択処理（C++Builder, Delphi用）
IKBlur | ぼかし処理
IKCanvas | キャンバス地効果
IKCheckSecretImage | 透かしの取り出し関数
IKChroma | 彩度補正処理
IKConvertColor | 減色・増色処理
IKCustomFilter | カスタムフィルタ
IKCutRectImage | 矩形切り出し処理
IKEmboss | エンボス処理
IKEndDibAccess | DIBアクセスの終了処理
IKGetDibPixel | DIBからピクセル値を取得
IKGlassTile | ガラスタイル効果
IKLayer(Ex) | ラスタイメージの重ね合わせ処理
IKLens | レンズ効果
IKMakeRGBAImage | RGBとAからRGBAの32ビットイメージを作成
IKMosaic | モザイク処理
IKMotionBlur | モーションぼかし処理
IKOilPaint | 油絵風効果
IKOutline | 輪郭抽出処理
IKPanorama | パノラマ処理
IKPasteImage | ラスタイメージの貼り付け処理
IKRedEyeRemoval | 赤目補正
IKRemoveNoise | ノイズ除去処理
IKResize | 拡大縮小処理
IKResizeEx | 拡大縮小処理（C++Builder, Delphi用）
IKRGBGamma | RGB値のガンマ補正処理
IKRGBLevel | RGB値の加減処理
IKRGBRev | RGB値の反転処理
IKRGBSpline | RGB値のスプライン補正処理
IKRipple | 波紋効果
IKRotation | 回転処理
IKRotationEx | 回転処理（C++Builder, Delphi用）
IKSelectImage | 自由選択処理
IKSelectImageEx | 自由選択処理（C++Builder, Delphi用）
IKSetDibPixel | DIBへピクセル値を設定
IKSetGray | カラーイメージをグレースケールへ変換
IKSetSecretImage | 透かしの埋め込み関数
IKSharp | シャープネス処理
IKSplitRGBAImage | RGBAの32ビットイメージをRGB(24ビット)とA(8ビット)に分割
IKStartDibAccess | DIBアクセスの開始処理
IKUnifyColor | 色のばらつきを修正
IKWaves | さざ波効果
IKWhirlPinch | ねじりつまみ効果
IKYCCGamma | YCrCb値のガンマ補正処理
IKYCCLevel | YCrCb値の加減処理
IKYCCRev | YCrCb値の反転処理
IKYCCSpline | YCrCb値のスプライン補正処理

※ IK5のIK5Shade関数は IK6でIKBlur関数に名称が変更されました（IK6以降は同じ）。

●構造体（ユーザ定義型）の定義および解説

IKSELECT_IMAGE: 対象のイメージとマスクを表します。

(1)C++Builder/Visual C++

typedef struct {

HANDLE hImgBmh;

HANDLE hMskBmh;

} IKSELECT_IMAGE;

typedef IKSELECT_IMAGE * PTR_IKSELECT_IMAGE;

(2)Delphi

type

IKSELECT_IMAGE = Record

hImgBmh: THandle;

hMskBmh: THandle;

end;

(3)Visual Basic

Type IKSELECT_IMAGE

hImgBmh As Long

hMskBmh As Long

End Type

A.引数として扱う場合

hImgBmh:

処理対象となるイメージのハンドルを表します。（必ず設定する必要があります。）

hMskBmh:

hImgBmhに対するマスクイメージのハンドルを表します。（使用しない場合は 0もしくはヌルを与えます。）

マスクイメージは 1ビット（白黒2値）イメージでなければなりません。（それ以外のイメージを与えた場合は各関数でエラーが返されます。）

白色がマスクとして有効な部分になります。

hImgBmhと hMskBmhに設定するイメージは同じ幅と高さでなければなりません。

B.戻り値の場合

hImgBmh:

処理結果となるイメージのハンドルを表します。

HMskBmh:

処理結果となるマスクイメージのハンドルを表します。（引数に有効な値が設定された場合のみ値が返されます。）

IKDIB_INFO: DIBにアクセスするために使用します。

(1)C++Builder/Visual C++

typedef struct {

BYTE Pal;

BYTE Red;

BYTE Green;

BYTE Blue;

char Reserved[128];

} IKDIB_INFO;

typedef IKDIB_INFO * PTR_IKDIB_INFO;

(2)Delphi

type

IKDIB_INFO = Record

Pal: Byte;

Red: Byte;

Green: Byte;

Blue: Byte;

Reserved: array[0..127] of AnsiChar;

end;

(3)Visual Basic

Type IKDIB_INFO

Pal As Byte

Red As Byte

Green As Byte

Blue As Byte

Reserved(0 To 127) As Byte

End Type

Pal: パレット番号

Red: RGBの赤

Green: RGBの緑

Blue: RGBの青

Reserved: 予約領域（ImageKitで使用するので、変更しないこと）

IKRECT: VisualBasicで使用する、矩形の座標を表します。

Type IKRECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

IKPOINT: VisualBasicで使用する、xとyの座標を表します。

Type IKPOINT

x As Long

y As Long

End Type

【ユーザ関数の定義】

Visual Basicの場合は、ユーザ関数をフォームモジュールではなく標準モジュールとして作成してください。

【関数書式】

(1)C++Builder/Visual C++ BOOL __stdcall UserProc(short Percent);

(2)Delphi function UserProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic Function UserProc(ByVal Percent As Integer) As Long

【引数】

名称 | 内容
Percent | 現在処理している％数

【戻り値】

False(0)の場合は実行している処理を終了します。True(0以外)は処理を継続します。

ユーザ関数は UserProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。関数名がUserProcの場合は以下のような形式で引数に渡します。

(1)C++Builder/Visual C++ UserProc

(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)

(3)Visual Basic Address Of UserProc


Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll

イメージファイルの入出力機能を提供します。

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKBmpFileLoad | BMP形式のファイルからラスタイメージをメモリ上にロード
IKBmpFileLoadMem | BMP形式のRawデータからラスタイメージをメモリ上にロード
IKBmpFileSave | ラスタイメージをBMP形式でファイルへ保存
IKBmpFileSaveMem | ラスタイメージをBMP形式でRawデータへ保存
IKCMYKBmpPlaneFileLoad | CMYKプレーン毎に保存してあるBMPファイルをメモリ上にロード
IKCMYKBmpPlaneFileSave | ラスタイメージをCMYKプレーン毎にBMP形式でファイルへ保存
IKDxfFileLoad | DXF形式のファイルからベクトルイメージをメモリ上にロード
IKDxfFileLoadMem | DXF形式のRawデータからベクトルイメージをメモリ上にロード
IKDxfFileSave | ベクトルイメージをDXF形式でファイルへ保存
IKDxfFileSaveMem | ベクトルイメージをDXF形式でRawデータへ保存
IKEmfFileLoad | EMF形式のファイルからベクトルイメージをメモリ上にロード
IKEmfFileLoadMem | EMF形式のRawデータからベクトルイメージをメモリ上にロード
IKEmfFileSave | ベクトルイメージをEMF形式でファイルへ保存
IKEmfFileSaveMem | ベクトルイメージをEMF形式でRawデータへ保存
IKFileLoad | イメージファイルからイメージをメモリ上にロード
IKFileLoadAsRawData | イメージファイルからRawデータをメモリ上にロード
IKFileLoadMem | Rawデータからラスタイメージもしくはベクトルイメージをメモリ上にロード
IKFileSaveAsRawData | Rawデータをファイルへ保存
IKFileType | イメージファイルの情報を取得
IKFileTypeMem | Rawデータからイメージの情報を取得
IKFpxFileLoad | FPX形式のファイルからラスタイメージをメモリ上にロード
IKFpxFileLoadMem | FPX形式のRawデータからラスタイメージをメモリ上にロード
IKFpxFileSave | ラスタイメージをFPX形式でファイルへ保存
IKFpxFileSaveMem | ラスタイメージをFPX形式でRawデータへ保存
IKFTPConnect | FTPサーバへの接続
IKFTPDeleteFile | FTPサーバに存在するファイルを削除（接続と切断も行う）
IKFTPDeleteFileEx | FTPサーバに存在するファイルを削除
IKFTPDisconnect | 接続しているFTPサーバの切断
IKFTPGetFile | FTPサーバからファイルを取得（接続と切断も行う）
IKFTPGetFileEx | FTPサーバからファイルを取得
IKFTPPutFile | FTPサーバへファイルを転送（接続と切断も行う）
IKFTPPutFileEx | FTPサーバへファイルを転送
IKFTPRenameFile | FTPサーバに存在するファイルの名称を変更（接続と切断も行う）
IKFTPRenameFileEx | FTPサーバに存在するファイルの名称を変更
IKGifFileLoad | GIF形式のファイルからラスタイメージをメモリ上にロード
IKGifFileLoadMem | GIF形式のRawデータからラスタイメージをメモリ上にロード
IKGifFileSave | ラスタイメージをGIF形式でファイルへ保存
IKGifFileSaveMem | ラスタイメージをGIF形式でRawデータへ保存
IKHTTPConnect | HTTP(S)サーバへの接続
IKHTTPDisconnect | 接続しているHTTP(S)サーバの切断
IKHTTPGetFile | HTTP(S)サーバからファイルを取得（接続と切断も行う）
IKHTTPGetFileEx | HTTP(S)サーバからファイルを取得
IKHTTPPutFile | HTTP(S)サーバへファイルを転送（接続と切断も行う）
IKHTTPPutFileEx | HTTP(S)サーバへファイルを転送
IKJ2kFileLoad | JPEG2000形式のファイルからラスタイメージをメモリ上にロード
IKJ2kFileLoadMem | JPEG2000形式のRawデータからラスタイメージをメモリ上にロード
IKJ2kFileSave | ラスタイメージをJPEG2000形式でファイルへ保存
IKJ2kFileSaveMem | ラスタイメージをJPEG2000形式でRawデータへ保存
IKJpegExifInfo | Exif形式のファイルから画像の情報を取得
IKJpegExifInfoMem | Exif形式のメモリハンドルから画像の情報を取得
IKJpegFileLoad | JPEG形式のファイルからラスタイメージをメモリ上にロード
IKJpegFileLoadMem | JPEG形式のRawデータからラスタイメージをメモリ上にロード
IKJpegFileSave(Ex) | ラスタイメージをJPEG形式でファイルへ保存（ExはExif情報も保存）
IKJpegFileSave(Ex)Mem | ラスタイメージをJPEG形式でRawデータへ保存（ExはExif情報も保存）
IKOpenFileDialog | プレビュー付きのファイル選択ダイアログ（オープン）
IKOpenFileDlg | プレビュー付きのファイル選択ダイアログ（オープン）
IKPcxFileLoad | PCX形式のファイルからラスタイメージをメモリ上にロード
IKPcxFileLoadMem | PCX形式のRawデータからラスタイメージをメモリ上にロード
IKPcxFileSave | ラスタイメージをPCX形式でファイルへ保存
IKPcxFileSaveMem | ラスタイメージをPCX形式でRawデータへ保存
IKPDFAddImage | PDF作成のイメージの追加処理
IKPDFAddPage | PDF作成のページの追加処理
IKPDFEnd | PDF作成の終了処理
IKPDFStart | PDF作成の開始処理
IKPngFileLoad(Ex) | PNG形式のファイルからラスタイメージをメモリ上にロード
IKPngFileLoad(Ex)Mem | PNG形式のRawデータからラスタイメージをメモリ上にロード
IKPngFileSave(Ex) | ラスタイメージをPNG形式でファイルへ保存
IKPngFileSave(Ex)Mem | ラスタイメージをPNG形式でRawデータへ保存
IKRGBBmpPlaneFileLoad | RGBプレーン毎に保存してあるBMPファイルをメモリ上にロード
IKRGBBmpPlaneFileSave | ラスタイメージをRGBプレーン毎にBMP形式でファイルへ保存
IKSaveFileDialog | プレビュー付きのファイル選択ダイアログ（保存）
IKSaveFileDlg(Ex) | プレビュー付きのファイル選択ダイアログ（保存）
IKSvgFileLoad | SVG形式のファイルからベクトルイメージをメモリ上にロード
IKSvgFileLoadMem | SVG形式のRawデータからベクトルイメージをメモリ上にロード
IKSvgFileSave | ベクトルイメージをSVG形式でファイルへ保存
IKSvgFileSaveMem | ベクトルイメージをSVG形式でRawデータへ保存
IKSxfP21FileLoad | SXF(p21)形式のファイルからベクトルイメージをメモリ上にロード
IKSxfP21FileLoadMem | SXF(p21)形式のRawデータからベクトルイメージをメモリ上にロード
IKSxfP21FileSave | ベクトルイメージをSXF(p21)形式でファイルへ保存
IKSxfP21FileSaveMem | ベクトルイメージを SXF(p21)形式でRawデータへ保存
IKSxfSfcFileLoad | SXF(Sfc)形式のファイルからベクトルイメージをメモリ上にロード
IKSxfSfcFileLoadMem | SXF(Sfc)形式のRawデータからベクトルイメージをメモリ上にロード
IKSxfSfcFileSave | ベクトルイメージをSXF(Sfc)形式でファイルへ保存
IKSxfSfcFileSaveMem | ベクトルイメージを SXF(Sfc)形式でRawデータへ保存
IKTiffFileLoad | TIFF形式のファイルからラスタイメージをメモリ上にロード
IKTiffFileLoadMem | TIFF形式のRawデータからラスタイメージをメモリ上にロード
IKTiffFileSave | ラスタイメージをTIFF形式でファイルへ保存
IKTiffFileSaveMem | ラスタイメージをTIFF形式でRawデータへ保存
IKWmfFileLoad | WMF形式のファイルからベクトルイメージをメモリ上にロード
IKWmfFileLoadMem | WMF形式のRawデータからベクトルイメージをメモリ上にロード
IKWmfFileSave | ベクトルイメージをWMF形式でファイルへ保存
IKWmfFileSaveMem | ベクトルイメージをWMF形式でRawデータへ保存
IKYCCBmpPlaneFileLoad | YCrCbプレーン毎に保存してあるBMPファイルをメモリ上にロード
IKYCCBmpPlaneFileSave | ラスタイメージをYCrCbプレーン毎にBMP形式でファイルへ保存

●構造体（ユーザ定義型）の定義

IKFILE_INFO：ファイル情報を表します（IKFileType, IKFileTypeMemで使用します）。

(1)C++Builder/Visual C++

typedef struct {

short | BitCount;
long | Xdpi;
long | Ydpi;
long | Width;
long | Height;
long | WidthByte;
long | ImageSize;
short | FileType;
short | Interlace;
short | MaxPage;
long | FileSize;
char | Comment[2048];
WORD | CommentLen;
short | CreationTimeYear;
short | CreationTimeMonth;
short | CreationTimeDay;
short | CreationTimeHour;
short | CreationTimeMinute;
short | CreationTimeSecond;
short | LastAccessTimeYear;
short | LastAccessTimeMonth;
short | LastAccessTimeDay;
short | LastAccessTimeHour;
short | LastAccessTimeMinute;
short | LastAccessTimeSecond;
short | LastWriteTimeYear;
short | LastWriteTimeMonth;
short | LastWriteTimeDay;
short | LastWriteTimeHour;
short | LastWriteTimeMinute;
short | LastWriteTimeSecond;

} IKFILE_INFO;

typedef IKFILE_INFO * PTR_IKFILE_INFO;

(2)Delphi

type

IKFILE_INFO = Record

BitCount: | Smallint;
Xdpi: | Longint;
Ydpi: | Longint;
Width: | Longint;
Height: | Longint;
WidthByte: | Longint;
ImageSize: | Longint;
FileType: | Smallint;
Interlace: | Smallint;
MaxPage: | Smallint;
FileSize: | Longint;
Comment: | array [0..2047] of AnsiChar;
CommentLen: | Word;
CreationTimeYear: | Smallint;
CreationTimeMonth: | Smallint;
CreationTimeDay: | Smallint;
CreationTimeHour: | Smallint;
CreationTimeMinute: | Smallint;
CreationTimeSecond: | Smallint;
LastAccessTimeYear: | Smallint;
LastAccessTimeMonth: | Smallint;
LastAccessTimeDay: | Smallint;
LastAccessTimeHour: | Smallint;
LastAccessTimeMinute: | Smallint;
LastAccessTimeSecond: | Smallint;
LastWriteTimeYear: | Smallint;
LastWriteTimeMonth: | Smallint;
LastWriteTimeDay: | Smallint;
LastWriteTimeHour: | Smallint;
LastWriteTimeMinute: | Smallint;
LastWriteTimeSecond: | Smallint;

end;

(3)Visual Basic

Type IKFILE_INFO

BitCount | As Integer
Xdpi | As Long
Ydpi | As Long
Width | As Long
Height | As Long
WidthByte | As Long
ImageSize | As Long
FileType | As Integer
Interlace | As Integer
MaxPage | As Integer
FileSize | As Long
Comment | As String * 2048
CommentLen | As Integer
CreationTimeYear | As Integer
CreationTimeMonth | As Integer
CreationTimeDay | As Integer
CreationTimeHour | As Integer
CreationTimeMinute | As Integer
CreationTimeSecond | As Integer
LastAccessTimeYear | As Integer
LastAccessTimeMonth | As Integer
LastAccessTimeDay | As Integer
LastAccessTimeHour | As Integer
LastAccessTimeMinute | As Integer
LastAccessTimeSecond | As Integer
LastWriteTimeYear | As Integer
LastWriteTimeMonth | As Integer
LastWriteTimeDay | As Integer
LastWriteTimeHour | As Integer
LastWriteTimeMinute | As Integer
LastWriteTimeSecond | As Integer

End Type

IKFileType関数を実行するとそれぞれのメンバーに値が設定されます。 MaxPage、FileSize以外のメンバーは IKFileType関数で指定されたページの情報となります。ただし、TIFF形式を除くCommentはファイル単位の情報となります。

BitCount: | イメージの 1ピクセルあたりのビット数を表します。 *1 1:2値、4:16色、8:256色、16:16ﾋﾞｯﾄｶﾗｰ、24:24ﾋﾞｯﾄｶﾗｰ、32:32ﾋﾞｯﾄｶﾗｰ
Xdpi: | イメージの横方向（ X方向）の1インチあたりのピクセル数を表します。
Ydpi: | イメージの縦方向（ Y方向）の1インチあたりのピクセル数を表します。
Width: | イメージの幅のピクセル数を表します。
Height: | イメージの縦のピクセル数を表します。
WidthByte: | イメージの 1ラインのバイト数を表します。 *1
ImageSize: | イメージサイズのバイト数を表します。 *1
FileType: | ファイルのタイプを表します。

1:BMP/DIB | 2:BMP/DIB(RLE4) | 3:BMP/DIB(RLE8) | 4:JPEG(基本DCT)
5:JPEG(ﾌﾟﾛｸﾞﾚｯｼﾌﾞDCT) | 6:GIF(87a) | 7:GIF(89a) | 8:TIFF(非圧縮)
9:TIFF(CCITTRLE) | 10:TIFF(GROUP3-1D) | 11:TIFF(GROUP3-2D) | 12:TIFF(GROUP4)
13:TIFF(PACKBITS) | 14:TIFF(LZW) | 15:PNG | 16:FPX(非圧縮)
17:FPX(Single Color) | 18:FPX(JPEG) | 19:PCX | 20:WMF
21:EMF | 22:DXF | 23:Exif（JPEG） | 24:SVG
25:JPEG2000 | 26:JPEG2000(Code Stream) | 27:SXF(p21) | 28:SXF(sfc)
29:TIFF(JPEG) |  |  |

TIFFのGROUP3-1DはMH、GROUP3-2DはMR、GROUP4はMMRと同じ形式です。

Exifはバージョン2.3の一部のタグにも対応しています。0の場合は未対応の形式です。

Interlace: | インタレース（ 0：なし 1：あり）を表します。GIFとPNGが対象。 *1
MaxPage: | イメージのページ数を表します。
FileSize: | イメージファイルのサイズを表します。
Comment: | イメージのコメントを表します（コメントの形式については、ファイル保存コマンドをご覧ください）。 *1 *3
CommentLen: | Commentに含まれる文字列の長さを表します。 *2
CreationTimeYear: | ファイルの作成日時 - 年を示します。 *2
CreationTimeMonth: | ファイルの作成日時 - 月を示します。 *2
CreationTimeDay: | ファイルの作成日時 - 日を示します。 *2
CreationTimeHour: | ファイルの作成日時 - 時を示します。 *2
CreationTimeMinute: | ファイルの作成日時 - 分を示します。 *2
CreationTimeSecond: | ファイルの作成日時 - 秒を示します。 *2
LastAccessTimeYear: | ファイルのアクセス日時 - 年を示します。 *2
LastAccessTimeMonth: | ファイルのアクセス日時 - 月を示します。 *2
LastAccessTimeDay: | ファイルのアクセス日時 - 日を示します。 *2
LastAccessTimeHour: | ファイルのアクセス日時 - 時を示します。 *2
LastAccessTimeMinute: | ファイルのアクセス日時 - 分を示します。 *2
LastAccessTimeSecond: | ファイルのアクセス日時 - 秒を示します。 *2
LastWriteTimeYear: | ファイルの更新日時 - 年を示します。 *2
LastWriteTimeMonth: | ファイルの更新日時 - 月を示します。 *2
LastWriteTimeDay: | ファイルの更新日時 - 日を示します。 *2
LastWriteTimeHour: | ファイルの更新日時 - 時を示します。 *2
LastWriteTimeMinute: | ファイルの更新日時 - 分を示します。 *2
LastWriteTimeSecond: | ファイルの更新日時 - 秒を示します。 *2

*1 ベクトルイメージでは使用しません。

*2 ImageKit7で追加されたメンバー変数です。ImageKit5/6から移行する場合は注意してください。

*3 ImageKit7でサイズが変更されました。ImageKit5/6から移行する場合は注意してください。

IMAGE_TAG：Exifファイルの主画像、サムネイル画像の情報を表します。

(1)C++Builder/Visual C++

typedef struct {

unsigned short | Compression;
unsigned short | Orientation;
unsigned short | YCbCrPositioning;
unsigned long | XResolution[2];
unsigned long | YResolution[2];
unsigned short | ResolutionUnit;
char | DateTime[20];
char | ImageDescription[257];
WORD | ImageDescriptionLen;
char | Make[257];
WORD | MakeLen;
char | Model[257];
WORD | ModelLen;
char | Software[257];
WORD | SoftwareLen;
char | Artist[257];
WORD | ArtistLen;
char | Copyright[257];
WORD | CopyrightLen;
HANDLE | ThumbImageHandle;

} IMAGE_TAG;

typedef IMAGE_TAG * PTR_IMAGE_TAG;

(2)Delphi

type

IMAGE_TAG = Record

Compression: | Word;
Orientation: | Word;
YCbCrPositioning: | Word;
XResolution: | array[0..1] of DWORD;
YResolution: | array[0..1] of DWORD;
ResolutionUnit: | Word;
DateTime: | array[0..19] of AnsiChar;
ImageDescription: | array[0..256] of AnsiChar;
ImageDescriptionLen: | Word;
Make: | array[0..256] of AnsiChar;
MakeLen: | Word;
Model: | array[0..256] of AnsiChar;
ModelLen: | Word;
Software: | array[0..256] of AnsiChar;
SoftwareLen: | Word;
Artist: | array[0..256] of AnsiChar;
ArtistLen: | Word;
Copyright: | array[0..256] of AnsiChar;
CopyrightLen: | Word;
ThumbImageHandle: | THandle;

end;

(3)Visual Basic

Type IMAGE_TAG

Compression | As Integer
Orientation | As Integer
YCbCrPositioning | As Integer
XResolution(0 To 1) | As Long
YResolution(0 To 1) | As Long
ResolutionUnit | As Integer
DateTime | As String * 20
ImageDescription | As String * 257
ImageDescriptionLen | As Integer
Make | As String * 257
MakeLen | As Integer
Model | As String * 257
ModelLen | As Integer
Software | As String * 257
SoftwareLen | As Integer
Artist | As String * 257
ArtistLen | As Integer
Copyright | As String * 257
CopyrightLen | As Integer
ThumbImageHandle | As Long

End Type

Compression: | 画像の圧縮の種類を示します。（ 1:非圧縮、6：JPEG圧縮 ※サムネイル画像のみ）
Orientation: | 行と列の観点から見た画像の方向を示します。
YCbCrPositioning: | 輝度サンプルに対するクロマサンプルの相対的配置を特定します。（ 1:中心、2：一致）
XResolution: | イメージの横方向の 1ResolutionUnitあたりの画素数を示します。
横方向の解像度（単位は ResolutionUnit値） = XResolution[0] / XResolution[1]
YResolution: | イメージの縦方向の 1ResolutionUnitあたりの画素数を示します。
横方向の解像度（単位は ResolutionUnit値） = YResolution[0] / YResolution[1]
ResolutionUnit: | 解像度の単位を示します。（ 2：インチ、3：センチメートル）
DateTime: | ファイル作成日時を示します。（フォーマットは "YYYY:MM:DD HH:MM:SS"）
ImageDescription: | 画像タイトルを示します。 *2
ImageDescriptionLen: | ImageDescriptionに含まれる文字列の長さを表します。 *1
Make: | 画像入力機器のメーカ名を示します。 *2
MakeLen: | Makeに含まれる文字列の長さを表します。 *1
Model: | 画像入力機器のモデル名を示します。 *2
ModelLen: | Modelに含まれる文字列の長さを表します。 *1
Software: | 使用ソフトウェア名を示します。 *2
SoftwareLen: | Softwareに含まれる文字列の長さを表します。*1
Artist: | 作者名を示します。 *2
ArtistLen: | Artistに含まれる文字列の長さを表します。 *1
Copyright: | 撮影著作権者 /編集著作権者を示します。 *2
CopyrightLen: | Copyrightに含まれる文字列の長さを表します。 *1
ThumbImageHandle: | サムネイル画像のメモリハンドルを示します。（※サムネイル画像のみ）

*1 ImageKit7で追加されたメンバー変数です。ImageKit6から移行する場合は注意してください。

*2 ImageKit8でサイズが変更されました。ImageKit6/7から移行する場合は注意してください。

EXIF_TAG：Exifのタグ情報を表します。

(1)C++Builder/Visual C++

typedef struct {

char | Exif_Version[5];
char | FlashPix_Version[5];
unsigned short | ColorSpace;
unsigned long | PixelXDimension;
unsigned long | PixelYDimension;
char | ComponentsConfiguration[5];
unsigned long | CompressedBitsPerPixel[2];
char | MakerNote[257];
WORD | MakerNoteLen;
char | UserComment[257];
WORD | UserCommentLen;
char | UserCommentID[8];
char | DateTimeOriginal[20];
char | DateTimeDigitized[20];
char | SubSecTime[129];
WORD | SubSecTimeLen;
char | SubSecTimeOriginal[129];
WORD | SubSecTimeOriginalLen;
char | SubSecTimeDigitized[129];
WORD | SubSecTimeDigitizedLen;
unsigned long | ExposureTime[2];
long | ShutterSpeedValue[2];
unsigned long | ApertureValue[2];
long | BrightnessValue[2];
long | ExposureBiasValue[2];
unsigned long | MaxApertureValue[2];
unsigned long | SubjectDistance[2];
unsigned short | MeteringMode;
unsigned short | LightSource;
unsigned short | Flash;
unsigned long | FocalLength[2];
unsigned long | FNumber[2];
unsigned short | ExposureProgram;
char | SpectralSensitivity[257];
WORD | SpectralSensitivityLen;
unsigned short | ISOSpeedRatings;
unsigned long | FlashEnergy[2];
unsigned long | FocalPlaneXResolution[2];
unsigned long | FocalPlaneYResolution[2];
unsigned short | FocalPlaneResolutionUnit;
unsigned short | SubjectLocationX;
unsigned short | SubjectLocationY;
unsigned long | ExposureIndex[2];
unsigned short | SensingMethod;
BYTE | FileSource;
BYTE | SceneType;
unsigned short | WhiteBalance;
unsigned short | SceneCaptureType;
unsigned short | Contrast;
unsigned short | Saturation;
unsigned short | Sharpness;

} EXIF_TAG;

typedef EXIF_TAG * PTR_EXIF_TAG;

(2)Delphi

type

EXIF_TAG = Record

Exif_Version: | array[0..4] of AnsiChar;
FlashPix_Version: | array[0..4] of AnsiChar;
ColorSpace: | Word;
PixelXDimension: | DWORD;
PixelYDimension: | DWORD;
ComponentsConfiguration: | array[0..4] of AnsiChar;
CompressedBitsPerPixel: | array[0..1] of DWORD;
MakerNote: | array[0..256] of AnsiChar;
MakerNoteLen: | Word;
UserComment: | array[0..256] of AnsiChar;
UserCommentLen: | Word;
UserCommentID: | array[0..7] of AnsiChar;
DateTimeOriginal: | array[0..19] of AnsiChar;
DateTimeDigitized: | array[0..19] of AnsiChar;
SubSecTime: | array[0..128] of AnsiChar;
SubSecTimeLen: | Word;
SubSecTimeOriginal: | array[0..128] of AnsiChar;
SubSecTimeOriginalLen: | Word;
SubSecTimeDigitized: | array[0..128] of AnsiChar;
SubSecTimeDigitizedLen: | Word;
ExposureTime: | array[0..1] of DWORD;
ShutterSpeedValue: | array[0..1] of Longint;
ApertureValue: | array[0..1] of DWORD;
BrightnessValue: | array[0..1] of Longint;
ExposureBiasValue: | array[0..1] of Longint;
MaxApertureValue: | array[0..1] of DWORD;
SubjectDistance: | array[0..1] of DWORD;
MeteringMode: | Word;
LightSource: | Word;
Flash: | Word;
FocalLength: | array[0..1] of DWORD;
FNumber: | array[0..1] of DWORD;
ExposureProgram: | Word;
SpectralSensitivity: | array[0..256] of AnsiChar;
SpectralSensitivityLen： | Word;
ISOSpeedRatings: | Word;
FlashEnergy: | array[0..1] of DWORD;
FocalPlaneXResolution: | array[0..1] of DWORD;
FocalPlaneYResolution: | array[0..1] of DWORD;
FocalPlaneResolutionUnit: | Word;
SubjectLocationX: | Word;
SubjectLocationY: | Word;
ExposureIndex: | array[0..1] of DWORD;
SensingMethod: | Word;
FileSource: | Byte;
SceneType: | Byte;
WhiteBalance: | Word;
SceneCaptureType: | Word;
Contrast: | Word;
Saturation: | Word;
Sharpness: | Word;

end;

(3)Visual Basic

Type EXIF_TAG

Exif_Version | As String * 5
FlashPix_Version | As String * 5
ColorSpace | As Integer
PixelXDimension | As Long
PixelYDimension | As Long
ComponentsConfiguration | As String * 5
CompressedBitsPerPixel(0 To 1) | As Long
MakerNote | As String * 257
MakerNoteLen | As Integer
UserComment | As String * 257
UserCommentLen | As Integer
UserCommentID | As String * 8
DateTimeOriginal | As String * 20
DateTimeDigitized | As String * 20
SubSecTime | As String * 129
SubSecTimeLen | As Integer
SubSecTimeOriginal | As String * 129
SubSecTimeOriginalLen | As Integer
SubSecTimeDigitized | As String * 129
SubSecTimeDigitizedLen | As Integer
ExposureTime(0 To 1) | As Long
ShutterSpeedValue(0 To 1) | As Long
ApertureValue(0 To 1) | As Long
BrightnessValue(0 To 1) | As Long
ExposureBiasValue(0 To 1) | As Long
MaxApertureValue(0 To 1) | As Long
SubjectDistance(0 To 1) | As Long
MeteringMode | As Integer
LightSource | As Integer
Flash | As Integer
FocalLength(0 To 1) | As Long
FNumber(0 To 1) | As Long
ExposureProgram | As Integer
SpectralSensitivity | As String * 257
SpectralSensitivityLen | As Integer
ISOSpeedRatings | As Integer
FlashEnergy(0 To 1) | As Long
FocalPlaneXResolution(0 To 1) | As Long
FocalPlaneYResolution(0 To 1) | As Long
FocalPlaneResolutionUnit | As Integer
SubjectLocationX | As Integer
SubjectLocationY | As Integer
ExposureIndex(0 To 1) | As Long
SensingMethod | As Integer
FileSource | As Byte
SceneType | As Byte
WhiteBalance | As Integer
SceneCaptureType | As Integer
Contrast | As Integer
Saturation | As Integer
Sharpness | As Integer

End Type

バージョンに関するタグ
Exif_Version: | Exifの対応バージョンを示します。（例："0210"）
FlashPix_Version: | FPXRファイルのFlashPixフォーマットへの対応バージョンを示します。（例："0100"）
画像データの特性に関するタグ
ColorSpace: | 色空間を示す情報です。（1：sRGB）
画像データの構成に関するタグ
PixelXDimension: | 実効画像幅を示します。
PixelYDimension: | 実効画像高さを示します。
ComponentsConfiguration: | 各コンポーネントのチャネルを第1コンポーネントから第4コンポーネントの順に示します。
CompressedBitsPerPixel: | 画像圧縮時に設定された圧縮モードを示します。
圧縮モード（単位は bit/pixel） = CompressedBitsPerPixel[0] / CompressedBitsPerPixel[1]
ユーザ情報に関するタグ
MakerNote: | Exifライターのメーカが個別の情報を記入するタグです。 *2
MakerNoteLen: | MakerNoteに含まれる文字列の長さを表します。 *1
UserComment: | 画像に対してExifユーザがキーワードやコメントを書き込むためのタグです。 *2
UserCommentLen: | UserCommentに含まれる文字列の長さを表します。 *1
UserCommentID: | UserCommentに書かれる文字コードを判別するために、識別コードを8バイト固定で記入し、余った領域にはNULL（0x00）でパディングします。

文字コード | コード記入方法（8バイト） | リファレンス
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

※ 16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。

日時に関するタグ
DateTimeOriginal: | 原画像データの生成された日付と時間（デジタルカメラでは撮影された日付と時間）を示します。（フォーマットは "YYYY:MM:DD HH:MM:SS"）
DateTimeDigitized: | 画像がデジタルデータ化された日付と時間を示します。 （フォーマットは"YYYY:MM:DD HH:MM:SS"）
SubSecTime: | IMAGE_TAGのDateTimeに関連して時刻を小数点以下の秒単位まで示します。 *2
SubSecTimeLen: | SubSecTimeに含まれる文字列の長さを表します。 *3
SubSecTimeOriginal: | DateTimeOriginalに関連して時刻を小数点以下の秒単位まで示します。 *2
SubSecTimeOriginalLen: | SubSecTimeOriginalLenに含まれる文字列の長さを表します。 *3
SubSecTimeDigitized: | DateTimeDigitizedに関連して時刻を小数点以下の秒単位まで示します。 *2
SubSecTimeDigitizedLen: | SubSecTimeDigitizedLenに含まれる文字列の長さを表します。 *3
撮影条件に関するタグ
ExposureTime: | 露出時間を示します。露出時間（単位は秒） = ExposureTime[0] / ExposureTime[1]
ShutterSpeedValue: | シャッタースピードを示します。
シャッタースピード（単位は APEX値） = ShutterSpeedValue[0] / ShutterSpeedValue[1]
ApertureValue: | レンズの絞り値を示します。
レンズの絞り値（単位は APEX値） = ApertureValue[0] / ApertureValue[1]
BrightnessValue: | 輝度値を示します。一般的な記載範囲は-99.99から99.99です。
輝度値（単位は APEX値） = BrightnessValue[0] / BrightnessValue[1]
ExposureBiasValue: | 露光補正値を示します。一般的な記載範囲は-99.99から99.99です。
露光補正値（単位は APEX値） = ExposureBiasValue[0] / ExposureBiasValue[1]
MaxApertureValue: | レンズの最小F値を示します。一般的な記載範囲は00.00から99.99です。
レンズの最小 F値（単位はAPEX値） = MaxApertureValue[0] / MaxApertureValue[1]
SubjectDistance: | 被写体距離を示します。
被写体距離（単位は m） = SubjectDistance[0] / SubjectDistance [1]
MeteringMode: | 測光方式を示します。
（0：不明、1:平均、2：中央重点、3：スポット、4：マルチスポット、5：分割測光、6：部分測光、255：その他）
LightSource: | 光源の種類を示します。
（0：不明、1:昼光、2：蛍光灯、3：タングステン（白熱灯）、4:フラッシュ、9：晴天、10：曇天、11:日陰、12:昼光色蛍光灯（D:5700 – 7100K）、13:昼白色蛍光灯（N:4600 – 5500K）、14:白色蛍光灯（W:3800 – 4500K）、15:温白色蛍光灯（WW:3250 – 3800K）、16:電球色蛍光灯（L:2600 – 3250K）、17：標準光A、18:標準光B、19：標準光C、20:D55、21:D65、22:D75、23:D50、24:ISO studio tungsten、255:その他）
Flash: | ストロボを使用して画像が取り込まれた時に記録される値です。
ビット0はストロボの状態、ビット1および2はストロボのリターン状態、ビット3および4はカメラのストロボモード、ビット5はストロボ機能の有無、ビット6は赤目モードを表わします。 ストロボ発光状態のビットの値（bit0） 0b = ストロボ発光せず、1b = ストロボ発光 ストロボのリターン状態の値（bit1, 2） 00b = ストロボのリターン検出機能なし、01b = 予約、10b = ストロボのリターン検出されず 11b = ストロボのリターン検出 カメラのストロボモードの値（bit3, 4） 00b = モード不明、01b = 強制発行モード、10b = 強制非発行モード、11b = 自動発行モード ストロボ機能の有無（bit5） 0b = ストロボ機能有り、1b = ストロボ機能無し カメラの赤目モードの値（bit6） 0b = 赤目軽減無しまたは不明、1b = 赤目軽減有り 「16進表記」 0x0000 = ストロボ発光せず、0x0001 = ストロボ発光、0x0005 = ストロボ発光、リターン検出されず 0x0007 = ストロボ発光、リターン検出 ※ Delphiは0xを$に、Visual Basicは0xを&Hに置き換えてください。
FocalLength: | 撮影レンズの実焦点距離を示します。
撮影レンズの実焦点距離（単位は mm） = FocalLength[0] / FocalLength[1]
FNumber: | Fナンバーを示します。
Fナンバー = FNumber[0] / FNumber[1]
ExposureProgram: | 撮影時にカメラが使用した露出プログラムのクラスを示します。
（ 0:未定義、1:マニュアル、2:ノーマルプログラム、3:絞り優先、4:シャッター優先、5：creativeプログラム（被写界深度方向にバイアス）、6:actionプログラム（シャッタースピード高速側にバイアス）、7:ポートレイトモード（クローズアップ撮影、背景はフォーカス外す）、8:ランドスケープモード（landscape 撮影、背景はフォーカス合う））
SpectralSensitivity: | 影に用いたカメラの各チャネルのスペクトル感度を示します。
SpectralSensitivityLen: | SpectralSensitivityに含まれる文字列の長さを表します。 *1
ISOSpeedRatings: | ISO 12232xivで規定されるカメラまたは入力機器のISO SpeedおよびISO Latitudeです。
FlashEnergy: | 画像が取り込まれた時に使用されたストロボのエネルギーを示します。
ストロボのエネルギー（測定単位は BCPS） = FlashEnergy[0] / FlashEnergy[1]
FocalPlaneXResolution: | 焦点面の幅の解像度を示します。
解像度（単位は FocalPlaneResolutionUnit値） = FocalPlaneXResolution[0] / FocalPlaneXResolution[1]
FocalPlaneYResolution: | 焦点面の高さの解像度を示します。
解像度（単位は FocalPlaneResolutionUnit値） = FocalPlaneYResolution[0] / FocalPlaneYResolution[1]
FocalPlaneResolutionUnit: | 焦点面の解像度単位を示します。（2：インチ、3：センチメートル）
SubjectLocationX: | 主要被写体のおおよそのX座標値を示します。
SubjectLocationY: | 主要被写体のおおよそのY座標値を示します。
ExposureIndex: | 画像が取り込まれた時、カメラまたは入力機器が選択した露出のインデックスを示します。
露出インデックス = ExposureIndex[0] / ExposureIndex[1]
SensingMethod: | カメラまたは入力機器で使用される画像センサのタイプを示します。
（ 1:未定義、2：単板カラーセンサ、 3：2板カラーセンサ、4： 3板カラーセンサ、 5:色順次カラーセンサ、7： 3線リニアセンサ、 8:色順次リニアセンサ）
FileSource: | 画像のソースを示します。（デジタルカメラで記録する場合には常に3）
SceneType: | 画像のシーンのタイプを示します。（デジタルカメラで記録する場合には常に1）
WhiteBalance: | 撮影時に設定されたホワイトバランスモードを示します *3
SceneCaptureType: | 撮影時の被写体種別を示します。 *3
Contrast: | 撮影時にカメラが画像に施したコントラスト処理傾向を示します。 *3
Saturation: | 撮影時にカメラが画像に施した彩度処理傾向を示します。 *3
Sharpness: | 撮影時にカメラが画像に施したシャープネス処理傾向を示します。 *3

APEXはAdditive System of Photographic Exposureの略

BCPSはBeam Candle Power Secondsの略

*1 ImageKit7で追加されたメンバー変数です。ImageKit6から移行する場合は注意してください。

*2 ImageKit8でサイズが変更されました。ImageKit6/7から移行する場合は注意してください。

*3 ImageKit8で追加されたメンバー変数です。ImageKit6/7から移行する場合は注意してください。

GPS_TAG： GPSのタグ情報を表します。

(1)C++Builder/Visual C++

typedef struct {

char | GPS_Version[5];
char | MapDatum[129];
WORD | MapDatumLen;
char | Latitude[2];
unsigned long | LatitudeD[2];
unsigned long | LatitudeM[2];
unsigned long | LatitudeS[2];
char | Longitude[2];
unsigned long | LongitudeD[2];
unsigned long | LongitudeM[2];
unsigned long | LongitudeS[2];
BYTE | AltitudeRef;
unsigned long | Altitude[2];
unsigned long | TimeStampH[2];
unsigned long | TimeStampM[2];
unsigned long | TimeStampS[2];
char | ProcessingMethod[257];
WORD | ProcessingMethodLen;
char | ProcessingMethodID[8];
char | DateStamp[11];

} GPS_TAG;

typedef GPS_TAG * PTR_GPS_TAG;

(2)Delphi

type

GPS_TAG = Record

GPS_Version: | array[0..4] of AnsiChar;
MapDatum: | array[0..128] of AnsiChar;
MapDatumLen: | Word;
Latitude: | array[0..1] of AnsiChar;
LatitudeD: | array[0..1] of DWORD;
LatitudeM: | array[0..1] of DWORD;
LatitudeS: | array[0..1] of DWORD;
Longitude: | array[0..1] of AnsiChar;
LongitudeD: | array[0..1] of DWORD;
LongitudeM: | array[0..1] of DWORD;
LongitudeS: | array[0..1] of DWORD;
AltitudeRef: | Byte;
Altitude: | array[0..1] of DWORD;
TimeStampH: | array[0..1] of DWORD;
TimeStampM: | array[0..1] of DWORD;
TimeStampS: | array[0..1] of DWORD;
ProcessingMethod: | array[0..256] of AnsiChar;
ProcessingMethodLen: | Word;
ProcessingMethodID: | array[0..7] of AnsiChar;
DateStamp: | array[0..10] of AnsiChar;

end;

(3)Visual Basic

Type GPS_TAG

GPS_Version | As String * 5
MapDatum | As String * 129
MapDatumLen | As Integer
Latitude | As String * 2
LatitudeD(0 To 1) | As Long
LatitudeM(0 To 1) | As Long
LatitudeS(0 To 1) | As Long
Longitude | As String * 2
LongitudeD(0 To 1) | As Long
LongitudeM(0 To 1) | As Long
LongitudeS(0 To 1) | As Long
AltitudeRef | As Byte
Altitude(0 To 1) | As Long
TimeStampH(0 To 1) | As Long
TimeStampM(0 To 1) | As Long
TimeStampS(0 To 1) | As Long
ProcessingMethod | As String * 257
ProcessingMethodLen | As Integer
ProcessingMethodID | As String * 8
DateStamp | As String * 11

End Type

GPS_Version: | GPSタグのバージョンを示します。（例："2000"）
MapDatum: | 測位に用いた地図データを示します。 *1
MapDatumLen: | MapDatumに含まれる文字列の長さを表します。 *2
Latitude: | 緯度の方角を示します。（"N":北緯, "S":南緯）
LatitudeD: | 緯度 - 度を示します。
緯度 - 度 = LatitudeD[0] / LatitudeD[1]
LatitudeM: | 緯度 - 分を示します。
緯度 - 分 = LatitudeM[0] / LatitudeM[1]
LatitudeS: | 緯度 - 秒を示します。
緯度 - 秒 = LatitudeS[0] / LatitudeS[1]
Longitude: | 経度の方角を示します。（"E":東経, "W":西経）
LongitudeD: | 経度 - 度を示します。
経度 - 度 = LongitudeD[0] / LongitudeD[1]
LongitudeM: | 経度 - 分を示します。
経度 - 分 = LongitudeM[0] / LongitudeM[1]
LongitudeS: | 経度 - 秒を示します。
経度 - 秒 = LongitudeS[0] / LongitudeS[1]
AltitudeRef: | 高度の基準を示します。基準単位はメートル。 *2
基準が海抜であり高度が海抜よりも高い場合は0、高度が海抜よりも低い場合は1。
Altitude: | 高度（ｍ）を示します。
高度 = Altitude[0] / Altitude[1]
TimeStampH: | GPS時間 - 時間を示します。 *2
GPS時間 - 時間 = TimeStampH[0] / TimeStampH[1]
TimeStampM: | GPS時間 - 分を示します。 *2
GPS時間 - 分 = TimeStampM[0] / TimeStampM[1]
TimeStampS: | GPS時間 - 秒を示します。 *2
GPS時間 - 秒 = TimeStampS[0] / TimeStampS[1]
ProcessingMethod: | 測位に使用した方式の名称を示します（例：" CELLID"," WLAN"," GPS"など）。 *2
ProcessingMethodLen: | ProcessingMethodに含まれる文字列の長さを表します。 *2
ProcessingMethodID: | ProcessingMethodに書かれる文字コードを判別するために、識別コードを8バイト固定で記入し、余った領域にはNULL（0x00）でパディングします。 *2

文字コード | コード記入方法（8バイト） | リファレンス
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。

DateStamp: GPS日付を示します。フォーマットは"YYYY:MM:DD"。 *2

*1 ImageKit8でサイズが変更されました。ImageKit7から移行する場合は注意してください。

*2 ImageKit8で追加されたメンバー変数です。ImageKit7から移行する場合は注意してください。

INTOP_TAG： 互換性に関する付属情報を表します。

(1)C++Builder/Visual C++

typedef struct {

char InteroperabilityIndex[4];

char InteroperabilityVersion[5];

} INTOP_TAG;

typedef INTOP_TAG * PTR_INTOP_TAG;

(2)Delphi

type

INTOP_TAG = Record

InteroperabilityIndex: array[0..3] of AnsiChar;

InteroperabilityVersion: array[0..4] of AnsiChar;

end;

(3)Visual Basic

Type INTOP_TAG

InteroperabilityIndex As String * 4

InteroperabilityVersion As String * 5

End Type

InteroperabilityIndex: 互換性の規則の種類を示します。

"R98" ExifR98で規定されるR98ファイルおよびDesign rule for Camera File systemで規定されるDCF基本ファイル

"THM" Design rule for Camera File systemで規定されるDCFサムネイルファイル

"R03" Design rule for Camera File systemで規定されるDCFオプションファイル

InteroperabilityVersion:互換性のバージョンを示します（例："0100"）。

EXIF_INFO： Exif情報を表します（IKJpegExifInfoで使用します）。

(1)C++Builder/Visual C++

typedef struct {

IMAGE_TAG | MainImageInfo;
IMAGE_TAG | ThumbImageInfo;
EXIF_TAG | ExifInfo;
GPS_TAG | GPSInfo;
INTOP_TAG | IntOpeInfo;

} EXIF_INFO;

typedef EXIF_INFO * PTR_EXIF_INFO;

(2)Delphi

type

EXIF_INFO = Record

MainImageInfo: | IMAGE_TAG;
ThumbImageInfo: | IMAGE_TAG;
ExifInfo: | EXIF_TAG;
GPSInfo: | GPS_TAG;
IntOpeInfo: | INTOP_TAG;

end;

(3)Visual Basic

Type EXIF_INFO

MainImageInfo | As IMAGE_TAG
ThumbImageInfo | As IMAGE_TAG
ExifInfo | As EXIF_TAG
GPSInfo | As GPS_TAG
IntOpeInfo | As INTOP_TAG

End Type

MainImageInfo: | 主画像情報を示します。
ThumbImageInfo: | サムネイル情報を示します。
ExifInfo: | Exif情報を示します。
GPSInfo: | GPS情報を示します。 *1
IntOpeInfo: | 互換性に関する付属情報を示します。 *2

*1 ImageKit7で追加されたメンバー変数です。ImageKit6から移行する場合は注意してください。

*2 ImageKit8で追加されたメンバー変数です。ImageKit6/7から移行する場合は注意してください。

SAVE_PDF_INFO： PDFファイル作成時に使用します。

(1)C++Builder/Visual C++

typedef struct {

void * | pdf;
char | OwnerPassword[65];
char | UserPassword[65];
char | Application[65];
char | Title[129];
char | Author[129];
char | Subject[129];
char | Keywords[257];
BOOL | EnablePrint;
BOOL | EnableEditAll;
BOOL | EnableCopy;
BOOL | EnableEdit;

} SAVE_PDF_INFO;

typedef SAVE_PDF_INFO * PTR_SAVE_PDF_INFO;

(2)Delphi

type

SAVE_PDF_INFO = Record

pdf: | Pointer;
OwnerPassword: | array[0..64] of AnsiChar;
UserPassword: | array[0..64] of AnsiChar;
Application: | array[0..64] of AnsiChar;
Title: | array[0..128] of AnsiChar;
Author: | array[0..128] of AnsiChar;
Subject: | array[0..128] of AnsiChar;
Keywords: | array[0..256] of AnsiChar;
EnablePrint: | LongBool;
EnableEditAll: | LongBool;
EnableCopy: | LongBool;
EnableEdit: | LongBool;

end;

(3)Visual Basic

Type SAVE_PDF_INFO

pdf | As Long
OwnerPassword | As String * 65
UserPassword | As String * 65
Application | As String * 65
Title | As String * 129
Author | As String * 129
Subject | As String * 129
Keywords | As String * 257
EnablePrint | As Long
EnableEditAll | As Long
EnableCopy | As Long
EnableEdit | As Long

End Type

pdf: | PDF作成時のデータを指すポインタを表します（ImageKit内で使用します）。
OwnerPassword: | オーナーパスワード（文書の変更や印刷を制限するパスワード）を指定します。
UserPassword: | ユーザーパスワード（文書を開くパスワード）を指定します。
Application: | アプリケーション名を指定します（文書のプロパティ-概要）。
Title: | タイトルを指定します（文書のプロパティ-概要）。
Author: | 作成者を指定します（文書のプロパティ-概要）。
Subject: | サブタイトルを指定します（文書のプロパティ-概要）。
Keywords: | キーワードを指定します（文書のプロパティ-概要）。
EnablePrint: | 文書の印刷を許可するかどうかを指定します（TRUE:許可、FALSE:不許可）。
EnableEditAll: | 文書の全編集を許可するかどうかを指定します（TRUE:許可、FALSE:不許可）。
EnableCopy: | 文書内容のコピー・抽出を許可するかどうかを指定します（TRUE:許可、FALSE:不許可）。
EnableEdit: | 文書の編集を許可するかどうかを指定します（TRUE:許可、FALSE:不許可）。

(*1) UserPasswordのみの設定は不可です。OwnerPasswordまたはOwnerPassword とUserPasswordの2つを設定してください。

(*2) EnablePrint, EnableEditAll, EnableCopy,EnableEditの設定値が有効となるのはOwnerPassword設定時です。

(*3) Visual BasicでString型のメンバー変数に文字列を設定する場合は最後にChr$(0)を付加してください。

【ユーザ関数の定義】

Visual Basicの場合は、ユーザ関数をフォームモジュールではなく標準モジュールとして作成してください。

【関数書式】

(1)C++Builder/Visual C++

BOOL __stdcall UserProc(short Percent);

(2)Delphi

function UserProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic

Function UserProc(ByVal Percent As Integer) As Long

【引数】

名称 | 内容
Percent | 現在処理している％数

【戻り値】

False(0)の場合は実行している処理を終了します。True(0以外)は処理を継続します。

ユーザ関数は UserProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。

関数名が UserProcの場合は以下のような形式で引数に渡します。

(1)C++Builder/Visual C++  UserProc

(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)

(3)Visual Basic Address Of UserProc


Ik10Print.dll/Ik10PrintA.dll/Ik10Print64.dll/Ik10Print64A.dll

描画先オブジェクト（スクリーン、プリンタ、メモリハンドル）に対して図形や文字などを描画する機能やプリンタを制御する機能を提供します。

描画先オブジェクト：S=スクリーン、P=プリンタ、M=メモリハンドル

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKArc | 弧の描画(S, P, M)
IKChord | 弓形の描画(S, P, M)
IKDrawFocusRect | フォーカス付き矩形枠の描画(S)
IKDrawString | GDI+を使用したテキストの描画(S, P, M)
IKDrawText | 矩形内にテキストを描画(S, P, M)
IKEllipse | 矩形に内接する円の描画(S, P, M)
IKEnumPaperBins | プリンタの用紙トレイ名リストを取得
IKEnumPaperSizes | プリンタの用紙サイズ名リストを取得
IKEnumPorts | ポートの列挙
IKEnumPrinters | インストールされているプリンタの列挙
IKEnumResolutions | プリンタの解像度リストを取得
IKFillRect | 矩形の塗りつぶし(S, P, M)
IKFrameRect | ブラシによる矩形の描画(S, P, M)
IKGetDefaultPrinter | 通常使うプリンタの取得
IKGetDevModeHandle | 指定したプリンタのDEVMODE構造体のハンドルを取得
IKGetDevModeHandleEx | 指定したプリンタのDEVMODE構造体とDEVNAMES構造体のハンドルを取得
IKGetDevModeInfo | DEVMODE構造体のハンドルから印刷情報の取得
IKGetDevNamesInfo | DEVNAMES構造体のハンドルから文字列情報の取得
IKGetImageFromHdc | デバイスコンテキスト(hDC)からイメージを取得
IKGetPaperSize | 指定したプリンタの用紙の有効印字領域、高さ、幅を取得
IKGetPixel | 指定したピクセルからRGB値を取得(S, M)
IKGetPrinterPort | プリンタのポートの取得
IKGetTextExtent | 指定した文字情報から描画する文字列の高さと幅を取得(S, P)
IKImageOut | デバイスコンテキスト(hDC)に対するイメージの描画(S, P)
IKImageOutToHwnd | ウィンドウハンドル(hWnd)に対するイメージの描画(S)
IKLine | 直線の描画(S, P, M)
IKMeasureString | 指定した文字情報から描画する文字列の高さと幅を取得(GDI+) (S, P)
IKPaint | 指定した色を別の色に設定(S, P, M)
IKPie | 扇形の描画(S, P, M)
IKPolyBezier | ベジェ曲線の描画(S, P, M)
IKPolygon | 多角形の描画(S, P, M)
IKPolyline | 連続線の描画(S, P, M)
IKPreviewInit | 印刷プレビュー時のDPIを設定
IKPrintAbortDoc | 印刷ジョブの終了
IKPrintCreateDC | デバイスコンテキストの作成
IKPrintCreateDCEx | デバイスコンテキストの作成
IKPrintDeleteDC | デバイスコンテキストの削除
IKPrintDialog | デバイスコンテキストの作成（印刷ダイアログ表示）
IKPrintDlg | デバイスコンテキストの作成（印刷ダイアログ表示）
IKPrintEndDoc | プリントの終了
IKPrintEndPage | ページの終了
IKPrintGdipEnd | GDI+の終了処理
IKPrintGdipStart | GDI+の開始処理
IKPrintGetArrayNum | 列挙する情報に応じて必要な配列の要素数を取得
IKPrintStartDoc | プリントの開始
IKPrintStartPage | ページの開始
IKRectangle | 矩形の描画(S, P, M)
IKReleaseDevModeHandle | DEVMODE構造体やDEVNAMES構造体のハンドルを解放
IKReleaseDevModeHandleEx | DEVMODE構造体とDEVNAMES構造体のハンドルを解放
IKRoundRect | 角が丸い矩形の描画(S, P, M)
IKSaveDevModeHandle | DEVMODE構造体のハンドルをファイルに保存
IKSaveDevModeHandleEx | DEVMODE構造体とDEVNAMES構造体のハンドルをファイルに保存
IKSetDefaultPrinter | 通常使うプリンタを設定
IKSetDevModeInfo | DEVMODE構造体のハンドルへ印刷情報を設定
IKSetPixel | 指定したピクセルにRGB値を設定(S, M)
IKSetPrint | プリンタの情報を設定ファイルに保存
IKTextOut | 始点を与えてテキストを描画(S, P, M)

●構造体（ユーザ定義型）の定義

IKPRINT_DEVMODEINFO: 印刷情報を取得したり、設定する時に使用します。

(1)C++Builder/Visual C++

typedef struct {

short | Orientation;
short | PaperSize;
short | Zoom;
WORD | Copies;
short | PaperBin;
short | XResolution;
short | YResolution;
short | ColorMode;
short | Duplex;
BYTE | Collate;
short | CustomPaperWidth;
short | CustomPaperHeight;

} IKPRINT_DEVMODEINFO;

(2)Delphi

type

IKPRINT_DEVMODEINFO = Record

Orientation: | Smallint;
PaperSize: | Smallint;
Zoom: | Smallint;
Copies: | Word;
PaperBin: | Smallint;
XResolution: | Smallint;
YResolution: | Smallint;
ColorMode: | Smallint;
Duplex: | Smallint;
Collate: | Byte;
CustomPaperWidth: | Smallint;
CustomPaperHeight: | Smallint;

end;

(3)Visual Basic

Type IKPRINT_DEVMODEINFO

Orientation | As Integer
PaperSize | As Integer
Zoom | As Integer
Copies | As Integer
PaperBin | As Integer
XResolution | As Integer
YResolution | As Integer
ColorMode | As Integer
Duplex | As Integer
Collate | As Byte
CustomPaperWidth | As Integer
CustomPaperHeight | As Integer

End Type

Orientation: | 印刷の向き 1: 縦(DMORIENT_PORTRAIT), 2: 横(DMORIENT_LANDSCAPE)
PaperSize: | 用紙サイズ 1: レター、8.5 x 11 インチ (DMPAPER_LETTER) 2: レター スモール、8.5 x 11 インチ (DMPAPER_LETTERSMALL) 3: タブロイド、11 x 17 インチ (DMPAPER_TABLOID) 4: レジャー、17 x 11 インチ (DMPAPER_LEDGER) 5: リーガル、8.5 x 14 インチ (DMPAPER_LEGAL) 6: ステートメント、5.5 x 8.5 インチ (DMPAPER_STATEMENT) 7: エグゼクティブ、7.25 x 10.5 インチ (DMPAPER_EXECUTIVE) 8: A3、297 x 420 mm (DMPAPER_A3) 9: A4、210 x 297 mm (DMPAPER_A4) 10: A4 Small、210 x 297 mm (DMPAPER_A4SMALL) 11: A5、148 x 210 mm (DMPAPER_A5) 12: B4、250 x 354 mm (DMPAPER_B4) 13: B5、182 x 257 mm (DMPAPER_B5) 256: ユーザ定義サイズ(DMPAPER_USER)
Zoom: | スケール時の百分率(0～100)
Copies: | 印刷部数（1～）
PaperBin: | 用紙トレイ 1: 上段用紙トレイ(DMBIN_UPPER) 2: 下段用紙トレイ(DMBIN_LOWER) 3: 中段用紙トレイ(DMBIN_MIDDLE) 4: 手差し用紙フィーダ(DMBIN_MANUAL) 5: 封筒フィーダ(DMBIN_ENVELOPE) 6: 手差し封筒フィーダ(DMBIN_ENVMANUAL) 7: 自動用紙トレイ選択(DMBIN_AUTO) 8: トラクタフィーダ(DMBIN_TRACTOR) 9: 小判用紙ソース(DMBIN_SMALLFMT) 10: 大判用紙ソース(DMBIN_LARGEFMT) 11: 大容量の用紙トレイ(DMBIN_LARGECAPACITY) 14: 用紙カセット(DMBIN_CASSETTE)
XResolution: | プリンタのX方向の解像度 *1 正の値: 1インチあたりのドット数(DPI) -1: ドラフトの印刷解像度(DMRES_DRAFT) -2: 低解像度(DMRES_LOW) -3: 中解像度(DMRES_MEDIUM) -4: 高解像度(DMRES_HIGH)
YResolution: | プリンタのY方向の解像度（0～） *2
ColorMode: | カラープリンタでカラーを使用するかモノクロを使用するかを設定します。 1: モノクロ(DMCOLOR_MONOCHROME), 2: カラー(DMCOLOR_COLOR)
Duplex: | 両面印刷をサポートしている場合、両面印刷を行うかどうかを設定します。 1: 両面印刷なし(DMDUP_SIMPLEX) 2: 垂直（短い軸）方向の両面印刷(DMDUP_VERTICAL) 3: 水平（長い軸）方向の両面印刷(DMDUP_HORIZONTAL)
Collate: | 0以外:部単位で印刷
CustomPaperWidth: | PaperSize = 256の時の用紙の横幅(0.1mm単位) *2
CustomPaperHeight: | PaperSize = 256の時の用紙の縦幅(0.1mm単位) *2

※()内の説明はWindowsAPIで使用する定数と同じ意味です。

PaperSizeについては14以降の値も取得および設定可能です。詳しくはご利用のコンテナのWindowsAPIに関連する部分を参考してください。

各項目に値を設定する場合、プリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

*1 名称が変更されました（PrintQuality à XResolution）。

*2 ImageKit7で追加されたメンバー変数です

ImageKit6から移行する場合は注意してください。

IKPRINT_DIALOG: 印刷ダイアログ（IKPrintDialog, IKPrintDlg）で使用します。

(1)C++Builder/Visual C++

typedef struct {

BYTE | Collate;
WORD | Copies;
WORD | FromPage;
WORD | ToPage;
WORD | MaxPage;
WORD | MinPage;
DWORD | Options;
BYTE | PrintRange;
BYTE | PrintToFile;

} IKPRINT_DIALOG;

typedef IKPRINT_DIALOG * PTR_IKPRINT_DIALOG;

(2)Delphi

type

IKPRINT_DIALOG = Record

Collate: | Byte;
Copies: | Word;
FromPage: | Word;
ToPage: | Word;
MaxPage: | Word;
MinPage: | Word;
Options: | DWORD;
PrintRange: | Byte;
PrintToFile: | Byte;

end;

(3)Visual Basic

Type IKPRINT_DIALOG

Collate | As Byte
Copies | As Integer
FromPage | As Integer
ToPage | As Integer
MaxPage | As Integer
MinPage | As Integer
Options | As Long
PrintRange | As Byte
PrintToFile | As Byte

End Type

Collate: | [印刷]ダイアログの[部単位で印刷]（0以外:部単位で印刷にチェック）
Copies: | 印刷部数（1～）
FromPage: | 印刷開始ページ（1～）
ToPage: | 印刷終了ページ（1～）
MaxPage: | 印刷最大ページ（1～）
MinPage: | 印刷最小ページ（1～）
Options: | ［印刷］ダイアログの初期設定 0x4[選択された部分]ラジオボタンを使用禁止(PD_NOSELECTION) 0x8[ページ指定]ラジオボタンを使用禁止(PD_NOPAGENUMS) 0x80デフォルトプリンタがない場合に警告メッセージを非表示(PD_NOWARNING) 0x800ヘルプボタンを表示(PD_SHOWHELP) 0x80000[ファイルへ出力]チェックボックスを使用禁止(PD_DISABLEPRINTTOFILE) 0x100000[ファイルへ出力]チェックボックスを非表示(PD_HIDEPRINTTOFILE) ・16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに変換してください。 ・()内の説明はWindowsAPIで使用する定数と同じ意味です。 ・複数の項目を指定する場合は｜, or, Orで組み合わせてください。
PrintRange: | 印刷範囲の種類（0:すべて, 1:選択した部分, 2:ページ指定）
PrintToFile: | [印刷]ダイアログの［ファイルへ出力］（0以外:ファイルへ出力にチェック）
IKPRINT_DRAWINFO: | 図形を描画する際に使用します。

(1)C++Builder/Visual C++

typedef struct {

long | PenWidth;
BYTE | PenStyle;
BYTE | PenMode;
COLORREF | PenColor;
BYTE | BrushStyle;
COLORREF | BrushColor;
BYTE | Transparent;
COLORREF | BackColor;

} IKPRINT_DRAWINFO;

typedef IKPRINT_DRAWINFO * PTR_IKPRINT_DRAWINFO;

(2)Delphi

type

IKPRINT_DRAWINFO = Record

PenWidth: | Longint;
PenStyle: | Byte;
PenMode: | Byte;
PenColor: | COLORREF;
BrushStyle: | Byte;
BrushColor: | COLORREF;
Transparent: | Byte;
BackColor: | COLORREF;

end;

(3)Visual Basic

Type IKPRINT_DRAWINFO

PenWidth | As Long
PenStyle | As Byte
PenMode | As Byte
PenColor | As Long
BrushStyle | As Byte
BrushColor | As Long
Transparent | As Byte
BackColor | As Long

End Type

PenWidthは、ペンの幅を指定します。

描画対象がスクリーンとメモリハンドルの場合はピクセル単位で、プリンタの場合は0.1mm単位で設定してください。

PenStyleは、描画するペンのスタイル指定します。

値の説明は以下に示します。()内の説明はWindowsAPIで使用する定数と同じ意味です。

0:線は描画されない(PS_NULL)

1:実線(PS_SOLID)

2:破線(PS_DASH)

3:点線(PS_DOT)

4:一点鎖線(PS_DASHDOT)

5:二点鎖線(PS_DASHDOTDOT)

6:実線(PS_INSIDEFRAME)

注意：

IKLine、IKRectangle以外のコマンドで図形を描画する場合に、PenWidthに1以上（ピクセルで与えた場合、0.1mmの場合もピクセルに換算して判定）、PenStyleで2～5のいずれかを設定した場合にはPenWidthを強制的に1とします。

PenModeは、描かれるペンの色をキャンバス上の色とどのように対応させるかを指定します。

値の説明は以下に示します。()内の説明はWindowsAPIで使用する定数と同じ意味です。

1:黒(R2_BLACK)

2:ペン色と画面色の組み合わせの反転(R2_NOTMERGEPEN)

3:画面色とペン反転色のどちらにも共通な色の組み合わせ(R2_MASKNOTPEN)

4:ペンの反転色(R2_NOTCOPYPEN)

5:ペン色と画面反転色のどちらにも共通な色の組み合わせ(R2_MASKPENNOT)

6:画面色の反転色(R2_NOT)

7:ペン色または画面色の（両方ではなく）どちらかの色の組み合わせ(R2_XORPEN)

8:ペン色と画面色のどちらにも共通な色の組み合わせの反転(R2_NOTMASKPEN)

9:ペン色と画面色のどちらにも共通な色の組み合わせ(R2_MASKPEN)

10:ペン色または画面色の（両方ではなく）どちらかの色の組み合わせの反転(R2_NOTXORPEN)

11:変化なし(R2_NOP)

12:画面色とペン反転色の組み合わせ(R2_MERGENOTPEN)

13:PenColorで指定したペン色(R2_COPYPEN)、デフォルト値

14:ペン色と画面反転色の組み合わせ(R2_MERGEPENNOT)

15:ペン色と画面色の組み合わせ(R2_MERGEPEN)

16:白(R2_WHITE)

PenColorは、描画するペンの色を指定します。値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

（デバイスが設定した色を正確に表現できない場合は、近似の色が用いられます。）

BrushStyleは、塗りつぶすブラシの模様を指定します。

値の説明は以下に示します。()内の説明はWindowsAPIで使用する定数と同じ意味です。

0:塗りつぶしは行わない(BS_NULL)

1:塗りつぶし(BS_SOLID)

2:左下から右上へ45度の角度で向かう斜線のハッチパターン(BS_HATCHED､HS_BDIAGONAL)

3:縦横の格子線のハッチパターン(BS_HATCHED､HS_CROSS)

4:3のハッチパターンを45度回転したもの(BS_HATCHED､HS_DIAGCROSS)

5:左上から右下へ45度の角度で向かう斜線のハッチパターン(BS_HATCHED､HS_FDIAGONAL)

6:横線のハッチパターン(BS_HATCHED､HS_HORIZONTAL)

7:縦線のハッチパターン(BS_HATCHED､HS_VERTICAL)

BrushColorは、塗りつぶすブラシの色を指定します。値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。（デバイスが設定した色を正確に表現できない場合は、近似の色が用いられます。）

Transparentは、背景や線と線の間隔を描画する時の透過を指定します。（透過にする場合は0以外を設定します。）

BackColor: *1

ペンが実線以外、あるいはブラシがハッチパターンの場合に線と線の間の色および背景色を指定します。値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。（デバイスが設定した色を正確に表現できない場合は、近似の色が用いられます。）

Transparent = 0の場合に有効です。

*1 ImageKit7で追加されたメンバー変数です。ImageKit5/6から移行する場合は注意してください。

IKPRINT_TEXTINFO: 文字を描画する際に使用します。

(1)C++Builder/Visual C++

typedef struct {

short | CharSet;
TCHAR | FontName[LF_FACESIZE];
WORD | FontSize;
BYTE | FontBold;
BYTE | FontItalic;
BYTE | FontUnderline;
BYTE | FontStrikeOut;
BYTE | Transparent;
BYTE | Direction;
short | CharAngle;
long | CharExtra;
BYTE | HCentering;
BYTE | VCentering;
BYTE | RotateString;
COLORREF | TextColor1;
COLORREF | TextColor2;
BYTE | Alpha1;
BYTE | Alpha2;
WORD | HotkeyPrefix;

} IKPRINT_TEXTINFO;

typedef IKPRINT_TEXTINFO * PTR_IKPRINT_TEXTINFO;

(2)Delphi

type

IKPRINT_ TEXTINFO = Record

CharSet: | Smallint;
FontName: | array [0..LF_FACESIZE - 1] of Char;
FontSize: | Word;
FontBold: | Byte;
FontItalic: | Byte;
FontUnderline: | Byte;
FontStrikeOut: | Byte;
Transparent: | Byte;
Direction: | Byte;
CharAngle: | Smallint;
CharExtra: | Longint;
HCentering: | Byte;
VCentering: | Byte;
RotateString: | Byte;
TextColor1: | COLORREF;
TextColor2: | COLORREF;
Alpha1: | Byte;
Alpha2: | Byte;
HotkeyPrefix: | Word;

end;

(3)Visual Basic

Type IKPRINT_TEXTINFO

CharSet | As Integer
FontName | As String * 32
FontSize | As Integer
FontBold | As Byte
FontItalic | As Byte
FontUnderline | As Byte
FontStrikeOut | As Byte
Transparent | As Byte
Direction | As Byte
CharAngle | As Integer
CharExtra | As Long
HCentering | As Byte
VCentering | As Byte
RotateString | As Byte
TextColor1 | As Long
TextColor2 | As Long
Alpha1 | As Byte
Alpha2 | As Byte
HotkeyPrefix | As Integer

End Type

CharSetは、フォントで使用する文字セットを指定します。0～255の値を設定した場合は、Windowsで定義されている値と同じになります。

-1:ANSI文字 or 日本語シフトJIS文字 [ImageKit5互換]

0:ANSI文字(ANSI_CHARSET)

1:FontNameとFontSizeにより選択される(DEFAULT_CHARSET)

2:シンボル文字(SYMBOL_CHARSET)

128:日本語シフトJIS文字(SHIFTJIS_CHARSET)

255:オペレーティングシステムに依存(OEM_CHARSET)

※()内の説明はWindowsAPIで使用する定数と同じ意味です。

FontNameは、テキストを描画する際のフォントの名称を指定します。（例えば、"ＭＳゴシック"など、Visual Basicの場合は最後に、Chr$(0)を付加します。）

FontSizeは、テキストを描画する際のフォントのサイズをポイント数で指定します。

FontBoldは、フォントを太字にするかしないかを指定します。（太字にする場合は0以外を設定します。）

FontItalicは、フォントを斜体にするかしないかを指定します。（斜体にする場合は0以外を設定します。）

FontUnderlineは、テキストに下線を付加するかしないかを指定します。（下線を付加する場合は0以外を設定します。ただし、0以外でもDirectionやCharAngleの値により無効となる場合があります。）

FontStrikeOutは、テキストに打ち消し線を付加するかしないかを指定します。（打ち消し線を付加する場合は0以外を設定します。ただし、0以外でもDirectionやCharAngleの値により無効となる場合があります。）

Transparentは、テキストの背景を描画する時の透過を指定します。（透過にする場合は0以外を設定します。その場合は、TextColor2に値を設定しても無視されます。）

Directionは、文字列の描画方向を指定します。（RotateStringがFalseの場合に有効）

0:左から右（横書き）、1:右から左（横書き）、2:上から下（縦書き）、3:下から上（縦書き）

CharAngleは、文字の回転角度を1度単位で指定します。（0～360）

IKDrawText, IKTextOutは反時計回りに、IKDrawStringは時計回りに回転

CharExtraは、描画する文字の間隔を指定します。（0～）

描画対象がスクリーンとメモリハンドルの場合はピクセル単位で、プリンタの場合は0.1mm単位で設定してください。

HCenteringは、文字列の水平センタリングを指定します。（IKDrawString, IKDrawText, IKMeasureStringで使用します。）

0:左、1:中央、2:右

VCenteringは、文字列の垂直センタリングを指定します。（IKDrawString, IKDrawText, IKMeasureStringで使用します。）

0:上、1:中央、2:下

RotateStringは、文字単位で回転するか文字列単位で回転するかを指定します。（IKGetTextExtent, IKTextOutで使用します。）

0:文字単位（CharAngleは0, 90, 180, 270のみ有効）、0以外:文字列単位

TextColor1: *1

IKDrawText, IKTextOutではテキストの描画色を指定します。

IKDrawStringではブラシの種類により意味合いが異なります。

ソリッドブラシ：ブラシの色

ハッチブラシ：描画される線の色

グラデーションブラシ:線形グラデーションの開始色

※テクスチャブラシでは無効

TextColor2: *1

IKDrawText, IKTextOutではテキストの背景色を指定します。

IKDrawStringではブラシの種類により意味合いが異なります。

ハッチブラシ：線間の領域の色

グラデーションブラシ:線形グラデーションの終了色

※ソリッドブラシとテクスチャブラシでは無効

値を設定する場合は、RGB（Red, Green, Blue）などの戻り値を与えます。

（デバイスが設定した色を正確に表現できない場合は、近似の色が用いられます。）

Alpha1はTextColor1のアルファ値です。255の場合、完全不透明です。（IKDrawStringで使用します。） *2

Alpha2はTextColor2のアルファ値です。255の場合、完全不透明です。（IKDrawStringで使用します。） *2

HotkeyPrefixはプリフィックス文字をどう扱うかを指定します。 *2

IKDrawTextの場合 0:プリフィックスなし, 1:プリフィックス表示

IKDrawStringの場合 0:プリフィックスなし, 1:プリフィックス表示, 2:プリフィックス非表示

*1名称が変更されました。

TextForeColor à TextColor1

TextBackColor à TextColor2

*2 ImageKit7で追加されたメンバー変数です。

ImageKit5/6から移行する場合は注意してください。

IKRECT: VisualBasicで使用する、矩形の座標を表します。

Type IKRECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

IKPOINT: VisualBasicで使用する、xとyの座標を表します。

Type IKPOINT

x As Long

y As Long

End Type


Ik10RasToVect.dll/Ik10RasToVectA.dll/Ik10RasToVect64.dll/Ik10RasToVect64A.dll

ラスタイメージをベクトルイメージに変換する機能を提供します。

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKRasterToVector | ラスタイメージをベクトルイメージに変換

【ユーザ関数の定義】

Visual Basicの場合は、ユーザ関数をフォームモジュールではなく標準モジュールとして作成してください。

【関数書式】

(1)C++Builder/Visual C++  BOOL __stdcall UserProc(short Percent);

(2)Delphi function UserProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic Function UserProc(ByVal Percent As Integer) As Long

【引数】

名称 | 内容
Percent | 現在処理している％数

【戻り値】

False(0)の場合は実行している処理を終了します。True(0以外)は処理を継続します。

ユーザ関数はUserProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。関数名がUserProcの場合は以下のような形式で引数に渡します。

(1)C++Builder/Visual C++  UserProc

(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)

(3)Visual Basic Address Of UserProc


Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll

TWAINデータソースから、イメージを取り込む機能などを提供します。

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKScanCloseDS | データソースのクローズ
IKScanExec | データソースからの画像の取り込み
IKScanFreeTwain | TWAIN DLLの解放
IKScanGetBitDepth | データソースがサポートしている画素ビット数の取得
IKScanGetCapEnum | 指定した項目の値の列挙
IKScanGetCapRange | 指定した項目の範囲の取得
IKScanGetDSInfo | 指定したデータソースの情報を取得
IKScanGetMinimumSize(Ex) | データソースから取り込める最小サイズの取得
IKScanGetPhysicalSize(Ex) | データソースから取り込める最大物理サイズの取得
IKScanGetPixelType | データソースがサポートしているピクセルタイプの取得
IKScanInitialize | TWAINの初期化処理
IKScanIsCapSupported | 指定した項目をサポートしているかどうかの判定
IKScanList | インストールされているデータソースの列挙
IKScanListLen | インストールされているデータソースの列挙文字列の長さを取得
IKScanLoadTwain | TWAIN DLLのロード
IKScanOpenDS | データソースのオープン
IKScanSelect | データソースの選択
IKScanTerminate | TWAINの終了処理

●取り込みの簡単な流れ

[IKScanLoadTwain]

|

IKScanInitialize（必須）

|

IKScanGetDSInfo, IKScanList, IKScanListLen, IKScanSelect

|

[IKScanOpenDS]

|

IKScanGetBitDepth, IKScanGetCapEnum, IKScanGetCapRange, IKScanGetPhysicalSize(Ex)

IKScanGetPixeltype, IKScanGetMinimumSize(Ex), IKScanIsCapSupported

|

IKScanExec

|

[IKScanCloseDS]

|

IKScanTerminate（必須）

|

[IKScanFreeTwain]

注意：

[ ]のIKScanLoadTwain/FreeTwainとIKScanOpenDS/CloseDSは実行しなくても構いませんが、実行する時はIKScanLoadTwain/FreeTwainとIKScanOpenDS/CloseDSを対で使用してください。IKScanLoadTwain/TwainとIKScanInitialize/Terminateを除く全ての関数は、その間であればどのタイミングでも使用可能です。

ただし、IKScanOpenDS/CloseDSを実行する場合、IKScanOpenDS/CloseDSの間に記載されている関数はIKScanOpenDSを実行した後に使用しなければなりません。

●構造体（ユーザ定義型）の定義および解説

IKSCAN_DATASOURCEINFO: TWAINデータソースの情報を参照。

(1)C++Builder/Visual C++

typedef struct {

WORD | ProtocolMajor;
WORD | ProtocolMinor;
char | Manufacturer[34];
WORD | ManufacturerLen;
char | ProductFamily[34];
WORD | ProductFamilyLen;
char | ProductName[34];
WORD | ProductNameLen;
WORD | SourceMajor;
WORD | SourceMinor;
char | SourceVersionInfo[34];
WORD | SourceVersionInfoLen;

} IKSCAN_DATASOURCEINFO;

typedef IKSCAN_DATASOURCEINFO * PTR_IKSCAN_DATASOURCEINFO;

(2)Delphi

type

IKSCAN_DATASOURCEINFO = Record

ProtocolMajor: | Word;
ProtocolMinor: | Word;
Manufacturer: | array[0..33] of AnsiChar;
ManufacturerLen: | Word;
ProductFamily: | array[0..33] of AnsiChar;
ProductFamilyLen: | Word;
ProductName: | array[0..33] of AnsiChar;
ProductNameLen: | Word;
SourceMajor: | Word;
SourceMinor: | Word;
SourceVersionInfo: | array[0..33] of AnsiChar;
SourceVersionInfoLen: | Word;

end;

(3)Visual Basic

Type IKSCAN_DATASOURCEINFO

ProtocolMajor | As Integer
ProtocolMinor | As Integer
Manufacturer | As String * 34
ManufacturerLen | As Integer
ProductFamily | As String * 34
ProductFamilyLen | As Integer
ProductName | As String * 34
ProductNameLen | As Integer
SourceMajor | As Integer
SourceMinor | As Integer
SourceVersionInfo | As String * 34
SourceVersionInfoLen | As Integer

End Type

ProtocolMajor: | データソースがサポートするTWAINのメジャーバージョン番号。
ProtocolMinor: | データソースがサポートするTWAINのマイナーバージョン番号。
Manufacturer: | 製造者名。
ManufacturerLen: | Manufacturer文字列の長さ。 *1
ProductFamily: | 製品ファミリー名。
ProductFamilyLen: | ProductFamily文字列の長さ。 *1
ProductName: | 製品名。
ProductNameLen: | ProductName文字列の長さ。 *1
SourceMajor: | データソースのメジャーバージョン番号。
SourceMinor: | データソースのマイナーバージョン番号。
SourceVersionInfo: | データソースのバージョン情報
SourceVersionInfoLen: | SourceVersionInfoLen文字列の長さ。 *1

*1 4バイト型から2バイト型に変更されました。ImageKit6から移行する場合は注意してください。

IKSCAN_EXEC: 画像を取得する際に設定します。

(1)C++Builder/Visual C++

typedef struct {

WORD | seSize;
WORD | PixelType;
float | Left;
float | Top;
float | Right;
float | Bottom;
long | XResolution;
long | YResolution;
float | XScaling;
float | YScaling;
WORD | BitDepth;
short | Brightness;
short | Contrast;
float | Gamma;
short | Highlight;
short | Threshold;
short | Shadow;
short | Indicator;
short | ScanMode;
LPSTR | ScanDsName;
WORD | UiMode;
WORD | UnitMode;
WORD | UnitFlag;
short | PageCount;
WORD | Orientation;
WORD | TransferMode;
WORD | Compression;
WORD | PaperSize;
WORD | BitDepthReduction;
LPSTR | HalfTone;
WORD | FileFormat;
short | JpegQuality;
LPSTR | FileName;
WORD | ImageFilter;
WORD | NoiseFilter;
WORD | DropoutColor;
WORD | BorderDetection;
WORD | Deskew;
WORD | ScanningSpeed;
WORD | MoireFilter;
WORD | Sharpness;
WORD | RotateBack;
WORD | ExtUiMode;
WORD | DynamicThreshold;
float | ColorBWRatio;
WORD | IgnoreBackColor;
WORD | OverScan;
long | SkipBlankPage;
float | SkipBlankThreshold;
WORD | RemoveHole;
WORD | AdjustGamma;
short | FocusPosition;
long | Rotation;
LPTSTR | InformationFileName;
short | TextEnhancement;
WORD | ImageMerge;
WORD | Border;
short | BorderColor;
WORD | AutoBright;

} IKSCAN_EXEC;

typedef IKSCAN_EXEC * PTR_IKSCAN_EXEC;

(2)Delphi

type

IKSCAN_EXEC = Record

seSize: | Word;
PixelType: | Word;
Left: | Single;
Top: | Single;
Right: | Single;
Bottom: | Single;
XResolution: | Longint;
YResolution: | Longint;
XScaling: | Single;
YScaling: | Single;
BitDepth: | Word;
Brightness: | Smallint;
Contrast: | Smallint;
Gamma | Single;
Highlight: | Smallint;
Threshold: | Smallint;
Shadow: | Smallint;
Indicator: | WordBool;
ScanMode: | Smallint;
ScanDsName: | PAnsiChar;
UiMode: | Word;
UnitMode: | Word;
UnitFlag: | Word;
PageCount: | Smallint;
Orientation: | Word;
TransferMode: | Word;
Compression: | Word;
PaperSize: | Word;
BitDepthReduction: | Word;
HalfTone: | PAnsiChar;
FileFormat: | Word;
JpegQuality: | Smallint;
FileName: | PAnsiChar
ImageFilter: | Word;
NoiseFilter: | Word;
DropoutColor: | Word;
BorderDetection: | Word;
Deskew: | Word;
ScanningSpeed: | Word;
MoireFilter: | Word;
Sharpness: | Word;
RotateBack: | Word;
DynamicThreshold: | Word;
ColorBWRatio: | Single;
IgnoreBackColor: | Word;
OverScan: | Word;
SkipBlankPage: | Longint;
SkipBlankThreshold: | Single;
RemoveHole: | Word;
AdjustGamma: | Word;
FocusPosition: | Smallint;
Rotation: | Longint;
InformationFileName: | PChar;
TextEnhancement: | Smallint;
ImageMerge: | Word;
Border: | Word;
BorderColor: | Smallint;
AutoBright: | Word;

end;

(3)Visual Basic

Type IKSCAN_EXEC

seSize | As Integer
PixelType | As Integer
Left | As Single
Top | As Single
Right | As Single
Bottom | As Single
XResolution | As Long
YResolution | As Long
XScaling | As Single
YScaling | As Single
BitDepth | As Integer
Brightness | As Integer
Contrast | As Integer
Gamma | As Single
Highlight | As Integer
Threshold | As Integer
Shadow | As Integer
Indicator | As Integer
ScanMode | As Integer
ScanDsName | As String
UiMode | As Integer
UnitMode | As Integer
UnitFlag | As Integer
PageCount | As Integer
Orientation | As Integer
TransferMode | As Integer
Compression | As Integer
PaperSize | As Integer
BitDepthReduction | As Integer
HalfTone | As String
FileFormat | As Integer
JpegQuality | As Integer
FileName | As String
ImageFilter | As Integer
NoiseFilter | As Integer
DropoutColor | As Integer
BorderDetection | As Integer
Deskew | As Integer
ScanningSpeed | As Integer
MoireFilter | As Integer
Sharpness | As Integer
RotateBack | As Integer
DynamicThreshold | As Integer
ColorBWRatio | As Single
IgnoreBackColor | As Integer
OverScan | As Integer
SkipBlankPage | As Long
SkipBlankThreshold | As Single
RemoveHole | As Integer
AdjustGamma | As Integer
FocusPosition | As Integer
Rotation | As Long
InformationFileName | As String
TextEnhancement | As Integer
ImageMerge | As Integer
Border | As Integer
BorderColor | As Integer
AutoBright | As Integer

End Type

seSize:　IKSCAN_EXEC構造体のサイズを設定します。 *1

C++Builder/Visual C++ではsizeof演算子、DelphiではSizeOf関数、Visual BasicではLenB関数などを使用して値を設定します。0を設定した場合は、AutoBrightまでのメンバを参照します。

PixelType:　取り込むイメージの種類を設定します。

0:白黒2値（1ビット）

1:グレースケール（4ビット、8ビット、12ビット、14ビット、16ビット）

2:RGBカラー（24ビット、36ビット、42ビット、48ビット）

3:パレットカラー（4ビット、8ビット）

1000:白黒/カラー自動判別（1ビット or 24ビット）

1001:白黒2値とグレースケール（1ビットと8ビット）

1002:白黒2値とRGBカラー（1ビットと24ビット）

UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。

データソースがサポートしているピクセルタイプは、IKScanGetCapEnumで取得できます。

1000はパナソニック製スキャナ用ドライバ（メモリ転送時は非圧縮形式のみ）、キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

1001, 1002はキヤノン製DRスキャナ用ドライバ、パナソニック製スキャナ用ドライバ（メモリ転送時は非圧縮形式のみ）とPFU製スキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。1000, 1001, 1002がサポートされているかどうかについてはIKScanIsCapSupportedで判定できます。

Left、Top、Right、Bottom：　取り込み範囲をUnitModeに応じた値で設定します。

（例えば、0の場合はインチ単位、1の場合はcm単位、5の場合はピクセル単位）

データソースのデフォルト値を使用する場合はLeft、Top、Right、Bottomに0を設定します。

取り込み終了後にUnitModeに応じた値が返されます。UiModeが2(UI非表示)以外の場合やPaperSizeが1以上およびデジカメからの取り込みの場合、設定値は無効です。

XResolution、YResolution：　X方向およびY方向のDPI（解像度）を設定します。

データソースのデフォルト値を使用する場合は-1を指定します。

UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。データソースがサポートしている解像度の範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

（注意）

X方向とY方向の読み取り解像度には異なる値を設定できますが、データソースによっては異なる解像度をサポートしていないものがあります。その場合、X方向およびY方向のどちらかの解像度が有効になります。実際の読み取り解像度はBeforeScanProc関数の引数を参照するか、IKScanExec終了後に当メンバー変数を参照してください。

XScaling、YScaling：　X方向およびY方向のスケーリングの比率を設定します。（デフォルトは1.0）

等倍（実寸）で読み取る場合は1.0です。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合、およびデータソースが機能をサポートしていない場合は無効です。データソースがサポートしているスケーリングの比率の範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

（注意）

X方向とY方向のスケーリングの比率には異なる値を設定できますが、データソースによっては異なるスケーリングをサポートしていないものがあります。その場合、X方向およびY方向のどちらかのスケーリングが有効になります。

BitDepth：　画素ビット数(1, 4, 8, 12, 14, 16, 24, 36, 42, 48)を設定します。

12, 14, 16もしくは36, 42, 48を設定して取り込みを行う場合は、TranferModeを2に設定してください。データソースでサポートしている値にも関わらずエラーとなる場合は、0を設定してください。0の場合はPixelTypeに応じたデフォルト値を使用します。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。

Brightness：　明るさ（-1000～1000、デフォルトは0）を設定します。

Contrast：　コントラスト（-1000～1000、デフォルトは0）を設定します。

キヤノン製DRスキャナ用ドライバご利用時でPixelTypeが0でBitDepthReductionが0、TextEnhancementが1以上の場合は、1～255(デフォルトは128)の範囲が有効です。

PFU製スキャナ用ドライバご利用時でPixelTypeが1000, 1001, 1002の場合は、-127～127(デフォルトは0)の範囲が有効です。

PixelTypeが0の場合、BitDepthReductionの値により効果がない場合があります。（下記は効果がある場合）

PixelType | 0 | 1, 2, 3
Brightness | BitDepthReduction = 0(*), 1 | ○
Contrast | BitDepthReduction = 1 | ○

(*)しきい値の機能を明るさで表すデータソースで使用（Thresholdをサポートしていないデータソースなど）

UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合、およびデータソースが機能をサポートしていない場合は無効です。データソースがサポートしている明るさ・コントラストの範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

Gamma：　ガンマ（デフォルトは2.2）を設定します。

UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合、およびデータソースが機能をサポートしていない場合は無効です。データソースがサポートしているガンマの範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

Highlight：　ハイライト（0～255、デフォルトは255）を設定します。

PixelTypeが0以外の場合に有効です。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合、およびデータソースが機能をサポートしていない場合は無効です。データソースがサポートしているハイライトの範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

Threshold：　しきい値（0～255, デフォルトは128）を設定します。

PixelTypeが0、BitDepthReductionが0の場合に有効ですが、しきい値の機能を明るさで表すデータソースの場合はThresholdではなくBrightnessをご使用ください。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合、およびデータソースが機能をサポートしていない場合は無効です。データソースがサポートしているしきい値の範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

Shadow：　シャドウ（0～255、デフォルト0）を設定します。

PixelTypeが0以外の場合に有効です。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合、およびデータソースが機能をサポートしていない場合は無効です。データソースがサポートしているシャドウの範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

Indicator：　取り込みインジケーターの有無を設定します。

0:非表示、0以外:表示

UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

ScanMode：　取り込みモードを設定します。

スキャナ（0:反射原稿-原稿台、1:反射原稿-ADF片面､2:反射原稿-ADF両面、7:透過原稿-ポジフィルム、フィルムホルダ使用、8:透過原稿-ポジフィルム、フィルムエリアガイド使用）

デジカメ（3：オリジナル画像、4:オリジナル画像で配列を使用、5：サムネイル画像、6:サムネイル画像で配列を使用）

UiModeが2(UI非表示)以外の場合は無効です。

ScanModeが4, 6の場合は、IKScanExec関数の引数で与える配列が有効となりますが、それ以外は無効です。

ImageKit5と互換性を保つため、XResolution = 0, ScanMode = 1の場合はデジカメからの取り込みとなります。（取り込む画像は主画像となります。）

7, 8の場合はエプソン製スキャナ用ドライバご利用時に有効です。8はフィルムエリアガイドをサポートする機種で使用可能です。

100の場合はInformationFileNameにメーカ提供UIの設定情報が保存されたファイル名を設定します。

（注意）

両面読み取り機能をサポートしているスキャナでも、ユーザインタフェースを非表示にすると正しく読み取りできない場合があります。

ScanDsName：　取り込みを行うデータソースの名称を設定します。

""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。

IKScanOpenDSを使用した場合は無効です。

UiMode：　ユーザインタフェースの設定を行います。

0:UI表示-取込後閉じない、1:UI表示-取込後閉じる、2:UI非表示、3：UI表示－値の設定のみで取り込み不可

UI非表示での取り込みやUIを表示して値の設定のみできる機能をサポートしているかどうかについては、IKScanIsCapSupportedで判定できます。

UnitMode：　取り込み時の単位を設定します。

0:インチ、1:cm（センチメートル）、2:パイカ、3:ポイント、4:twip、5:ピクセル、6:mm（ミリメートル）

UnitFlagが0の場合は、データソースがサポートしている値でなければなりません。

UiModeが2(UI非表示)以外の場合、設定値は無効ですが、取り込み時に使用した単位を返します。データソースがサポートしている取り込み単位は、IKScanGetCapEnumで取得できます。

UnitFlag：

取り込み時の単位をデータソースの機能に任せるか、ImageKit10で考慮するかを設定します。（0:データソースの機能を利用 1:ImageKit10で考慮）

例えば、データソースがサポートしていない単位を使用したい場合や、PaperSizeが0以下でLeft、Top、Right、Bottomを設定しているのに正しく取り込みができない、または取り込み範囲が有効にならない場合などは1を指定してください。

XResolution、YResolutionが共に-1でUnitModeが5の場合は無効です。

UiModeが2(UI非表示)以外の場合は無効です。

PageCount：

取り込みを行うページ数（デジカメの場合は画像数）を設定します。ADFにある全てのページ、およびデジカメ内の全ての画像を取り込む場合は0以下を指定します。デジカメからの取り込みで配列を使用する場合は、その要素数を指定します。ScanModeが2の場合は奇数を設定しても取り込まれるページ数は偶数になります（両面取り込みのため）。UiModeが2(UI非表示)以外の場合や原稿台からの取り込みの場合は無効です。

PixelTypeが1001, 1002の場合は1ページにつき2つのイメージが作成されるため、偶数を指定してください。たとえば、1ページの原稿を両面で1001, 1002で取り込む場合は0以下または4を指定します。なお、パナソニック製スキャナ用ドライバご利用時に1001, 1002で取り込む場合は常に0以下として取り扱います（1以上は無視されます）。

（注意）

データソースが機能をサポートしていない場合や正常に機能しない場合は、PageCount分取り込みを行った後で処理を中断いたしますので、機種によってはADFから用紙が取り込まれた状態のまま、用紙が内部に残る場合があります。

Orientation：　用紙の向き、または画像の回転角度を設定します。

0:0度（ポートレイト）、1:90度、2：180度、3：270度（ランドスケープ）、1000:文字向き検知または自動回転

用紙の向きは0度を基準に時計回りに回転します。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。原稿台やADFに置いた用紙の出力結果を回転させたり、原稿台やADFに用紙を横向きにセットする場合などに使用します。データソースがサポートしている用紙の向きは、IKScanGetCapEnumで取得できます。

1000は読み取った画像の中にある文字の向きを認識し、文字の向きが正常になるように画像を90度単位で回転させます。キヤノン製DRスキャナ用ドライバでは「文字向き検知」、パナソニック製スキャナ用ドライバでは「原稿方向補正」という表現を用いています。

また、TWAIN仕様書に記載されている自動回転に対応しているドライバについても1000にて動作いたします。

1000がサポートされているかどうかについてはIKScanIsCapSupportedで判定できます。1000をサポートしているデータソースで1000を指定した出力結果が適切でない場合は用紙を縦向きにセットしてお試しください。

TransferMode：　イメージの転送方法を設定します。

0：ネイティブ（DIBで転送）、1：ファイル、2:メモリ（ブロック単位で転送）、3：ファイル2(*)

*ImageKit10ではサポートしておりません。

データソースがサポートしている転送方法は、IKScanGetCapEnumで取得できます。

Compression：　ファイルおよびメモリ転送時（TransferMode=1 or 2）の圧縮方法を設定します。

0：非圧縮、1:PACKBITS、2：GROUP3-1D、3:GROUP3-1DEOL、4:GROUP3-2D、5:GROUP4、6：JPEG、7：LZW、8:JBIG、9:PNG、10：RLE4、11: RLE8、12:BITFIELDS （2, 3, 4, 5はFAX[CCITT]、10, 11, 12はBMP形式）

開発者作成UIで取り込む場合は、PixelType、BitDepthに適切な値を設定してください。。たとえば、GROUP3/4圧縮の場合は白黒2値、JPEG圧縮の場合は8ビットグレースケールまたは24ビットカラーでなければなりません。

データソースがサポートしている圧縮方法は、IKScanGetCapEnumで取得できます。

データソースによってはファイル転送時の圧縮方法は非圧縮のみ有効となる場合があります。

PaperSize：　取り込む用紙サイズを設定します。

0：ユーザ定義サイズ、1：A4、2:JIS B5、3：USレター、4：USリーガル、5：A5、6：ISO B4、7：ISO B6、9：USレジャー

10：USエグゼクティブ、11:A3、12：ISO B3、13：A6、14：C4、15：C5、16：C6、17:4A0、18:2A0、19：A0、20：A1、21：A2

22：A7、23：A8、24：A9、25：A10、26：ISO B0、27：ISO B1、28：ISO B2、29：ISO B5、30：ISO B7、31：ISO B8

32：ISO B9、33：ISO B10、34：JIS B0、35：JIS B1、36：JIS B2、37：JIS B3、38：JIS B4、39：JIS B6、40：JIS B7、41：JIS B8

42：JIS B9、43：JIS B10、44：C0、45：C1、46：C2、47：C3、48：C7、49：C8、50：C9、51：C10、52：USステイトメント

53：ビジネスカード、54：最大サイズ、1000：未定義サイズ

Left、Top、Right、Bottomを有効にする場合は0以下を指定します。

UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。

また、データソースによってはユーザ定義サイズ(0)と読み取り範囲を設定しても、開始位置などが正しく反映されない場合があります。その場合は、定型サイズ（1以上）を符号反転してお試しください。

Visual BasicはInteger型のため、符号反転（マイナス値）可能ですが、Visual C++/C++BuilderとDelphiは符号なし型のため、マイナス値をキャストして設定してください。

例： 用紙サイズを符号反転し、読み取り位置を設定

(1)C++Builder/Visual C++

IKSCAN_EXEC sc;

sc.PaperSize = (WORD)-3;

sc.RectLeft = 0;

sc.RectTop = 0;

sc.RectRight = 6.9;

sc.RectBottom = 10.2;

(2)Delphi

sc: IKSCAN_EXEC;

sc.PaperSize := Word(-3);

sc.RectLeft := 0;

sc.RectTop := 0;

sc.RectRight := 6.9;

sc.RectBottom := 10.2;

(3)Visual Basic

Dim sc As IKSCAN_EXEC

sc.PaperSize = -3

sc.RectLeft = 0

sc.RectTop = 0

sc.RectRight = 6.9

sc.RectBottom = 10.2

PaperSizeにはデータソースがサポートしている用紙サイズ、もしくはその中で一番大きな用紙サイズを設定してください。

なお、データソースによっては効果がない場合もありますので、詳しくはスキャナメーカにご確認ください。

（注意）

データソースがサポートしている用紙サイズはIKScanGetCapEnumで取得できます。データソースによっては定型サイズをサポートしていないものや、用紙サイズの機能自体をサポートしていないものがありますので、その場合は0を指定してください。

未定義サイズ(1000)を設定すると、用紙サイズを自動検知して取り込みを行いますが、用紙の幅と高さのどちらか一方のみを検知するスキャナでは用紙の自動検知が正しく行われない場合があります。

未定義サイズがサポートされているかどうかについてはIKScanIsCapSupportedで判定できます。

未定義サイズがサポートされていてPaperSizeに1000を設定しても用紙サイズの自動検知が正しく動作しない場合は次の手順をお試しください。

(1)BorderDetectionに0以外を設定する。この段階で正しく動作せずにPFU製スキャナ用ドライバをご利用の場合は(2)へ。

(2)PaperSizeに1000に加えて読み取り可能な最大サイズの用紙サイズを設定する。たとえば、最大サイズがA3であればPaperSize = 1000 + 11を設定する。

BitDepthReduction：　色深度の減少方法を設定します。（PixelType=0の場合に有効です）

0：しきい値、1：ハーフトーン、2：カスタムハーフトーン(*)、3：拡散、4：動的しきい値

*ImageKit10ではサポートしておりません。

0の場合はThreshold（データソースによってはBrightness）が有効となり、1の場合はHalfTone, Brightness, Contrastが有効となります。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。

データソースがサポートしている値は、IKScanGetCapEnumで取得できます。仮にデータソースがBitDepthReductionの機能をサポートしていなくても、ThresholdもしくはHalfToneのどちらかをサポートしている場合は、0もしくは1を設定してください。

HalfTone：　ハーフトーンの名称を設定します。

PixelType=0、BitDepthReduction=1の場合に使用します。データソースがサポートしているハーフトーンの名称は、IKScanGetCapEnumで取得できます。UiModeが2(UI非表示)以外の場合やデジカメからの取り込みの場合は無効です。

FileFormat：　ファイル転送時（TransferMode=1）のファイルフォーマットを設定します。 *1

0：TIFF、1:PICT、2：BMP、3:XBM、4:JFIF(JPEG)、5:FPX、6：TIFF MULTI、7：PNG、8:SPIFF、9:EXIF、10:PDF

11:JP2(JPEG2000 Part1)、13：JPX(JPEG2000 Part2)、14：DEJAVU、15：PDF/A(Version 1)、16：PDF/A(Version 2)

フォーマットに応じてCompressionにも適切な値を設定します。

データソースがサポートしている圧縮方法の値は、IKScanGetCapEnumで取得できます。

JpegQuality：　*1

ファイルおよびメモリ転送（TransferMode=1 or 2）で圧縮方法がJPEG（Compression=6）の場合に設定する品質係数を示します。

-4：未定義、-3:低品質、-2：中品質、-1:高品質、0 ～ 100

データソースがサポートしている品質係数の範囲や値は、IKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

FileName：　*1

ファイル転送時（TransferMode=1）およびメモリ転送の圧縮モード時（TransferMode=2, Compressionが0以外）に読み込んだ画像を保存するファイル名を設定します（255バイト以下）。空文字列およびNULL, nil, vbNullStringを設定するとファイルは作成されません。ファイル転送時にはファイル名は必須です。

UiModeが2でScanModeが0の場合は設定されたファイル名で保存しますが、それ以外の場合は拡張子の前に4桁の連番を挿入します。（例: Image.bmp à Image0001.bmp）

ImageFilter：　イメージフィルタを設定します。 *1

0：なし、1:自動、2：LOWPASS、3:BANDPASS、4: HIGHPASS

画像の品質を改善します。LOWPASSはハーフトーン画像、BANDPASSはテキストが含まれる画像、HIGHPASSは線が含まれる画像に適しています。データソースがサポートしているイメージフィルタは、IKScanGetCapEnumで取得できます。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

NoiseFilter：　ノイズフィルタを設定します。 *1

0：なし、1:自動、2：LONEPIXEL、3:MAJORITYRULE

白黒2値画像からノイズを除去します。データソースがサポートしているノイズフィルタは、IKScanGetCapEnumで取得できます。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

DropoutColor：　ドロップアウトカラーを設定します。 *1

0：赤、1:緑、2：青、3:なし、4：白

PixelType=0, 1の場合に有効です。ドロップアウトカラーを無効にする場合は、3もしくは4を設定します。データソースがサポートしているノイズフィルタは、IKScanGetCapEnumで取得できます。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

BorderDetection：　自動領域切り出しの有無を設定します。 *1

0:無効、0以外:有効

用紙サイズに応じて領域を切り出します。PaperSizeが1000以上の時に有効な機能です。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。データソースが機能をサポートしているかどうかについてはIKScanIsCapSupportedで判定できます。

Deskew：　デスキューの有無を設定します。 *1

0:無効、1:有効、2：有効（滑らか）

原稿の傾きを補正します。基本的にはPaperSizeが1000以上の時に有効な機能ですが、データソースによっては定型サイズでも有効な場合があります。滑らか設定はパナソニック製スキャナ用ドライバご利用時のみ有効です（メモリ転送時は非圧縮形式のみ）。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。データソースが機能をサポートしているかどうかについてはIKScanIsCapSupportedで判定できます。

ScanningSpeed：　読み取り速度を設定します。 *1

エプソン製スキャナ用ドライバおよびパナソニック製スキャナ用ドライバご利用時に有効です。

(1)エプソン製スキャナ用ドライバ 0：品質優先、1:速度優先

(2)パナソニック製スキャナ用ドライバ 0：低速、 1:通常、2：高速

読み取り速度を速くすると遅い場合に比べて画質が粗くなりますので、用途に応じてご利用ください。

データソースがサポートしている読み取り速度は、IKScanGetCapEnumで取得できます。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

MoireFilter：　モアレ除去フィルタのレベルを設定します。 *1

エプソン製スキャナ用ドライバ、キヤノン製DRスキャナ用ドライバ、PFU製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。エプソン製スキャナ用ドライバご利用時に段階設定が可能なのはエプソンスキャナドライバ『EPSON Scan』ご利用時となります。

(1)エプソン製スキャナ用ドライバ

0：なし、1:標準（汎用的な設定）、2:85lpi（新聞など）、3:133lpi（週刊誌やカタログなど）、4：175lpi（写真など）

(2)キヤノン製DRスキャナ用ドライバ

1：なし、2:高速、3:高画質

(3)PFU製スキャナ用ドライバ

0：なし、1:モアレ除去レベル1、2:モアレ除去レベル2、3:モアレ除去レベル3、4：モアレ除去レベル4

(4)パナソニック製スキャナ用ドライバ

0：なし、1：あり

キヤノン製DRスキャナ用ドライバでは解像度が300dpi以下の場合に有効です。PFU製スキャナ用ドライバではSharpnessが0の場合に有効です。パナソニック製スキャナ用ドライバではモアレ除去とマルチストリームを同時に使用することはできません（どちらか一方を無効にしなければなりません）。

データソースがサポートしているモアレ除去フィルタは、IKScanGetCapEnumで取得できます。なお、エプソン製スキャナ用ドライバのバージョンによっては有効無効の2つしか設定できないものがありますが、ImageKitではその場合0か0以外で判定します。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

Sharpness：　シャープネスのレベルを設定します。 *1

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

エプソン製スキャナ用ドライバご利用時に段階設定が可能なのはエプソンスキャナドライバ『EPSON Scan』ご利用時となります。

キヤノン製DRスキャナ用ドライバでは「エッジ強調」、エプソン製スキャナ用ドライバでは「アンシャープマスク」、パナソニック製スキャナ用ドライバでは「画質」、PFU製スキャナ用ドライバでは「輪郭強調」という表現を用いています。

(1)キヤノン製DRスキャナ用ドライバ 0～5

0の場合はドライバのデフォルト値3と同じ動作となります。1の場合は画像の輪郭が柔らかくなり、5の場合は画像の輪郭がくっきりします。

(2)エプソン製スキャナ用ドライバ 0：なし、1:弱、2:中、3:強

(3)パナソニック製スキャナ用ドライバ 0：なし、1:スムーズ、2:低、3:標準、4:高、5:自動

(4)PFU製スキャナ用ドライバ 0：なし、1:弱、2:中、3:強

データソースがサポートしているシャープネスは、IKScanGetCapEnumで取得できます。なお、エプソン製スキャナ用ドライバのバージョンによっては有効無効の2つしか設定できないものがありますが、ImageKitではその場合0か0以外で判定します。UiModeが2(UI非表示)以外の場合およびデータソースが機能をサポートしていない場合は無効です。

RotateBack：　ADFを使用した両面スキャン時の裏面回転を設定します。 *1

キヤノン製DRスキャナ用ドライバおよびエプソン製スキャナ用ドライバ『EPSON Scan』ご利用時に有効ですが、『EPSON Scan』のVer.1.xにおいてはA4サイズを超える原稿では無効です。

0：裏面を回転しない、1:裏面を180度回転する

値が1の場合、キヤノン製DRスキャナ用ドライバではUIを表示した時の「裏面を+180度回転する」のオプションを有効にした場合と同等です。エプソン製スキャナ用ドライバでは『EPSON Scan』の環境設定において「裏面の向きを表面に合わせる」オプションを有効にした場合と同等です。データソースが機能をサポートしているかどうかについてはIKScanIsCapSupportedで判定できます。UiModeが2(UI非表示)でScanModeが2(ADF両面)の場合に有効です。

ExtUiMode：　拡張UIモードを設定します。 *1

エプソン製スキャナ用ドライバご利用時に有効です。

0：前回設定のUIモードで起動、1:プロフェッショナルモードで起動、2:全自動モードで起動、3:ホームモードで起動、4：全自動モードで起動（エラーメッセージを除き、UI非表示）、5：オフィスモードで起動、7:シートフィード専用モードで起動

各設定値は『EPSON Scan』のUIで標準で表示されるもののみ設定可能です。

（例：ESシリーズで2, 4、GTシリーズでADF非接続時5／ADF接続時2, 4は設定不可）

UiModeが0, 1(UI表示)の場合に有効です。データソースがサポートしている値は、IKScanGetCapEnumで取得できます。

DynamicThreshold：　ダイナミックスレッシュホールドのレベルを設定します。 *1

パナソニック製スキャナ用ドライバご利用時に有効です。

0：なし、1:明るい、2:少し明るい、3:標準、4：少し暗い、5：暗い

ダイナミックスレッシュホールド機能を有効にすると、文字や絵がつぶれないよう、かすれないよう、最適な読み取りを行います。

データソースがサポートしている値は、IKScanGetCapEnumで取得できます。UiModeが2(UI非表示)で PixelTypeが0の場合に有効です。DynamicThresholdに1以上を設定すると、BitDepthReduction, HalfTone, Sharpness, Thresholdの値は無効となります。

ColorBWRatio：　白黒原稿の中に含まれるカラー画素の割合を設定します。 *1

パナソニック製スキャナ用ドライバご利用時に有効です。

0.01から50.00までの値を％単位で設定します。値が小ければ白黒原稿はカラーとして認識される確率が高くなり、大きければ白黒として認識される確率が高くなります。UiModeが2(UI非表示)で PixelTypeが1000の場合に有効です。

IgnoreBackColor：　白黒/カラー自動判別時に原稿の背景色を無視するかどうかを設定します。 *1

パナソニック製スキャナ用ドライバご利用時に有効です。

0：背景色を無視しない、1：背景色を無視する

UiModeが2(UI非表示)で PixelTypeが1000の場合に有効です。

OverScan：　オーバースキャンの取り扱いを設定します。 *2

0:指定されたサイズで読み取りを行う、1:指定されたサイズを考慮して自動で読み取りを行う

2:指定されたサイズを基に上下を広げて読み取りを行う、3:指定されたサイズを基に左右を広げて読み取りを行う

4:指定されたサイズを基に上下左右を広げて読み取りを行う

傾いた用紙を取り込む場合などに取り込み領域(Left, Top, Right, Bottom, PaperSize)を広げることができます。

UiModeが2(UI非表示)の場合に有効です。ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。データソースがサポートしている値はIKScanGetCapEnumで取得できます。

SkipBlankPage：　白紙ページの取り扱いを設定します。 *2

-2:白紙ページを除去しない、-1:白紙ページを除去する

キヤノン製DRスキャナ用ドライバ

0：白紙ページを除去しない、1:白紙ページを除去する

エプソン製スキャナ用ドライバ

0:白紙ページを除去しない、1：白紙ページを除去する（レベル低）、2:白紙ページを除去する（レベル中）

3:白紙ページを除去する（レベル高）

白紙ページを除去します。キヤノン製DRスキャナ用ドライバとパナソニック製スキャナ用ドライバではSkipBlankThresholdも併せて設定します。

キヤノン製DRスキャナ用ドライバで白紙ページを除去する場合は-1または1を設定してください。また、ScanModeを必ず1に設定してください。白紙ページ除去が有効の場合はScanModeが1であっても両面取り込みとなります。

エプソン製スキャナ用ドライバで白紙ページを除去する場合は-1または1以上を設定してください。白紙ページの判別レベルを設定する場合は1以上とし、ガンマ補正(AdjustGamma)がサポートされている場合はAdjustGammaを1に設定してください。AdjustGammaが0の場合、白紙ページ除去機能が正常に動作しない可能性があります。また、ガンマ補正(AdjustGamma)がサポートされていない場合は、デフォルトの設定でスキャンを行うと暗めの画像が取得され、白紙ページ除去機能が正常に動作しない可能性があります。その場合はBrightnessやGammaの値を調整して明るめの画像にしてください。

UiModeが2(UI非表示)の場合に有効です。ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしている値はIKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

SkipBlankThreshold：　白紙ページに含まれるしきい値の割合や白紙スキップのしやすさを設定します。 *2

キヤノン製DRスキャナ用ドライバ

0.1から20.0までの値を%単位で設定します。

パナソニック製スキャナ用ドライバ

0.01から5.00までの値を%単位で設定します。

デフォルトは1です。キヤノン製DRスキャナ用ドライバとパナソニック製スキャナ用ドライバご利用時に有効です。キヤノン製DRスキャナ用ドライバでは白紙スキップのしやすさを表し、値が大きければ白紙ページとして認識される確率が高くなります。パナソニック製スキャナ用ドライバでは白紙ページに含まれるしきい値の割合を表し、値が小ければ白紙ページとして認識される確率が高くなります。

UiModeが2(UI非表示)、SkipBlankPageが-1または1の場合に有効です。

RemoveHole：　パンチ穴の取り扱いを設定します。 *2

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

0：パンチ穴を除去しない、1：パンチ穴を除去する（白で埋める）、2:パンチ穴を除去する（周辺色で埋める）

デフォルトは0です。"白で埋める"と"周辺色で埋める"の機能はPFU製スキャナ用ドライバご利用時のみ有効です。

UiModeが2(UI非表示)の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースが機能をサポートしているかどうかについては、IKScanIsIsCapSupportedで判定できます。

AdjustGamma：　ガンマ補正係数を設定します。 *2

エプソン製スキャナ用ドライバご利用時に有効です。

0：係数1.0、1：係数1.8

UiModeが2(UI非表示)の場合に有効です。

FocusPosition：　焦点位置を設定します。 *2

エプソン製スキャナ用ドライバご利用時に有効です。

デフォルトは0です。焦点位置（原稿にピントが合うセンサの位置）を調整できます。

焦点位置は0.1mm単位で設定します。たとえば、1.0mmの場合は10を設定します。

UiModeが2(UI非表示)の場合に有効です。

データソースがサポートしている焦点位置の範囲や値は、IKSacanGetCapRangeで取得できます。

Rotation：　画像の回転角度を設定します。 *2

-360～360（単位は度）。デフォルトは0です。

0度を基準に負の値の場合は反時計回り、正の値の場合は時計回りに回転します。UiModeが2(UI非表示)の場合に有効です。Orientationと機能が似ていますが、Orientationへの設定可能な値が0のみの場合はRotaionを使用してください。OrientationとRotaionの機能を両方ともサポートするデータソースの場合、双方の値によって回転角度が決まったり、Rotaionの値が有効になったりします。そのため、Rotaionに0以外を設定する場合はOrientationに0を設定するといいでしょう。

ただし、Orientationに1000が設定されている場合やデジタルカメラからの取り込み、およびデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしている値はIKScanGetCapEnumもしくはIKScanGetCapRangeで取得できます。

InformationFileName：　メーカ提供UIの設定情報を保存するファイル名を設定します。 *2

メーカ提供UIを表示して設定した情報をファルに保存すると、そのファイルを開発者作成UIにて使用することができます。一度メーカ提供UIを表示する必要はありますが、設定情報を保存すると、次回から開発者作成UIにて取り込みが可能です。

TextEnhancement：　テキストエンハンスメントの種類を設定します。 *2

キヤノン製DRスキャナ用ドライバ

0:適用しない、1：テキストエンハンスメント、2：アドバンスドテキストエンハンスメント、3：高速テキストエンハンスメント

4, 5:アドバンスドテキストエンハンスメントⅡ（ご利用の機種により値が異なる）

エプソン製スキャナ用ドライバ

0:適用しない、1:文字くっきり（標準）、2:文字くっきり（強）

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。エプソン製スキャナ用ドライバご利用時に段階設定が可能なのはエプソンスキャナドライバ『EPSON Scan Ver.5.0以降』ご利用時となります。

キヤノン製DRスキャナ用ドライバではPixelTypeが0でBitDepthReductionが0の場合に有効です。

キヤノン製DRスキャナ用ドライバでは「テキストエンハンスメント」、エプソン製スキャナ用ドライバでは「文字くっきり」という表現を用いています。

デフォルトは0です。UiModeが2(UI非表示)の場合に有効です。

データソースがサポートしている値は、IKScanGetCapEnumで取得できます。

なお、エプソン製スキャナ用ドライバのバージョンによっては有効無効の2つしか設定できないものがありますが、ImageKitではその場合0か0以外で判定します。データソースが機能をサポートしていない場合は無効です。

ImageMerge：　両面合成モードを設定します。 *3

0:なし（合成しない）、1:表面が上で裏面が下になる（上下の貼り合わせ）、2:裏面が上で表面が下になる（上下の貼り合わせ）、3:表面が左で裏面が右になる（左右の貼り合わせ）、4:裏面が左で表面が右になる（左右の貼り合わせ）

ADF両面取り込み時に0以外を設定すると表面と裏面を合成して、一つの画像データにします。両面合成機能を使用して得られる出力イメージは、回転を組み合わせることによっても変わります。デフォルトは0です。UiModeが2、ScanModeが2の場合に有効です。

データソースがサポートしている値は、IKScanGetCapEnumで取得できます。

Border：　境界補正を行うかどうかを設定します。 *3

エプソン製スキャナ用ドライバ

0：境界補正しない、1：境界補正する

パナソニック製スキャナ用ドライバ

0：境界削除しない、1：境界削除する - 自動モード（指定された幅まで原稿領域の縁を検出して補正）

2：境界削除する - 固定幅モード（指定された幅で画像の縁から一律の領域を補正）

エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。エプソン製スキャナ用ドライバでは「境界補正」（原稿端付近に発生する背景色の写りこみや影の補正、または原稿端への枠の付加）、パナソニック製スキャナ用ドライバでは「境界削除」（読み取りやコピーにおいて発生する画像周辺の黒い縁を取り除く）という表現を用いています。

デフォルトは0です。UiModeが2の場合に有効です。1以上の場合、BorderColorに設定した色で塗りつぶしが行われます。データソースが機能をサポートしているかどうかについては、IKScanIsIsCapSupportedで判定できます。

BorderColor：　境界補正色を設定します。 *3

エプソン製スキャナ用ドライバ

0：白色、1：黒色

パナソニック製スキャナ用ドライバ

0：周辺色（原稿端の色）、1：原稿背景色、2：白色

エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。

デフォルトは0です。UiModeが2、Borderが1以上の場合に有効です。補正の適用範囲はエプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバともユーザインタフェース（メーカ提供UI）で設定された値が使用されます。

AutoBright：　取り込む時の明るさを自動で処理するかどうかを設定します。 *4

0:明るさを手動で処理する、0以外:明るさを自動で処理する

デフォルトは0です。UiModeが2の場合に有効です。データソースが機能をサポートしているかどうかについては、IKScanIsIsCapSupportedやIKScanGetCapEnumで判定できます。データソースがTWAIN2.0以降に対応している場合は、IKScanGetCapEnumでサポートする値を取得できます。

0 またはデータソースが機能をサポートしてない場合は、Brightnessの値が有効になります。

IKSCAN_EXECは、ImageKit5のIK5SCANE_EXECの後継にあたりますが、次の変更点があります。

1.PixeltypeをPixelTypeに

2.ResolutionをXResolution、YResolutionに分割

3.Indicatorを4バイト型から2バイト型に

4.InUnitMode, OutUnitModeをUnitModeに統一

5.いくつかのメンバー変数を新たに追加

（XScaling, YScaling, UnitFlag, PageCount, Orientation, TransferMode, Compression, PaperSize, BitDepthReduction, HalfTone）

*1 ImageKit7で追加されたメンバー変数です。ImageKit5/6から移行する場合は注意してください。

*2 ImageKit8で追加されたメンバー変数です。ImageKit5/6/7から移行する場合は注意してください。

*3 ImageKit9で追加されたメンバー変数です。ImageKit5/6/7/8から移行する場合は注意してください。

*4 ImageKit10で追加されたメンバー変数です。ImageKit5/6/7/8/9から移行する場合は注意してください。

IKSCAN_IMAGEINFO: 取り込む画像の情報を取得。

(1)C++Builder/Visual C++

typedef struct {

float | XResolution;
float | YResolution;
long | Width;
long | Height;
short | BitDepth;
short | PixelType;
WORD | Compression;

} IKSCAN_IMAGEINFO;

typedef IKSCAN_IMAGEINFO * PTR_IKSCAN_IMAGEINFO;

(2)Delphi

type

IKSCAN_IMAGEINFO = Record

XResolution: | Single;
YResolution: | Single;
Width: | Longint;
Height: | Longint;
BitDepth: | Smallint;
PixelType: | Smallint;
Compression: | Word;

end;

(3)Visual Basic

Type IKSCAN_IMAGEINFO

XResolution | As Single
YResolution | As Single
Width | As Long
Height | As Long
BitDepth | As Integer
PixelType | As Integer
Compression | As Integer

End Type

XResolution:X方向の解像度。　*1

YResolution:Y方向の解像度。　*1

Width:転送される画像の幅。（ピクセル）

Height:転送される画像の高さ。（ピクセル）

BitDepth:画素ビット数。　*2

PixelType:ピクセルタイプ。（0～3）

Compression:圧縮方法。　*3

*1　TWAINの仕様では取り込み単位（インチやcmなど）に依存した値になりますが、データソースによっては取り込み単位に関わらず、常にDPIとなるものがあります。また、ピクセル単位で取り込むと1が設定される場合があります。

*2　12, 14ビットグレースケールは16となり、36, 42ビットカラーは48となります。

*3　ファイル転送とメモリ転送の際に使用されます。（ネイティブ転送では意味を持ちません。）

IKSCAN_RANGE: 項目の範囲を取得。

(1)C++Builder/Visual C++

typedef struct {

float | Min;
float | Max;
float | Step;
float | Default;
float | Current;

} IKSCAN_RANGE;

typedef IKSCAN_RANGE * PTR_IKSCAN_RANGE;

(2)Delphi

type

IKSCAN_RANGE = Record

Min: | Single;
Max: | Single;
Step: | Single;
Default: | Single;
Current: | Single;

end;

(3)Visual Basic

Type IKSCAN_RANGE

Min | As Single
Max | As Single
Step | As Single
Default | As Single
Current | As Single

End Type

Min:最小値。

Max:最大値。

Step:ステップ値。　*1

Default:デフォルト値。　*2

Current:現在設定されている値。

*1　範囲内（Min～Max）の隣接する値との差。

*2　デバイスの電源を入れた時の値。


Ik10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dll

ベクトルイメージを扱う上で基本となる機能を提供します。

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
IKCreateVectImage | EMFイメージを新規に作成
IKCreateVectImageEx | ベクトルイメージを新規に作成
IKDrawVectObject | ベクトルイメージの描画
IKVectorGdipEnd | GDI+の終了処理
IKVectorGdipStart | GDI+の開始処理
IKVectorToRaster | ベクトルイメージをラスタイメージに変換


以前のImageKitとの互換性（DLL)

以前のImageKitとの互換性

ImageKit10のDLLを新たに呼び出すことで既存プログラムにImageKit10の機能を利用できます。

また、引数として与えたメモリハンドルに処理を施して、戻り値としてその結果のメモリハンドルを返すAPIの多くは、引数で与えたメモリハンドルを処理終了後に解放していましたが、ImageKit5から引数のメモリハンドルを解放しておりませんのでご注意ください。

ImageKit5

(1)DLL間における関数の移動

Ik5Effect.dllのIK5ClearClipBrd, IK5CopyImage, IK5CreateImage, IK5GetFromClipBrd, IK5IsClipBrd, IK5SetToClipBrdはImageKit10ではIk10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dllに移動いたしました。

(2)関数名の変更（ImageKit5 à ImageKit10）

関数の頭文字がIK5からIKに変更されました。その他に2つの変更があります。

Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll: IK5Shade à IKBlur

Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll: IK5ScanGetPixeltype à IKScanGetPixelType

(3)関数の削除（ImageKit5 à ImageKit10）

Ik5Print.dllのIK5SetDeviceMode

関数削除に伴い、描画系関数に引数を追加。

(4)使い方の変更

A.Ik10Print.dll/Ik10PrintA.dll/Ik10Print64.dll/Ik10Print64A.dll（印刷手順　左から右の順）

IK5:　IK5PrintStartDoc, IK5PrintStartPage, 描画処理, IK5PrintEndPage, IK5PrintEndDoc

IK10:　IKPrintDialog, IKPrintDlg or IKPrintCreateDC(Ex), IKPrintStartDoc, IKPrintStartPage, 描画処理, IKPrintEndPage, IKPrintEndDoc, IKPrintDeleteDC

B.Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll（実行手順　左から右の順）

IK5:　各種関数を単独で実行

IK10:　IKScanInitialize, 各種関数, IKScanTerminate

IKScanInitializeとIKScanTerminateは各種メソッドを実行する際に毎回行っても構いませんが、スキャン処理をはじめる最初と最後で実行する方法でも問題はありません。

(5)構造体名の変更（ImageKit5 à ImageKit10）

構造体の頭文字がIK5からIKに変更されました。

例：IK5IMAGE_INFO à IKIMAGE_INFO

(6)その他

関数やユーザ関数の引数および戻り値変更。詳しくはリファレンスの【ImageKit5との違い】を参照してください。

ImageKit6

(1)DLL間における関数の移動

Ik6Com.dllのIKCreateVectImage, IKCreateVectImageEx, IKDrawVectObject, IKVectToDibはImageKit10ではIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllに移動いたしました。

(2)関数名の変更（ImageKit6 à ImageKit10）

Ik10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dll: IKVectToDib à IKVectorToRaster

(3)その他

詳しくはリファレンスの【ImageKit6との違い】を参照してください。

ImageKit7

関数名の変更はありませんが、新たに追加された関数や機能が拡張された関数があります。詳しくはリファレンスの【ImageKit7との違い】を参照してください。

ImageKit8

関数名の変更はありませんが、新たに追加された関数や新たに機能が拡張された関数があります。詳しくはリファレンスの【ImageKit8との違い】を参照してください。

ImageKit9

関数名の変更はありませんが、新たに追加された関数や新たに機能が拡張された関数があります。詳しくはリファレンスの【ImageKit9との違い】を参照してください。


Action（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

Action

【機能】

イメージ編集ツールバーのボタンの種類を表します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Action [ = SelEditFuncConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetAction()

imagekitcontrolname.GetEdit().SetAction(long Val)

(3)VB.NET imagekitcontrolname.Edit.Action [ = ImageKit10(A)Lib.SelEditFuncConstants ]

(4)C#.NET imagekitcontrolname.Edit.Action [ = ImageKit10(A)Lib.SelEditFuncConstants ]

※ANSI版がImageKit10ALib、Unicode版がImageKit10Libとなります。

【設定値】

値 | 説明
0 | 選択（ラスタ用、ベクトル用）
1 | ズーム（ラスタ用、ベクトル用）
2 | 矩形範囲選択（ラスタ用、ベクトル用）
3 | 自由範囲選択（ラスタ用）
4 | ペン（ラスタ用）
5 | 色選択（ラスタ用）
6 | 四角形（ラスタ用、ベクトル用）
7 | 楕円（ラスタ用、ベクトル用）
8 | 角丸四角（ラスタ用、ベクトル用）
9 | 直線（ラスタ用、ベクトル用）
10 | 曲線（ラスタ用）
11 | 塗りつぶし（ラスタ用）
12 | エアブラシ（ラスタ用）
13 | テキスト（ラスタ用、ベクトル用）
14 | フォント（ラスタ用、ベクトル用）
15 | 消しゴム（ラスタ用）
16 | 連続線（ベクトル用）
17 | 多角形（ベクトル用）
18 | スタンプ（ラスタ用）
19 | イメージ（ベクトル用）

定数(ikArrow = 0, ikZoom = 1, ikSelect = 2, ikFreeSelect = 3, ikPen = 4, ikSelectColor = 5, ikRectangle = 6, ikEllipse = 7, ikRoundRect = 8, ikLine = 9, ikBezier = 10, ikFillColor = 11, ikAirBrush = 12, ikText = 13, ikFont = 14, ikEraser = 15, ikPolyline = 16, ikPolygon = 17, ikStamp = 18, ikImage = 19)を使用することも可能です。

【解説】

イメージ編集ツールバーのボタンが押されるとプロパティに値が設定されます。また、プロパティに値を設定することによりイメージ編集ツールバーのボタンを押した状態にすることもできます。

【値の設定】

実行時

【値の参照】

実行時


AddImage（イメージキットコントロール／PDFメソッド）

イメージキットコントロール／PDFメソッド

AddImage

【機能】

PDFの作成で画像を追加します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.PDF.AddImage(ImageHandle As LONG_PTR, x As Long, y As Long, size As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().GetPDF().AddImage(LONG_PTR ImageHandle, long x, long y,　long size)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.PDF.AddImage(ImageHandle As Integer(x86) or Long(x64), x As Integer, y As Integer, size As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.PDF.AddImage(int(x86) or long(x64) ImageHandle, int x, int y, int size)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
ImageHandle | 対象となる画像のRawデータのハンドル（JPEGとPNG形式が対象）
x | 画像を追加する横方向の位置（左下を原点にmm単位で指定）
y | 画像を追加する縦方向の位置（左下を原点にmm単位で指定）
size | 画像を追加するサイズの指定（mm単位）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

追加可能な画像はJPEGとPNGです。画像データの縦サイズと横サイズのうち大きいサイズをsizeに合わせて指定したx, yの位置に画像を設定します。画像データの縦横比は保持したまま、x, y, sizeはmm単位での指定です。 当メソッド実行後に画像や位置・サイズを変更するなどして当メソッドを繰り返せば、一つのページ内に複数の画像を追加することも可能です。当メソッドはStart、AddPage、Endメソッドと共に使用します。


AddPage（イメージキットコントロール／PDFメソッド）

イメージキットコントロール／PDFメソッド

AddPage

【機能】

PDFの作成でページを追加します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.PDF.AddPage

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().AddPage()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.PDF.AddPage()

(4)C#.NET [ bool = ]imagekitcontrolname.File.PDF.AddPage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

新しいページを追加（作成）します。当メソッドで作成したページにAddImageメソッドで画像を追加（埋め込み）します。

当メソッドとAddImageメソッドを繰り返せば、複数ページのPDFファイルを作成することが可能です。

（異なる文書サイズのページの混在も可能です。）

当メソッドはStart、AddImage、Endメソッドと共に使用します。


AdjustGamma（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

AdjustGamma

【機能】

開発者作成UIで取り込む時のガンマ補正係数を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.AdjustGamma [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetAdjustGamma(short Val)

(3)VB.NET imagekitcontrolname.Scan.AdjustGamma [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.AdjustGamma [ = short ]

【設定値】

値 | 説明
0 | 係数 1.0
1 | 係数 1.8

デフォルトは0です。

【解説】

エプソン製スキャナ用ドライバご利用時に有効です。0よりも1の方が画像が明るくなります。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

不可


Affine（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Affine

【機能】

歪んだラスタイメージを修正します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Affine(Px1 As Long, Py1 As Long, Px2 As Long, Py2 As Long, Px3 As Long, Py3 As Long, Px4 As Long, Py4 As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Affine(long Px1, long Py1, long Px2, long Py2, long Px3, long Py3, long Px4, long Py4)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Affine(Px1 As Integer, Py1 As Integer, Px2 As Integer, Py2 As Integer, Px3 As Integer, Py3 As Integer, Px4 As Integer, Py4 As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Affine(int Px1, int Py1, int Px2, int Py2, int Px3, int Py3, int Px4, int Py4)

【引数】

名称 | 内容
Px1～Px4 | アフィン変換する四点のX座標（ピクセル）
Py1～Py4 | アフィン変換する四点のY座標（ピクセル）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

(Px1, Py1)、(Px2, Py2)、(Px3, Py3)、(Px4, Py4)で囲まれたイメージをその点に内接する四角形に変換します。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


AfterScan（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

AfterScan

【機能】

スキャンデバイスからイメージを1枚取り込んだ後に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_AfterScan(ByVal DibHandle As ImageKit10(A)LibCtl.LONG_PTR, ByVal OrgHandle As ImageKit10(A)LibCtl.LONG_PTR, ByVal ImageCount As Long, ByVal BitOrder As Integer)

(2)Visual C++

OnAfterScan imagekitcontrolname(LONG_PTR DibHandle, LONG_PTR OrgHandle, long ImageCount, short BitOrder)

(3)VB.NET

imagekitcontrolname_AfterScan(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_AfterScanEvent)

(4)C#.NET

imagekitcontrolname_AfterScan(object sender, AxImageKit10(A)Lib._IImageKitEvents_AfterScanEvent e)

※ImageKit10ALibCtl/AxImageKit10ALibはANSI版、ImageKit10LibCtl/AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
DibHandle | Windowsで処理できるDIBのメモリハンドル
OrgHandle | Windowsで処理できないメモリハンドル （12, 14, 16ビットグレースケールや36, 42, 48ビットカラー、および圧縮モード時）
ImageCount | 取り込んだイメージの数
BitOrder | 取り込んだイメージのビットがバイトの左端から始まっているか、右端から始まっているかを表します。 0：右端から（LSB）、1：左端から(MSB)

※VB.NET/C#.NETでは二番目の引数eにDibHandleなどが含まれます（先頭の文字が小文字になります）。

【解説】

取り込んだイメージのメモリハンドルはイベント終了後に解放されますので（DibHandleとOrgHandleの両方）、メモリハンドルを残しておきたい場合は、メモリをコピーするかファイルへ保存してください。

(1)ネイティブ転送、メモリ転送で非圧縮モードの場合

取り込んだイメージが1, 4, 8, 24ビットイメージの場合は、イメージをDibHandleに設定しOrgHandleは0になります。

取り込んだイメージが12, 14, 16ビットグレースケールもしくは36, 42, 48ビットカラーの場合は、イメージをOrgHandleに設定し、OrgHandleを8ビットグレースケールもしくは24ビットカラーに減色したイメージをDibHandleに設定します。ただし、DibHandle用のメモリが確保できない場合は0となります。

(2)メモリ転送で圧縮モードの場合

DibHandleは0でOrgHandleに取り込んだイメージを設定します。

(3)ファイル転送の場合

DibHandle, OrgHandleとも0になります。

Scan.UiModeプロパティを2（ikScanNONUI）、かつScan.UnitModeプロパティを5（ikScanPixel）に設定すると、DibHandleとOrgHandleの2つのメモリハンドルの解像度情報が1になる場合があります。

取り込み処理を中止する場合は、イベントの中でScan.CancelプロパティをTrueに設定します。

【ImageKit7/8 ActiveXとの違い】

引数のDibHandleとOrgHandleの型が変更されました。


AirBrushSize1, AirBrushSize2, AirBrushSize3, AirBrushSize4, AirBrushSize5（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

AirBrushSize1, AirBrushSize2, AirBrushSize3, AirBrushSize4, AirBrushSize5

【機能】

イメージ編集ツールバーで使用するエアブラシの半径のサイズを設定します。

【書式】

※AirBrushSize1にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.AirBrushSize1 [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetEdit().GetAirBrushSize1()

imagekitcontrolname.GetEdit().SetAirBrushSize1(short Val)

(3)VB.NET imagekitcontrolname.Edit.AirBrushSize1 [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.AirBrushSize1 [ = short ]

【設定値】

エアブラシの半径のサイズ。（ピクセル）

デフォルトはAirBrushSize1が4、AirBrushSize2が8、AirBrushSize3が12、AirBrushSize4が16、AirBrushSize5が20です。

【解説】

5パターンのエアブラシのサイズを定義できます。

設定したサイズはイメージ編集ツールバーに反映されます。

【値の設定】

実行時

【値の参照】

実行時


AirBrushSize（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

AirBrushSize

【機能】

イメージ編集ツールバーで使用するエアブラシを選択します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.AirBrushSize [ = AirBrushSizeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetAirBrushSize()

imagekitcontrolname.GetEdit().SetAirBrushSize(long Val)

(3)VB.NET imagekitcontrolname.Edit.AirBrushSize [ = ImageKit10(A)Lib.AirBrushSizeConstants ]

(4)C#.NET imagekitcontrolname.Edit.AirBrushSize [ = ImageKit10(A)Lib.AirBrushSizeConstants ]

※ANSI版がImageKit10ALib、Unicode版がImageKit10Libとなります。

【設定値】

値 | 説明
0 | エアブラシ1（AirBrushSize1）
1 | エアブラシ2（AirBrushSize2）
2 | エアブラシ3（AirBrushSize3）
3 | エアブラシ4（AirBrushSize4）
4 | エアブラシ5（AirBrushSize5）

定数(ikAirBrushSize1 = 0, ikAirBrushSize= 1, ikAirBrushSize3 = 2, ikAirBrushSize4 = 3, ikAirBrushSize5 = 4)を使用することも可能です。

【解説】

コードでエアブラシを切り替える場合に使用します。0の場合は、AirBrushSize1プロパティのサイズが有効になります。

ただし、イメージ編集ツールバーのオブジェクトを選択した場合は、そちらのサイズが有効になります。

【値の設定】

実行時

【値の参照】

実行時


Alpha1, Alpha2（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Alpha1, Alpha2

【機能】

TextColor1, TextColor2プロパティのアルファ値を設定します。

【書式】

※Alpha1にて説明（Alpha2も同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.Alpha1 [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetAlpha1(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Alpha1 [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.Alpha1 [ = short ]

【設定値】

Alpha1はTextColor1のアルファ値です（0～255）。

Alpha2はTextColor2のアルファ値です（0～255）。

【解説】

255の場合、完全不透明です。設定した値はDrawStringメソッドで有効となります。

【値の設定】

実行時

【値の参照】

不可


Altitude0, Altitude1, LatitudeD0, LatitudeD1, LatitudeM0, LatitudeM1, LatitudeS0, LatitudeS1, LongitudeD0, LongitudeD1, LongitudeM0, LongitudeM1, LongitudeS0, LongitudeS1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

Altitude0, Altitude1, LatitudeD0, LatitudeD1, LatitudeM0, LatitudeM1, LatitudeS0, LatitudeS1, LongitudeD0, LongitudeD1, LongitudeM0, LongitudeM1, LongitudeS0, LongitudeS1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※Altitude0にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.Altitude0 [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetAltitude0()

imagekitcontrolname.GetFile().GetExif().SetAltitude0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.Altitude0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.Altitude0 [ = int ]

【設定値】

Altitude0は、高度（ｍ）の分子

Altitude1は、高度（ｍ）の分母

高度 = Altitude0 / Altitude1

LatitudeD0は、緯度-度の分子

LatitudeD1は、緯度-度の分母

緯度-度 = LatitudeD0 / LatitudeD1

LatitudeM0は、緯度-分の分子

LatitudeM1は、緯度-分の分母

緯度-分 = LatitudeM0 / LatitudeM1

LatitudeS0は、緯度-秒の分子

LatitudeS1は、緯度-秒の分母

緯度-秒 = LatitudeS0 / LatitudeS1

LongitudeD0は、経度-度の分子

LongitudeD1は、経度-度の分母

経度-度 = LongitudeD0 / LongitudeD1

LongitudeM0は、経度-分の分子

LongitudeM1は、経度-分の分母

経度-分 = LongitudeM0 / LongitudeM1

LongitudeS0は、経度-秒の分子

LongitudeS1は、経度-秒の分母

経度-秒 = LongitudeS0 / LongitudeS1

【解説】

ExifのGPSに関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


AltitudeRef（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

AltitudeRef

【機能】

高度の基準を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.AltitudeRef [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetAltitudeRef()

magekitcontrolname.GetFile().GetExif().SetAltitudeRef(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.AltitudeRef [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.AltitudeRef [ = short ]

【設定値】

高度の基準

基準が海抜であり高度が海抜よりも高い場合は0、高度が海抜よりも低い場合は1。基準単位はメートル。

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

ExifのGPSに関するタグです。

【値の設定】

実行時

【値の参照】

実行時


AntiAlias, AntiAliasVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

AntiAlias, AntiAliasVariant

【機能】

ラスタイメージのエッジを滑らかにします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.AntiAlias(x As Long, y As Long, Points As Long)

[ Boolean = ]imagekitcontrolname.Effect.AntiAliasVariant(x As Variant, y As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().AntiAlias(long *x, long *y, long Points)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.AntiAlias(ByRef x As Integer, ByRef y As Integer, Points As Integer)

[ Boolean = ]imagekitcontrolname.Effect.AntiAliasVariant(ByRef x As Object, ByRef y As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.AntiAlias(ref int x, ref int y, int Points)

[ bool = ]imagekitcontrolname.Effect.AntiAliasVariant(ref object x, ref object y)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） AntiAlias (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える AntiAliasVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（AntiAliasのみ）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、AntiAliasVariantメソッドをご使用ください。


ApertureValue0, ApertureValue1, BrightnessValue0, BrightnessValue1, ExposureBiasValue0, ExposureBiasValue1, MaxApertureValue0, MaxApertureValue1, ShutterSpeedValue0, ShutterSpeedValue1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ApertureValue0, ApertureValue1, BrightnessValue0, BrightnessValue1, ExposureBiasValue0, ExposureBiasValue1, MaxApertureValue0, MaxApertureValue1, ShutterSpeedValue0, ShutterSpeedValue1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※ApertureValue0にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.ApertureValue0 [ = Long ]

(2)Visual C++ [long = ]imagekitcontrolname.GetFile().GetExif().GetApertureValue0()

imagekitcontrolname.GetFile().GetExif().SetApertureValue0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.ApertureValue0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.ApertureValue0 [ = int ]

【設定値】

ApertureValue0は、レンズの絞り値の分子

ApertureValue1は、レンズの絞り値の分母

レンズの絞り値（単位はAPEX値） = ApertureValue0 / ApertureValue1

BrightnessValue0は、輝度値の分子

BrightnessValue1は、輝度値の分母

輝度値（単位はAPEX値） = BrightnessValue0 / BrightnessValue1

一般的な記載範囲は-99.99から99.99です。

ExposureBiasValue0は、露光補正値の分子

ExposureBiasValue1は、露光補正値の分母

露光補正値（単位はAPEX値） = ExposureBiasValue0 / ExposureBiasValue1

一般的な記載範囲は-99.99から99.99です。

MaxApertureValue0は、レンズの最小F値の分子

MaxApertureValue1は、レンズの最小F値の分母

レンズの最小F値（単位はAPEX値） = MaxApertureValue0 / MaxApertureValue1

一般的な記載範囲は00.00から99.99です。

ShutterSpeedValue0は、シャッタースピードの分子

ShutterSpeedValue1は、シャッタースピードの分母

シャッタースピード（単位はAPEX値） = ShutterSpeedValue0 / ShutterSpeedValue1

※APEXはAdditive System of Photographic Exposureの略

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Appearance（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Appearance

【機能】

イメージキットコントロールの縁の表示を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Appearance [ = AppearanceConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetAppearance()

imagekitcontrolname.SetAppearance(long Val)

(3)VB.NET imagekitcontrolname.Appearance [ = ImageKit10(A)Lib.AppearanceConstants ]

(4)C#.NET imagekitcontrolname.Appearance [ = ImageKit10(A)Lib.AppearanceConstants ]

※ANSI版がImageKit10ALib、Unicode版がImageKit10Libとなります。

【設定値】

値 | 説明
0 | Flat
1 | 凹
2 | 凸

定数(ikFlat = 0, ikLowered = 1, ikRaised = 2)を使用することも可能です。

【解説】

BorderVisibleプロパティがTrueの場合に有効です。

0(ikFlat)の場合、BorderColorプロパティに設定されている色で縁を描画します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Appearance（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Appearance

【機能】

サムネイルコントロールの縁の表示を設定します。

【書式】

(1)Visual Basic thumbcontrolname.Appearance [ = AppearanceConstants ]

(2)Visual C++ [ long = ]thumbcontrolname.GetAppearance()

thumbcontrolname.SetAppearance(long Val)

(3)VB.NET thumbcontrolname.Appearance [ = ImageKit10Thumb(A)Lib.AppearanceConstants ]

(4)C#.NET thumbcontrolname.Appearance [ = ImageKit10Thumb(A)Lib.AppearanceConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | Flat
1 | 凹
2 | 凸

定数(ikFlat = 0, ikLowered = 1, ikRaised = 2)を使用することも可能です。

【解説】

BorderVisibleプロパティがTrueの場合に有効です。

0(ikFlat)の場合、BorderColorプロパティに設定されている色で縁を描画します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Appearance（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

Appearance

【機能】

プレイコントロールの縁の表示を設定します。

【書式】

(1)Visual Basic playcontrolname.Appearance [ = AppearanceConstants ]

(2)Visual C++ [ long = ]playcontrolname.GetAppearance()

playcontrolname.SetAppearance(long Val)

(3)VB.NET playcontrolname.Appearance [ = ImageKit10WebCamera(A)Lib.AppearanceConstants ]

(4)C#.NET playcontrolname.Appearance [ = ImageKit10WebCamera(A)Lib.AppearanceConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | Flat
1 | 凹
2 | 凸

定数(ikFlat = 0, ikLowered = 1, ikRaised = 2)を使用することも可能です。

【解説】

BorderVisibleプロパティがTrueの場合に有効です。

0(ikFlat)の場合、BorderColorプロパティに設定されている色で縁を描画します。


Appearance（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

Appearance

【機能】

プレビューコントロールの縁の表示を設定します。

【書式】

(1)Visual Basic previewcontrolname.Appearance [ = AppearanceConstants ]

(2)Visual C++ [ long = ]previewcontrolname.GetAppearance()

previewcontrolname.SetAppearance(long Val)

(3)VB.NET previewcontrolname.Appearance [ = ImageKit10WebCamera(A)Lib.AppearanceConstants ]

(4)C#.NET previewcontrolname.Appearance [ = ImageKit10WebCamera(A)Lib.AppearanceConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | Flat
1 | 凹
2 | 凸

定数(ikFlat = 0, ikLowered = 1, ikRaised = 2)を使用することも可能です。

【解説】

BorderVisibleプロパティがTrueの場合に有効です。

0(ikFlat)の場合、BorderColorプロパティに設定されている色で縁を描画します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Appearance（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

Appearance

【機能】

レコードコントロールの縁の表示を設定します。

【書式】

(1)Visual Basic recordcontrolname.Appearance [ = AppearanceConstants ]

(2)Visual C++ [ long = ]recordcontrolname.GetAppearance()

recordcontrolname.SetAppearance(long Val)

(3)VB.NET recordcontrolname.Appearance [ = ImageKit10WebCamera(A)Lib.AppearanceConstants ]

(4)C#.NET recordcontrolname.Appearance [ = ImageKit10WebCamera(A)Lib.AppearanceConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | Flat
1 | 凹
2 | 凸

定数(ikFlat = 0, ikLowered = 1, ikRaised = 2)を使用することも可能です。

【解説】

BorderVisibleプロパティがTrueの場合に有効です。

0(ikFlat)の場合、BorderColorプロパティに設定されている色で縁を描画します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Application（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

Application

【機能】

アプリケーション名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.Application [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetApplication()

imagekitcontrolname.GetFile().GetPDF().SetApplication(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.Application [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.Application [ = String ]

【設定値】

アプリケーション名。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティで設定した文字列はPDFの文書のプロパティの概要の「アプリケーション」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


Arc（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Arc

【機能】

弧を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Arc(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x1 As Long, y1 As Long, x2 As Long, y2 As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Arc(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x1, long y1, long x2, long y2, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Arc(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Arc(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x1, int y1, int x2, int y2, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
x1, y1 | 弧の始点のx, y座標
x2, y2 | 弧の終点のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した矩形に含まれる楕円弧を2点間で描画します。始点と終点が弧の上にある必要はなく、指定の点から境界矩形までの中心までの直線が計算され、弧とその直線との交点が用いられます。

（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorプロパティに値を設定する必要があります。

BackColorプロパティはTransparentプロパティがFalseでペンが実線以外の場合に有効です。

left, top, right, bottom, x1, y1, x2, y2をピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottom, x1, y1, x2, y2を0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


Author（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

Author

【機能】

作成者名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.Author [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetAuthor()

imagekitcontrolname.GetFile().GetPDF().SetAuthor(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.Author [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.Author [ = String ]

【設定値】

作成者名。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティで設定した文字列はPDFの文書のプロパティの概要の「作成者」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


AutoBright（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

AutoBright

【機能】

開発者作成UIで取り込む時の明るさを自動で処理するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.AutoBright [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetScan().SetAutoBright (BOOL Val)

(3)VB.NET imagekitcontrolname.Scan.AutoBright [ = Boolean ]

(4)C#.NET imagekitcontrolname.Scan.AutoBright [ = bool ]

【設定値】

値 | 説明
True | 明るさを手動で処理する
False | 明るさを自動で処理する

【解説】

デフォルトはFalseです。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドやGetCapEnum(Variant)メソッドで判定できます。データソースがTWAIN2.0以降に対応している場合は、GetCapEnum(Variant)メソッドサポートする値を取得できます。

当プロパティの値がFalseまたはデータソースが機能をサポートしてない場合は、Brightnessプロパティの値が有効になります。

【値の設定】

実行時

【値の参照】

不可


AutoDisplay（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

AutoDisplay

【機能】

自動でイメージを表示するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.AutoDisplay [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetAutoDisplay()

imagekitcontrolname.SetAutoDisplay(BOOL Val)

(3)VB.NET imagekitcontrolname.AutoDisplay [ = Boolean ]

(4)C#.NET imagekitcontrolname.AutoDisplay [ = bool ]

【設定値】

値 | 説明
True | 自動でイメージを表示する
False | 自動でイメージを表示しない

【解説】

デフォルトはTrueです。

Trueの場合は、ファイルを読み込むなどしてImageHandleプロパティなどが設定されると自動で該当するイメージを表示します。Falseの場合は、ファイルを読み込むなどしてImageHandleプロパティなどが設定されても該当するイメージは表示されません。表示する場合は、DisplayImageメソッドを実行する必要があります（表示モードはDisplayModeプロパティで設定）。

関連する項目としてShowInDisp, ShowInMagnifier, ShowInPanWindowプロパティも参照してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


AutoSelectImage, AutoSelectImageVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

AutoSelectImage, AutoSelectImageVariant

【機能】

指定したRGB値に近似している部分を選択し、ラスタイメージとマスクを生成します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.AutoSelectImage(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer, Mode As Integer, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.AutoSelectImageVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer, Mode As Integer, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().AutoSelectImage(long *x, long *y, long Points, short Red, short Green, short Blue, short Mode, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.AutoSelectImage(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short, Mode As Short, Level As Short)

[ Boolean = ]imagekitcontrolname.Effect.AutoSelectImageVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short, Mode As Short, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.AutoSelectImage(ref int x, ref int y, int Points, short Red, short Green, short Blue, short Mode, short Level)

[ bool = ]imagekitcontrolname.Effect.AutoSelectImageVariant(ref object x, ref object y, short Red, short Green, short Blue, short Mode, short Level)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） AutoSelectImage (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える AutoSelectImageVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（AutoSelectImageのみ）
Red | 選択対象となる赤の値(0～255)
Green | 選択対象となる緑の値(0～255)
Blue | 選択対象となる青の値(0～255)
Mode | 比較モード（0:RGB, 1:CrCb, 2:Y）
Level | 許容誤差（0～255）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。

イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です（SelectModeプロパティが0(ikEffectMask)の場合はエラーになります）。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

Modeが0以外(CrCb:色相 Y:輝度)の場合には、設定されたRGB値をYCrCbに変換して比較します。

Level（許容誤差）は指定したRGBにどの程度近いピクセルを選択するかを制御します。値が0の場合は、指定したRGB値そのものを選択し、値を大きくすると許容誤差が大きくなり、より多くのピクセルを選択します。

成功した場合は、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に、マスクイメージのメモリハンドルはMaskImageHandleプロパティに設定されます。指定したRGB値が選択できなかった場合は黒のイメージが返されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、AutoSelectImageVariantメソッドをご使用ください。


AutoSize（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

AutoSize

【機能】

コントロールの大きさを画像サイズに合わせるかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.AutoSize [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetAutoSize()

imagekitcontrolname.SetAutoSize(BOOL Val)

(3)VB.NET imagekitcontrolname.CtlAutoSize [ = Boolean ]

(4)C#.NET imagekitcontrolname.CtlAutoSize [ = bool ]

【設定値】

値 | 説明
True | コントロールの大きさを画像サイズに合わせる
False | デザイン時のサイズもしくは実行時に設定したサイズ（Height, Widthプロパティ）を維持

【解説】

デフォルトはFalseです。

Trueの場合は、画像サイズに合わせてコントロールの右上と右下の位置を変更します。

Visual Basic.NETやVisual C#.NETで使用する場合は、AutoSizeをCtlAutoSizeと記述してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BackColor, BorderColor（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

BackColor, BorderColor

【機能】

色情報を取得または設定します。

【書式】

※BackColorにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.BackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]imagekitcontrolname.GetBackColor()

imagekitcontrolname.SetBackColor(unsigned long Val)

(3)VB.NET imagekitcontrolname.BackColor [ = Color ]

(4)C#.NET imagekitcontrolname.BackColor [ = Color ]

【設定値】

BackColorはイメージキットコントロールの背景色。

BorderColorはイメージキットコントロールの縁の色。

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

BorderColorプロパティはAppearanceプロパティが0(ikFlat)でBorderVisibleプロパティがTrueの場合に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BackColor, BorderColor（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

BackColor, BorderColor

【機能】

色情報を設定します。

【書式】

※BackColorにて説明（BorderColorも同様な使い方）

(1)Visual Basic thumbcontrolname.BackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]thumbcontrolname.GetBackColor()

thumbcontrolname.SetBackColor(unsigned llong Val)

(3)VB.NET thumbcontrolname.BackColor [ = Color ]

(4)C#.NET thumbcontrolname.BackColor [ = Color ]

【設定値】

BackColorはサムネイルコントロールの背景色。

BorderColorはサムネイルコントロールの縁の色。

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

BorderColorプロパティはAppearanceプロパティが0(ikFlat)でBorderVisibleプロパティがTrueの場合に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BackColor, BrushColor, PenColor, TextColor1, TextColor2（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

BackColor, BrushColor, PenColor, TextColor1, TextColor2

【機能】

ブラシ、ペン、テキストのそれぞれの色情報を設定します。

【書式】

※BackColorにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.BackColor [ = OLE_COLOR ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetBackColor(unsigned long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.BackColor [ = UInteger ]

(4)C#.NET imagekitcontrolname.PrintDraw.BackColor [ = uint ]

【設定値】

BackColorはペンが実線以外の場合の線と線の間の色、およびブラシがハッチパターンの場合の背景色。

BrushColorは塗りつぶすブラシの色。

PenColorは描画するペンの色。

TextColor1:

DrawText, TextOutメソッドではテキストの描画色を表します。

DrawStringメソッドではブラシの種類により意味合いが異なります。

ソリッドブラシ：ブラシの色

ハッチブラシ：描画される線の色

グラデーションブラシ:線形グラデーションの開始色

※テクスチャブラシでは無効

TextColor2:

DrawText, TextOutメソッドではテキストの背景色を表します。

DrawStringメソッドではブラシの種類により意味合いが異なります。

ハッチブラシ：線間の領域の色

グラデーションブラシ:線形グラデーションの終了色

※ソリッドブラシとテクスチャブラシでは無効

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

デバイスが設定した色を正確に表現できない場合は、近似の色が用いられます。

【値の設定】

実行時

【値の参照】

不可

【ImageKit7/8 ActiveXとの違い】

BrushColor, PenColor, TextColor1, TextColor2プロパティの型が変更されました。


BackColor, ForeColor（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

BackColor, ForeColor

【機能】

イメージ編集ツールバーで使用する色情報を設定します。

【書式】

※BackColorにて説明（ForeColorも同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.BackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]imagekitcontrolname.GetEdit().GetBackColor()

imagekitcontrolname.GetEdit().SetBackColor(unsigned long Val)

(3)VB.NET imagekitcontrolname.Edit.BackColor [ = UInteger ]

(4)C#.NET imagekitcontrolname.Edit.BackColor [ = uint ]

【設定値】

BackColorは背景色。

ForeColorは前景色。

【解説】

値を設定する場合は、RGB(Red, Green, Blue)の戻り値などを与えます。

【値の設定】

実行時

【値の参照】

実行時


BackColor,BorderColor（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

BackColor, BorderColor

【機能】

色情報を設定します。

【書式】

※BackColorにて説明（BorderColorも同様な使い方）

(1)Visual Basic playcontrolname.BackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]playcontrolname.GetBackColor()

playcontrolname.SetBackColor(unsigned llong Val)

(3)VB.NET playcontrolname.BackColor [ = Color ]

(4)C#.NET playcontrolname.BackColor [ = Color ]

【設定値】

BackColorはプレイコントロールの背景色。

BorderColorはプレイコントロールの縁の色。

【解説】

値を設定する場合は、RGB(Red, Green, Blue)の戻り値などを与えます。

BorderColorプロパティはAppearanceプロパティが0(ikFlat)でBorderVisibleプロパティがTrueの場合に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BackColor,BorderColor（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

BackColor, BorderColor

【機能】

色情報を設定します。

【書式】

※BackColorにて説明（BorderColorも同様な使い方）

(1)Visual Basic previewcontrolname.BackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]previewcontrolname.GetBackColor()

previewcontrolname.SetBackColor(unsigned llong Val)

(3)VB.NET previewcontrolname.BackColor [ = Color ]

(4)C#.NET previewcontrolname.BackColor [ = Color ]

【設定値】

BackColorはプレビューコントロールの背景色。

BorderColorはプレビューコントロールの縁の色。

【解説】

値を設定する場合は、RGB(Red, Green, Blue)の戻り値などを与えます。

BorderColorプロパティはAppearanceプロパティが0(ikFlat)でBorderVisibleプロパティがTrueの場合に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BackColor,BorderColor（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

BackColor, BorderColor

【機能】

色情報を設定します。

【書式】

※BackColorにて説明（BorderColorも同様な使い方）

(1)Visual Basic recordcontrolname.BackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]recordcontrolname.GetBackColor()

recordcontrolname.SetBackColor(unsigned llong Val)

(3)VB.NET recordcontrolname.BackColor [ = Color ]

(4)C#.NET recordcontrolname.BackColor [ = Color ]

【設定値】

BackColorはレコードコントロールの背景色。

BorderColorはレコードコントロールの縁の色。

【解説】

値を設定する場合は、RGB(Red, Green, Blue)の戻り値などを与えます。

BorderColorプロパティはAppearanceプロパティが0(ikFlat)でBorderVisibleプロパティがTrueの場合に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BackgroundImageFile（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

BackgroundImageFile

【機能】

イメージキットコントロールの背景に表示するイメージファイル名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.BackgroundImageFile [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetBackgroundImageFile()

imagekitcontrolname.SetBackgroundImageFile(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.BackgroundImageFile [ = String ]

(4)C#.NET imagekitcontrolname.BackgroundImageFile [ = string ]

【設定値】

コントロールの背景に表示するイメージファイル名。

【解説】

TransparentプロパティがTrueの場合に有効です。

「背景イメージの規則」

・基本イメージを表示する際にその下部に表示されます。

・サイズが基本イメージよりも大きい場合は、基本イメージのサイズに合わせられます。

コード例：

Visual Basic

'背景イメージの設定

ImageKit1.BackgroundImageFile = "C:\BackImage.bmp"

'基本イメージの透明色を白色に設定

ImageKit1.TransBlue = 255

ImageKit1.TransGreen = 255

ImageKit1.TransRed = 255

ImageKit1.Transparent = True

【値の設定】

実行時

【値の参照】

実行時


BackgroundImageVectorHeight, BackgroundImageVectorWidth（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

BackgroundImageVectorHeight, BackgroundImageVectorWidth

【機能】

イメージキットコントロールの背景に表示するイメージファイルがベクトル形式の場合、読み込み時の高さと幅を取得または設定します。

【書式】

※BackgroundImageVectorHeightにて説明（BackgroundImageVectorWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.BackgroundImageVectorHeight [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetBackgroundImageVectorHeight()

imagekitcontrolname.SetBackgroundImageVectorHeight(long Val)

(3)VB.NET imagekitcontrolname.BackgroundImageVectorHeight [ = Integer ]

(4)C#.NET imagekitcontrolname.BackgroundImageVectorHeight [ = int ]

【設定値】

コントロールの背景に表示するベクトルイメージの縦横のピクセル数。

BackgroundImageVectorHeightはイメージの高さ（ピクセル）、デフォルトは0。

BackgroundImageVectorWidthはイメージの幅（ピクセル）、デフォルトは0。

【解説】

BackgroundImageFile プロパティに設定されたファイルがDXF, SXFの場合

BackgroundImageVectorHeightもしくはBackgroundImageVectorWidthが0以下の場合は高さ600幅800の値を使用します。

BackgroundImageFile プロパティに設定されたファイルがEMF, SVG, WMFの場合

BackgroundImageVectorHeightもしくはBackgroundImageVectorWidthが0以下の場合はファイルに格納されているサイズを使用します。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(BackgroundImageVectorWidth * BackgroundImageVectorHeight)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。

ベクトルイメージを背景とする場合はBackgroundImageVectorHeightプロパティとBackgroundImageVectorWidthプロパティをBackgroundImageFileプロパティよりも先に設定する必要があります。

コード例：

Visual Basic

'背景イメージの設定

ImageKit1.BackgroundImageVectorWidth = 640

ImageKit1.BackgroundImageVectorHeight = 480

ImageKit1.BackgroundImageFile = "C:\BackImage.emf"

'基本イメージの透明色を白色に設定

ImageKit1.TransBlue = 255

ImageKit1.TransGreen = 255

ImageKit1.TransRed = 255

ImageKit1.Transparent = True

【値の設定】

実行時

【値の参照】

実行時


BeforeScan（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

BeforeScan

【機能】

スキャンデバイスからイメージを1枚取り込む前に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_BeforeScan(ByVal Width As Long, ByVal Height As Long, ByVal ImageCount As Long)

(2)Visual C++

OnBeforeScan imagekitcontrolname(long Width, long Height, long ImageCount)

(3)VB.NET

imagekitcontrolname_BeforeScan(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_BeforeScanEvent)

(4)C#.NET

imagekitcontrolname_BeforeScan(object sender, AxImageKit10(A)Lib._IImageKitEvents_BeforeScanEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Width | 転送されるイメージの幅（ピクセル）
Height | 転送されるイメージの高さ（ピクセル）
ImageCount | 取り込もうとするイメージの順番（1～）

※VB.NET/C#.NETでは二番目の引数eにWidthなどが含まれます（先頭の文字が小文字になります）。

【解説】

イベント内で実際に転送されるイメージの情報をScan.XResolution, Scan.YResolution, Scan.BitDepth, Scan.PixelType, Scan.Compressionプロパティで参照できます。

Scan.PaperSizeプロパティに1000(ikScanUndefinedSize)以上を設定するとWidthとHeightが-1になる場合があります。また、実際の原稿サイズよりもWidth, Heightとも大きくなる場合があります。

Scan.PixelTypeプロパティに1000(ikScanPixelAutomation)を設定するとBitDepthとPixelTypeが実際に取り込んだ画像と異なる場合があります。

取り込み処理を中止する場合は、イベントの中でScan.CancelプロパティをTrueに設定します。

Scan.XResolution, Scan.YResolution

TWAINの仕様では取り込み単位（インチやcmなど）に依存した値になりますが、データソースによっては取り込み単位に関わらず、常にDPIとなるものがあります。また、ピクセル単位で取り込むと1が設定される場合があります。

Scan.BitDepth

12, 14ビットグレースケールは16となり、36, 42ビットカラーは48となります。

Scan.Compression

ファイル転送およびメモリ転送の際に使用されます。（ネイティブ転送では意味を持ちません。）


BitBlt（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

BitBlt

【機能】

コピー元からコピー先のデバイスコンテキストへ、指定された矩形内の各ピクセルの色データをコピーします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.BitBlt(hDCDst As LONG_PTR, XDst As Long, YDst As Long, Width As Long, Height As Long, hDCSrc As LONG_PTR, XSrc As Long, YSrc As Long, dwRop As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.BitBlt(LONG_PTR hDCDst, long XDst, long YDst, long Width, long Height, LONG_PTR hDCSrc, long XSrc, long YSrc, long dwRop)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.BitBlt(hDCDst As Integer(x86) or Long(x64), XDst As Integer, YDst As Integer, Width As Integer, Height As Integer, hDCSrc As Integer(x86) or Long(x64), XSrc As Integer, YSrc As Integer, dwRop As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.BitBlt(int(x86) or long(x64) hDCDst, int XDst, int YDst, int Width, int Height, int(x86) or long(x64) hDCSrc, int XSrc, int YSrc, int dwRop)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDCDst | コピー先のデバイスコンテキスト
XDst | コピー先矩形の左上隅のx座標（ピクセル）
YDst | コピー先矩形の左上隅のy座標（ピクセル）
Width | コピー先矩形の幅（ピクセル）
Height | コピー先矩形の高さ（ピクセル）
hDCSrc | コピー元のデバイスコンテキスト
XSrc | コピー元矩形の左上隅のx座標（ピクセル）
YSrc | コピー元矩形の左上隅のy座標（ピクセル）
dwRop | ラスタオペレーションコード

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ラスタオペレーションモードはデバイスコンテキストにどのようにコピーするかを指定します。

値 | 説明
0x00000042 | コピー先の矩形を黒色で塗りつぶします。 (BLACKNESS)
0x00550009 | コピー先の矩形の色を反転します。 (DSTINVERT)
0x00C000CA | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (MERGECOPY)
0x00BB0226 | 論理OR演算子を使って、コピー元の色を反転した色と、コピー先の色を組み合わせます。(MERGEPAINT)
0x00330008 | コピー元の色を反転して、コピー先へコピーします。 (NOTSRCCOPY)
0x001100A6 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせ、さらに反転します。(NOTSRCERASE)
0x00F00021 | 指定したパターンをコピー先へコピーします。 (PATCOPY)
0x005A0049 | 論理XOR演算子を使って、指定したパターンの色と、コピー先の色を組み合わせます。(PATINVERT)
0x00FB0A09 | 論理OR演算子を使って、指定したパターンの色と、コピー元の色を反転した色を組み合わせます。 さらに論理OR演算子を使って、その結果と、コピー先の色を組み合わせます。 (PATPAINT)
0x008800C6 | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCAND)
0x00CC0020 | コピー元の矩形をコピー先の矩形へそのままコピーします。 (SRCCOPY)
0x00440328 | 論理AND演算子を使って、コピー先の色を反転した色と、コピー元の色を組み合わせます。(SRCERASE)
0x00660046 | 論理XOR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCINVERT)
0x00EE0086 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCPAINT)
0x00FF0062 | コピー先の矩形を白色で塗りつぶします。 (WHITENESS)

通常は0x00CC0020(SRCCOPY)を指定します。

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

（）内の説明はWindowsAPIで使用する定数と同じ意味です。

【ImageKit7/8 ActiveXとの違い】

引数のhDCDstとhDCSrcの型が変更されました。


BitCount（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

BitCount

【機能】

ImageHandleプロパティに設定されたイメージの1ピクセルあたりのビット数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).BitCount [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetLayer(Index).GetBitCount()

(3)VB.NET imagekitcontrolname.get_Layer(Index).BitCount [ = Short ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).BitCount[ = short ]

※Indexは0～99

【参照値】

イメージの1ピクセルあたりのビット数。

値 | 説明
1 | 2値
4 | 16色
8 | 256色
16 | 16ビットカラー
24 | 24ビットカラー
32 | 32ビットカラー

【解説】

ImageHandleプロパティに値が設定されると、BitCountプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


BitCount（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

BitCount

【機能】

ImageHandleプロパティに設定されたイメージの1ピクセルあたりのビット数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.BitCount [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetBitCount()

(3)VB.NET imagekitcontrolname.BitCount [ = Short ]

(4)C#.NET imagekitcontrolname.BitCount [ = short ]

【参照値】

イメージの1ピクセルあたりのビット数。

値 | 説明
1 | 2値
4 | 16色
8 | 256色
16 | 16ビットカラー
24 | 24ビットカラー
32 | 32ビットカラー

【解説】

ImageHandleプロパティに値が設定されると、BitCountプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


BitCount（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

BitCount

【機能】

プレビュー画像の1ピクセルあたりのビット数を示します。

【書式】

(1)Visual Basic previewcontrolname.BitCount [ = Integer ]

(2)Visual C++ [ short = ]previewcontrolname.GetBitCount()

(3)VB.NET previewcontrolname.BitCount [ = Short ]

(4)C#.NET previewcontrolname.BitCount [ = short ]

【参照値】

1ピクセルあたりのビット数。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

【値の設定】

不可

【値の参照】

実行時


BitCount（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

BitCount

【機能】

キャプチャー画像の1ピクセルあたりのビット数を示します。

【書式】

(1)Visual Basic recordcontrolname.BitCount [ = Integer ]

(2)Visual C++ [ short = ]recordcontrolname.GetBitCount()

(3)VB.NET recordcontrolname.BitCount [ = Short ]

(4)C#.NET recordcontrolname.BitCount [ = short ]

【参照値】

1ピクセルあたりのビット数。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

【値の設定】

不可

【値の参照】

実行時


BitDepthReduction（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

BitDepthReduction

【機能】

開発者作成UIで取り込む時のイメージの色深度の減少方法を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.BitDepthReduction [ = BitDepthReductionConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetBitDepthReduction(long Val)

(3)VB.NET imagekitcontrolname.Scan.BitDepthReduction [ = ImageKit10(A)Lib.BitDepthReductionConstants ]

(4)C#.NET imagekitcontrolname.Scan.BitDepthReduction [ = ImageKit10(A)Lib.BitDepthReductionConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | しきい値
1 | ハーフトーン
2 | カスタムハーフトーン *1
3 | 拡散
4 | 動的しきい値

*1 ImageKit10ではサポートしておりません。

定数(ikBitDepthReductionThreshold = 0, ikBitDepthReductionHalfTone = 1, ikBitDepthReductionCustomHalfTone = 2, ikBitDepthReductionDiffusion = 3, ikBitDepthReductionDynamicThreshold = 4)を使用することも可能です。

【解説】

UiModeプロパティが2(ikScanNONUI)PixelTypeプロパティが0(ikScanPixelBW)の場合に有効です。

ただし、デジタルカメラからの取り込みの場合は無効です。

BitDepthReductionプロパティが0(ikBitDepthReductionThreshold)の場合はThresholdプロパティ（データソースによってはBrightnessプロパティ）が有効となり、1(ikBitDepthReductionHalfTone)の場合はHalfTone, Brightness, Contrastプロパティが有効です。

データソースがサポートしている値はGetCapEnum(Variant)メソッドで取得できます。仮にデータソースがBitDepthReductionの機能をサポートしていなくても、ThresholdもしくはHalfToneのどちらかをサポートしている場合は、このプロパティに0(ikBitDepthReductionThreshold)もしくは1(ikBitDepthReductionHalfTone)を設定してください。

【値の設定】

実行時

【値の参照】

不可


BitDepth（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

BitDepth

【機能】

開発者作成UIで取り込む時の画素ビット数を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.BitDepth [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetScan().GetBitDepth()

imagekitcontrolname.GetScan().SetBitDepth(short Val)

(3)VB.NET imagekitcontrolname.Scan.BitDepth [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.BitDepth [ = short ]

【設定値】

PixelTypeプロパティが0(ikScanPixelBW)の場合は1。

PixelTypeプロパティが1(ikScanPixelGray)の場合は4, 8, 12, 14, 16のいずれか。

PixelTypeプロパティが2(ikScanPixelRGB)の場合は24, 36, 42, 48のいずれか。

PixelTypeプロパティが3(ikScanPixelPalette)の場合は4, 8のいずれか。

PixelTypeプロパティが1000(ikScanPixelAutomation)の場合は24。

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

設定可能な値については、GetBitDepth(Variant)メソッドで取得できます。

12, 14, 16もしくは36, 42, 48を設定して取り込みを行う場合は、TranferModeプロパティを2(ikScanMemory)に設定してください。データソースでサポートしている値にも関わらずエラーとなる場合は、0を設定してください。0の場合はPixelTypeプロパティに応じたデフォルト値を使用します。

【値の設定】

実行時

【値の参照】

実行時


BitmapFromDib（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

BitmapFromDib

【機能】

デバイス独立ビットマップ（DIB）からデバイス依存ビットマップ（DDB）に変換します。

【書式】

(1)Visual Basic

[LONG_PTR = ]imagekitcontrolname.BitmapFromDib(ImageHandle As LONG_PTR)

(2)Visual C++

[ LONG_PTR = ]imagekitcontrolname.BitmapFromDib(LONG_PTR ImageHandle)

(3)VB.NET

[ Integer(x86) or Long(x64) = ]imagekitcontrolname.BitmapFromDib(ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ int(x86) or long(x64) = ]imagekitcontrolname.BitmapFromDib(int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
ImageHandle | ラスタイメージのメモリハンドル

【戻り値】

ビットマップハンドル（実行に失敗した場合は0もしくはNULL）

【解説】

ラスタイメージが対象です（ベクトルイメージは不可）。

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

【ImageKit7/8 ActiveXとの違い】

引数と戻り値の型が変更されました。


BitRate（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

BitRate

【機能】

ビットレートを取得または設定します。

【書式】

(1)Visual Basic recordcontrolname.BitRate [ = Long ]

(2)Visual C++ [ long = ]recordcontrolname.GetBitRate()

recordcontrolname.SetBitRate(long Val)

(3)VB.NET recordcontrolname.BitRate [ = Integer ]

(4)C#.NET recordcontrolname.BitRate [ = int ]

【設定値】

ビットレート（ビット/秒）。

【解説】

圧縮形式で保存する場合、ビットレートを大きくすると高画質となり、小さくすると粗くなります。

設定値はFormatプロパティが1(ikAsf)の場合に有効です。

Open, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

また、SetStreamFormatメソッドを実行する前に値を設定すると、その値が有効になります。

【値の設定】

実行時

【値の参照】

実行時


BlinkSpeed（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

BlinkSpeed

【機能】

矩形範囲選択時の選択領域の点滅速度を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.BlinkSpeed [ = BlinkSpeedConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetBlinkSpeed()

imagekitcontrolname.SetBlinkSpeed(long Val)

(3)VB.NET imagekitcontrolname.BlinkSpeed [ = ImageKit10(A)Lib.BlinkSpeedConstants ]

(4)C#.NET imagekitcontrolname.BlinkSpeed [ = ImageKit10(A)Lib.BlinkSpeedConstants ]

※ANSI版がImageKit10ALib、Unicode版がImageKit10Libとなります。

【設定値】

値 | 説明
0 | 低速
1 | 中速
2 | 高速

定数(ikSlow = 0, ikMedium = 1, ikFast = 2)を使用することも可能です。

【解説】

RectDrawプロパティがTrueで矩形領域が選択されている場合に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Blur, BlurVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Blur, BlurVariant

【機能】

ラスタイメージにぼかしを施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Blur(x As Long, y As Long, Points As Long, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.BlurVariant(x As Variant, y As Variant, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Blur(long *x, long *y, long Points, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Blur(ByRef x As Integer, ByRef y As Integer, Points As Integer, Level As Short)

[ Boolean = ]imagekitcontrolname.Effect.BlurVariant(ByRef x As Object, ByRef y As Object, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Blur(ref int x, ref int y, int Points, short Level)

[ bool = ]imagekitcontrolname.Effect.BlurVariant(ref object x, ref object y, short Level)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Blur (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える BlurVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Blurのみ）
Level | ぼかしの強さ(1～20 数が大きいほど強い)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Levelを大きくすればするほど、イメージはぼやけていきます。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティにに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、BlurVariantメソッドをご使用ください。


Blur（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

Blur

【機能】

イメージ編集ツールバーで使用するエアブラシの種類を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Blur [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetBlur()

imagekitcontrolname.GetEdit().SetBlur(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.Blur [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.Blur [ = bool ]

【設定値】

値 | 説明
True | ぼかし有り
False | ぼかし無し

【解説】

デフォルトはTrueです。

【値の設定】

実行時

【値の参照】

実行時


BorderColor（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

BorderColor

【機能】

開発者作成UIで取り込む時の境界補正色を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.BorderColor [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetBorderColor(short Val)

(3)VB.NET imagekitcontrolname.Scan.BorderColor [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.BorderColor [ = short ]

【設定値】

値 | 説明
エプソン製スキャナ用ドライバ
0 | 白色
1 | 黒色
パナソニック製スキャナ用ドライバ
0 | 周辺色（原稿端の色）
1 | 原稿背景色
2 | 白色

【解説】

エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)、Borderプロパティが1以上の場合に有効です。

補正の適用範囲はエプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバともユーザインタフェース（メーカ提供UI）で設定された値が使用されます。

【値の設定】

実行時

【値の参照】

不可


BorderDetection（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

BorderDetection

【機能】

開発者作成UIで取り込む時の自動領域切り出しの有無を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.BorderDetection [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetScan().SetBorderDetection(BOOL Val)

(3)VB.NET imagekitcontrolname.Scan.BorderDetection [ = Boolean ]

(4)C#.NET imagekitcontrolname.Scan.BorderDetection [ = bool ]

【設定値】

値 | 説明
True | 自動領域切り出しを有効
False | 自動領域切り出しを無効

【解説】

用紙サイズに応じて原稿領域を自動で切り出します。

UiModeプロパティが2(ikScanNONUI)、PaperSizeプロパティが1000(ikScanUndefinedSize)以上の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

不可


BorderVisible（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

BorderVisible

【機能】

イメージキットコントロールの縁を描画するかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.BorderVisible [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetBorderVisible()

imagekitcontrolname.SetBorderVisible(BOOL Val)

(3)VB.NET imagekitcontrolname.BorderVisible [ = Boolean ]

(4)C#.NET imagekitcontrolname.BorderVisible [ = bool ]

【設定値】

値 | 説明
True | 縁を描画する
False | 縁を描画しない

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BorderVisible（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

BorderVisible

【機能】

サムネイルコントロールの縁を描画するかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.BorderVisible [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetBorderVisible()

thumbcontrolname.SetBorderVisible(BOOL Val)

(3)VB.NET thumbcontrolname.BorderVisible [ = Boolean ]

(4)C#.NET thumbcontrolname.BorderVisible [ = bool ]

【設定値】

値 | 説明
True | 縁を描画する
False | 縁を描画しない

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BorderVisible（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

BorderVisible

【機能】

プレイコントロールの縁を描画するかどうかを設定します。

【書式】

(1)Visual Basic playcontrolname.BorderVisible [ = Boolean ]

(2)Visual C++ [ BOOL = ]playcontrolname.GetBorderVisible()

playcontrolname.SetBorderVisible(BOOL Val)

(3)VB.NET playcontrolname.BorderVisible [ = Boolean ]

(4)C#.NET playcontrolname.BorderVisible [ = bool ]

【設定値】

値 | 説明
True | 縁を描画する
False | 縁を描画しない

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BorderVisible（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

BorderVisible

【機能】

プレビューコントロールの縁を描画するかどうかを設定します。

【書式】

(1)Visual Basic previewcontrolname.BorderVisible [ = Boolean ]

(2)Visual C++ [ BOOL = ]previewcontrolname.GetBorderVisible()

previewcontrolname.SetBorderVisible(BOOL Val)

(3)VB.NET previewcontrolname.BorderVisible [ = Boolean ]

(4)C#.NET previewcontrolname.BorderVisible [ = bool ]

【設定値】

値 | 説明
True | 縁を描画する
False | 縁を描画しない

【値の設定】

デザイン時、実行時

【値の参照】

実行時


BorderVisible（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

BorderVisible

【機能】

レコードコントロールの縁を描画するかどうかを設定します。

【書式】

(1)Visual Basic recordcontrolname.BorderVisible [ = Boolean ]

(2)Visual C++ [ BOOL = ]recordcontrolname.GetBorderVisible()

recordcontrolname.SetBorderVisible(BOOL Val)

(3)VB.NET recordcontrolname.BorderVisible [ = Boolean ]

(4)C#.NET recordcontrolname.BorderVisible [ = bool ]

【設定値】

値 | 説明
True | 縁を描画する
False | 縁を描画しない

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Border（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Border

【機能】

開発者作成UIで取り込む時の境界補正を行うかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Border [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetBorder(short Val)

(3)VB.NET imagekitcontrolname.Scan.Border [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.Border [ = short ]

【設定値】

値 | 説明
エプソン製スキャナ用ドライバ（境界補正）
0 | 境界補正しない
1 | 境界補正する
パナソニック製スキャナ用ドライバ（境界削除）
0 | 境界削除しない
1 | 境界削除する – 自動モード（指定された幅まで原稿領域の縁を検出して補正）
2 | 境界削除する – 固定幅モード（指定された幅で画像の縁から一律の領域を補正）

【解説】

エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。

エプソン製スキャナ用ドライバでは「境界補正」（原稿端付近に発生する背景色の写りこみや影の補正、または原稿端への枠の付加）、パナソニック製スキャナ用ドライバでは「境界削除」（読み取りやコピーにおいて発生する画像周辺の黒い縁を取り除く）という表現を用いています。

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

1以上の場合、BorderColorプロパティに設定した色で塗りつぶしが行われます。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

不可


Brightness, Contrast（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Brightness, Contrast

【機能】

開発者作成UIで取り込む時の明るさ・コントラストを設定します。

【書式】

※Brightnessにて説明（Contrastも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.Brightness [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetBrightness(short Val)

(3)VB.NET imagekitcontrolname.Scan.Brightness [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.Brightness [ = short ]

【設定値】

-1000～1000。

Brightnessは明るさ。（デフォルトは0）

Contrastはコントラスト。（デフォルトは0）

キヤノン製DRスキャナ用ドライバご利用時でPixelTypeプロパティが0(ikScanPixelBW)でBitDepthReductionプロパティが0(ikBitDepthReductionThreshold)、TextEnhancementプロパティが1以上の場合は、1～255(デフォルトは128)の範囲が有効です。

PFU製スキャナ用ドライバご利用時でPixelTypeプロパティが1000(ikScanPixelAutomation), 1001(ikScanPixelGrayAndBW), 1002(ikScanPixelRGBAndBW)の場合は、-127～127(デフォルトは0)の範囲が有効です。

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

Brightness, ContrastプロパティはPixelTypeプロパティが0(ikScanPixelBW)の場合、BitDepthReductionプロパティの値により効果がない場合があります。（下記は効果がある場合）

PixelType | 0(ikScanPixelBW) | 1(ikScanPixelGray), 2(ikScanPixelRGB), 3(ikScanPixelPalette)
Brightness | BitDepthReduction = 0(*), 1 | ○
Contrast | BitDepthReduction = 1 | ○

(*)しきい値の機能を明るさで表すデータソースで使用（Thresholdをサポートしていないデータソースなど）

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

設定可能な値については、GetCapRange(Variant)メソッドもしくはGetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


BrushStyle（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

BrushStyle

【機能】

塗りつぶすブラシの模様を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.BrushStyle [ = BrushStyleConstants ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetBrushStyle(long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.BrushStyle [ = ImageKit10(A)Lib.BrushStyleConstants ]

(4)C#.NET imagekitcontrolname.PrintDraw.BrushStyle [ = ImageKit10(A)Lib.BrushStyleConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 塗りつぶしは行わない(BS_NULL)
1 | 塗りつぶし(BS_SOLID)
2 | 左下から右上へ45度の角度で向かう斜線のハッチパターン(BS_HATCHED､HS_BDIAGONAL)
3 | 縦横の格子線のハッチパターン(BS_HATCHED､HS_CROSS)
4 | 3のハッチパターンを45度回転したもの(BS_HATCHED､HS_DIAGCROSS)
5 | 左上から右下へ45度の角度で向かう斜線のハッチパターン(BS_HATCHED､HS_FDIAGONAL)
6 | 横線のハッチパターン(BS_HATCHED､HS_HORIZONTAL)
7 | 縦線のハッチパターン(BS_HATCHED､HS_VERTICAL)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

定数(ikBrushNull = 0, ikBrushSolid = 1, ikBrushHatchBdiagonal = 2, ikBrushHatchCross = 3, ikBrushHatchDiagcross = 4, ikBrushHatchFdiagonal = 5, ikBrushHatchHorizontal = 6, ikBrushHatchVertical = 7)を使用することも可能です。

【値の設定】

実行時

【値の参照】

不可


Button3D（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Button3D

【機能】

サムネイルコントロールのコマ（サムネイル画像を表示する領域）を3Dにするかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.Button3D [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetButton3D()

thumbcontrolname.SetButton3D(BOOL Val)

(3)VB.NET thumbcontrolname.Button3D [ = Boolean ]

(4)C#.NET thumbcontrolname.Button3D [ = bool ]

【設定値】

値 | 説明
True | 3Dにする
False | 3Dにしない

【解説】

Styleプロパティが0（ikButton）の時に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ButtonName, Caption, DocName, Message（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

ButtonName, Caption, DocName, Message

【機能】

印刷処理中のダイアログボックスに表示するボタン、キャプション、メッセージおよびドキュメント名を取得または設定します。

【書式】

※ButtonNameにて説明（Caption, DocName, Messageも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.ButtonName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetPrintDraw().GetButtonName()

imagekitcontrolname.GetPrintDraw().SetButtonName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.PrintDraw.ButtonName [ = String ]

(4)C#.NET imagekitcontrolname.PrintDraw.ButtonName [ = string ]

【設定値】

ButtonNameプロパティは、処理中のダイアログボックスのボタンに表示する文字列。

Captionプロパティは、処理中のダイアログボックスのタイトルバーに表示する文字列。

DocNameプロパティは、印刷するドキュメント名を表す文字列。

Messageプロパティは、処理中のダイアログボックスの中央に表示する文字列。

【解説】

印刷処理中のダイアログボックスを表示した場合はボタンを選択することにより、印刷処理を中止することができます。

ButtonName, Caption, Messageプロパティを設定しなかった場合は、処理中のダイアログボックスは表示されません。

DocNameプロパティは印刷するドキュメント名になります。

また、設定したプロパティが有効になるのはPrintStartDocメソッドを実行した場合です。

【値の設定】

実行時

【値の参照】

実行時


ButtonName, Caption, Message（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

ButtonName, Caption, Message

【機能】

エフェクト処理中のダイアログボックスに表示するボタン、キャプション、メッセージを取得または設定します。

【書式】

※ButtonNameにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Effect.ButtonName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetEffect().GetButtonName()

imagekitcontrolname.GetEffect().SetButtonName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Effect.ButtonName [ = String ]

(4)C#.NET imagekitcontrolname.Effect.ButtonName [ = string ]

【設定値】

ButtonNameプロパティは、処理中のダイアログボックスのボタンに表示する文字列。

Captionプロパティは、処理中のダイアログボックスのタイトルバーに表示する文字列。

Messageプロパティは、処理中のダイアログボックスの中央に表示する文字列。

【解説】

ButtonName, Caption, Messageプロパティ全てに何も設定しなかった場合は、進捗状況のダイアログボックスは表示されず、Progressイベントが発生します。

逆にどれか一つでも有効な文字列を設定した場合は、進捗状況ダイアログボックスが表示され、Progressイベントは発生しません。

【値の設定】

実行時

【値の参照】

実行時


ButtonName, Caption, Message（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

ButtonName, Caption, Message

【機能】

イメージ読込・保存処理中のダイアログボックスに表示するボタン、キャプション、メッセージを取得または設定します。

【書式】

※ButtonNameにて説明（Caption, Messageも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.ButtonName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetButtonName()

imagekitcontrolname.GetFile().SetButtonName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.ButtonName [ = String ]

(4)C#.NET imagekitcontrolname.File.ButtonName [ = String ]

【設定値】

ButtonNameプロパティは、処理中のダイアログボックスのボタンに表示する文字列。

Captionプロパティは、処理中のダイアログボックスのタイトルバーに表示する文字列。

Messageプロパティは、処理中のダイアログボックスの中央に表示する文字列。

【解説】

ButtonName、Caption、Messageプロパティ全てに何も設定しなかった場合は、進捗状況のダイアログボックスは表示されず、Progressイベントが発生します。

逆にどれか一つでも有効な文字列を設定した場合は、進捗状況ダイアログボックスが表示され、Progressイベントは発生しません。

【値の設定】

実行時

【値の参照】

実行時


ButtonName, Caption, Message（イメージキットコントロール／Vectorプロパティ）

イメージキットコントロール／Vectorプロパティ

ButtonName, Caption, Message

【機能】

RasterToVectorメソッド処理中のダイアログボックスに表示するボタン、キャプション、メッセージを取得または設定します。

【書式】

※ButtonNameにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Vector.ButtonName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetVector().GetButtonName()

imagekitcontrolname.GetVector().SetButtonName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Vector.ButtonName [ = String ]

(4)C#.NET imagekitcontrolname.Vector.ButtonName [ = string ]

【設定値】

ButtonNameプロパティは、処理中のダイアログボックスのボタンに表示する文字列。

Captionプロパティは、処理中のダイアログボックスのタイトルバーに表示する文字列。

Messageプロパティは、処理中のダイアログボックスの中央に表示する文字列。

【解説】

ButtonName, Caption, Messageプロパティ全てに何も設定しなかった場合は、進捗状況のダイアログボックスは表示されず、Progressイベントが発生します。

逆にどれか一つでも有効な文字列を設定した場合は、進捗状況ダイアログボックスが表示され、Progressイベントは発生しません。

【値の設定】

実行時

【値の参照】

実行時


Cancel（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

Cancel

【機能】

エフェクト処理を中止するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Effect.Cancel [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetEffect().SetCancel(BOOL Val)

(3)VB.NET imagekitcontrolname.Effect.Cancel [ = Boolean ]

(4)C#.NET imagekitcontrolname.Effect.Cancel [ = bool ]

【設定値】

値 | 説明
True | 処理を中止する
False | 処理を中止しない

【解説】

CancelプロパティにTrueを設定すると、エフェクト処理を中止できます。

【値の設定】

実行時

【値の参照】

不可


Cancel（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

Cancel

【機能】

イメージの読込・保存処理を中止するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Cancel [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetFile().SetCancel(BOOL Val)

(3)VB.NET imagekitcontrolname.File.Cancel [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.Cancel [ = bool ]

【設定値】

値 | 説明
True | 読込・保存処理を中止する
False | 読込・保存処理を中止しない

【解説】

CancelプロパティにTrueを設定すると、読込・保存処理を中止できます。

【値の設定】

実行時

【値の参照】

不可


Cancel（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Cancel

【機能】

イメージキットコントロールのイメージの取り込み処理を中止するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Cancel [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetScan().SetCancel(BOOL Val)

(3)VB.NET imagekitcontrolname.Scan.Cancel [ = Boolean ]

(4)C#.NET imagekitcontrolname.Scan.Cancel [ = bool ]

【設定値】

値 | 説明
True | 取り込み処理を中止する
False | 取り込み処理を中止しない

【解説】

イベント（BeforeScan, Scanning, AfterScan）内でCancelプロパティをTrueに設定すると、取り込み処理を中止できます。

【値の設定】

実行時

【値の参照】

不可


Cancel（イメージキットコントロール／Vectorプロパティ）

イメージキットコントロール／Vectorプロパティ

Cancel

【機能】

RasterToVectorメソッド処理を中止するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Vector.Cancel [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetVector().SetCancel(BOOL Val)

(3)VB.NET imagekitcontrolname.Vector.Cancel [ = Boolean ]

(4)C#.NET imagekitcontrolname.Vector.Cancel [ = bool ]

【設定値】

値 | 説明
True | 処理を中止する
False | 処理を中止しない

【解説】

CancelプロパティにTrueを設定すると、処理を中止できます。

【値の設定】

実行時

【値の参照】

不可


Cancel（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Cancel

【機能】

サムネイルコントロールの表示処理を中止するかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.Cancel [ = Boolean ]

(2)Visual C++ thumbcontrolname.SetCancel(BOOL Val)

(3)VB.NET thumbcontrolname.Cancel [ = Boolean ]

(4)C#.NET thumbcontrolname.Cancel [ = bool ]

【設定値】

値 | 説明
True | 処理を中止する
False | 処理を中止しない

【解説】

CancelプロパティにTrueを設定すると、表示処理を中止できます。

【値の設定】

実行時

【値の参照】

不可


Canvas, CanvasVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Canvas, CanvasVariant

【機能】

ラスタイメージにキャンバス地効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Canvas(x As Long, y As Long, Points As Long, Direction As Integer, Depth As Integer)

[ Boolean = ]imagekitcontrolname.Effect.CanvasVariant(x As Variant, y As Variant, Direction As Integer, Depth As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Canvas(long *x, long *y, long Points, short Direction, short Depth)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Canvas(x As Integer, y As Integer, Points As Integer, Direction As Short, Depth As Short)

[ Boolean = ]imagekitcontrolname.Effect.CanvasVariant(x As Object, y As Object, Direction As Short, Depth As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Canvas(ref int x, ref int y, int Points, short Direction, short Depth)

[ bool = ]imagekitcontrolname.Effect.CanvasVariant(ref object x, ref object y, short Direction, short Depth)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Canvas (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える CanvasVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Canvasのみ）
Direction | 目地の方向（0：上から右、1:上から左、2：下から左、3：下から右）
Depth | 目地の深さ（0～255）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

Depthが大きいほど彫りが深くなります。

成功した場合は、処理後のラスタイメージのメモリハンドルがLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、CanvasVariantメソッドをご使用ください。


Caption（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

Caption

【機能】

パンウィンドウのキャプションを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.Caption [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetPanWindow().GetCaption()

imagekitcontrolname.GetPanWindow().SetCaption(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.PanWindow.Caption [ = String ]

(4)C#.NET imagekitcontrolname.PanWindow.Caption [ = string ]

【設定値】

パンウィンドウのキャプションに表示する文字列。

【解説】

Captionプロパティに空の文字列を設定しCloseBoxプロパティをFalseにすると、タイトルバーが表示されなくなり、マウスでパンウィンドウの移動ができなくなります。

Captionプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowCaptionプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


cCircle, Circle（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

cCircle, Circle

【機能】

イメージ編集ツールバーで使用する円の種類を設定します。

【書式】

※Circleにて説明（cCircleも同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.Circle [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetCircle()

imagekitcontrolname.GetEdit().SetCircle(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.Circle [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.Circle [ = bool ]

【設定値】

値 | 説明
True | 円
False | 楕円

【解説】

デフォルトはFalseです。

Visual Basic(.NETは除く)ではCircleプロパティに値が設定できないので、代わりにcCircleプロパティをご使用ください。

【値の設定】

実行時

【値の参照】

実行時


CharAngle（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

CharAngle

【機能】

文字の回転角度を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.CharAngle [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetCharAngle(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.CharAngle [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.CharAngle [ = short ]

【設定値】

DrawTextメソッドの場合

0, 90, 180, 270（反時計回りに回転）

TextOutメソッドの場合

0～360（1度単位、反時計回りに回転）

DrawStringメソッドの場合

0～360（1度単位、時計回りに回転）

【解説】

設定した値はDrawString, DrawText, TextOutメソッドで有効となります。

【値の設定】

実行時

【値の参照】

不可


CharExtra（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

CharExtra

【機能】

文字の間隔を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.CharExtra [ = Long ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetCharExtra(long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.CharExtra [ = Integer ]

(4)C#.NET imagekitcontrolname.PrintDraw.CharExtra [ = int ]

【設定値】

文字間隔（使用しない場合は0を設定）。

【解説】

設定した値はDrawText, GetTextExtent, TextOutメソッドで有効となります。

描画対象がスクリーンとメモリハンドルの場合はピクセル単位で、プリンタの場合は0.1mm単位で設定してください。

【値の設定】

実行時

【値の参照】

不可


CharSet（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

CharSet

【機能】

フォントで使用する文字セットを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.CharSet [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetCharSet(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.CharSet [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.CharSet [ = short ]

【設定値】

フォントの文字セット（-1～255）

0～255の値を設定した場合は、Windowsで定義されている値と同じになります。

-1:ANSI文字 or 日本語シフトJIS文字 [ImageKit5互換]

0:ANSI文字(ANSI_CHARSET)

1:FontNameとFontSizeにより選択(DEFAULT_CHARSET)

2:シンボル文字(SYMBOL_CHARSET)

128:日本語シフトJIS文字(SHIFTJIS_CHARSET)

255:オペレーティングシステムに依存(OEM_CHARSET)

※()内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

設定したフォントの文字セットはDrawText, GetTextExtent, TextOutメソッドで有効となります。

【値の設定】

実行時

【値の参照】

不可


CheckSecretImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

CheckSecretImage

【機能】

ラスタイメージから透かし情報を取り出します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.CheckSecretImage(Handle1 As LONG_PTR, Handle2 As LONG_PTR, Level As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().CheckSecretImage(LONG_PTR Handle1, LONG_PTR Handle2, long Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.CheckSecretImage(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), Level As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.CheckSecretImage(int(x86) or long(x64) Handle1, int(x86) or long(x64) Handle2, int Level)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Handle1 | キーとなるラスタイメージのメモリハンドル(24ビットイメージが対象)
Handle2 | 透かしが埋め込まれたラスタイメージのメモリハンドル(24ビットイメージが対象)
Level | 透かしの取り出しレベル(-20～20)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SetSecretImageメソッドで設定した透かし情報を取得します。

Levelには、SetSecretImageメソッドで設定したLevel付近、すなわち＋で埋め込んだ場合は埋め込み値より小さめな値を、－で埋め込んだ場合は埋め込み値より大きめな値を設定します。

それ以外の値を設定した場合は、すかし情報が抽出されない場合があります。

成功した場合、処理後のラスタイメージのメモリハンドルはImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定されます（LayerNoプロパティによって設定されるプロパティが決まります）。設定されるイメージは、黒の背景に白いすかし情報となります（1ビットイメージでイメージの大きさはHandle1、Handle2と同じ）。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

【ImageKit7/8 ActiveXとの違い】

引数Handle1, Handle2の型が変更されました。


Chord（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Chord

【機能】

描画先オブジェクトに弓形を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Chord(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x1 As Long, y1 As Long, x2 As Long, y2 As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Chord(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x1, long y1, long x2, long y2, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Chord(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Chord(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x1, int y1, int x2, int y2, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
x1, y1 | 最初の径の端点のx, y座標
x2, y2 | 次の径の端点のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した矩形に含まれる楕円弧を(x1, y1), (x2, y2)の間を通る線によって2等分された領域を描画します。アウトラインはPenStyleプロパティの値で描画され、内部はBrushStyleプロパティの値で塗りつぶされます。

（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

left, top, right, bottom, x1, y1, x2, y2をピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottom, x1, y1, x2, y2を0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


Chroma, ChromaVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Chroma, ChromaVariant

【機能】

ラスタイメージの彩度を調整します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Chroma(x As Long, y As Long, Points As Long, Level As Long)

[ Boolean = ]imagekitcontrolname.Effect.ChromaVariant(x As Variant, y As Variant, Level As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Chroma(long *x, long *y, long Points, long Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Chroma(ByRef x As Integer, ByRef y As Integer, Points As Integer, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.ChromaVariant(ByRef x As Object, ByRef y As Object, Level As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Chroma(ref int x, ref int y, int Points, int Level)

[ bool = ]imagekitcontrolname.Effect.ChromaVariant(ref object x, ref object y, int Level)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Chroma (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える ChromaVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Chromaのみ）
Level | 彩度の加減 (-100～1000)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Levelが0の場合には何も行わず、-100の場合は見かけ上グレースケールと同じになります。

－に設定すると色は相対的に淡くなり、＋に設定すると鮮やかになります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、ChromaVariantメソッドをご使用ください。


ClearClipBrd（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

ClearClipBrd

【機能】

クリップボードをクリアします。

【書式】

(1)Visual Basic imagekitcontrolname.ClearClipBrd

(2)Visual C++ imagekitcontrolname.ClearClipBrd()

(3)VB.NET imagekitcontrolname.ClearClipBrd()

(4)C#.NET imagekitcontrolname.ClearClipBrd()

【引数】

ありません。

【戻り値】

ありません。

【解説】

クリップボードをクリアします。


ClearOnLoad（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ClearOnLoad

【機能】

サムネイルコントロールに画像をロードする時のモードを設定します。

【書式】

(1)Visual Basic thumbcontrolname.ClearOnLoad [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetClearOnLoad()

thumbcontrolname.SetClearOnLoad(BOOL Val)

(3)VB.NET thumbcontrolname.ClearOnLoad [ = Boolean ]

(4)C#.NET thumbcontrolname.ClearOnLoad [ = bool ]

【設定値】

値 | 説明
True | ロードする時に前回の結果をクリアする（デフォルト）
False | ロードする時に前回の結果を保持する

【解説】

Falseを設定すると、前回ファイルなどをロードした結果に対して画像を追加することができます。例えば、ADFを使用して原稿を連続してスキャンする場合やデータベースから1つずつ画像を読み込む場合などが考えられます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ClearProperty（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

ClearProperty

【機能】

イメージキットコントロールのPrintDrawプロパティを初期化します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.ClearProperty

(2)Visual C++ imagekitcontrolname.GetPrintDraw().ClearProperty()

(3)VB.NET imagekitcontrolname.PrintDraw.ClearProperty()

(4)C#.NET imagekitcontrolname.PrintDraw.ClearProperty()

【引数】

ありません。

【戻り値】

ありません。

【解説】

値を設定可能なプロパティを初期化します（0もしくはFalse）。CharSetプロパティは-1となります。


ClearProperty（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

ClearProperty

【機能】

イメージキットコントロールのScanプロパティを初期化します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ClearProperty

(2)Visual C++ imagekitcontrolname.GetScan().ClearProperty()

(3)VB.NET imagekitcontrolname.Scan.ClearProperty()

(4)C#.NET imagekitcontrolname.Scan.ClearProperty()

【引数】

ありません。

【戻り値】

ありません。

【解説】

値を設定可能なプロパティを初期化します。参照専用プロパティは除きます。


ClearSelect（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

ClearSelect

【機能】

選択して決定した範囲を取消し、解除します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ClearSelect

(2)Visual C++ imagekitcontrolname.GetEdit().ClearSelect()

(3)VB.NET imagekitcontrolname.Edit.ClearSelect()

(4)C#.NET imagekitcontrolname.Edit.ClearSelect()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ）のポップアップメニューの"選択範囲取消し"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


ClearText（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ClearText

【機能】

イメージ編集ツールバーのテキストボックスで入力するテキストの初期化を行うかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ClearText [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetClearText()

imagekitcontrolname.GetEdit().SetClearText(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.ClearText [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.ClearText [ = bool ]

【設定値】

値 | 説明
True | 初期化する
False | 初期化しない

【解説】

デフォルトはFalseです。

Trueの場合、テキストボックスを選択して入力するテキストは常に初期化され、Falseの場合はTextプロパティに設定されている文字列が初期表示されます。

【値の設定】

実行時

【値の参照】

不可


Clear（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

Clear

【機能】

サムネイル画像の表示をクリアします。

【書式】

(1)Visual Basic thumbcontrolname.Clear

(2)Visual C++ thumbcontrolname.Clear()

(3)VB.NET thumbcontrolname.Clear()

(4)C#.NET thumbcontrolname.Clear()

【引数】

ありません。

【戻り値】

ありません。


ClickOnPanWindow（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

ClickOnPanWindow

【機能】

パンウィンドウ表示中にその領域内でマウスの左ボタンを押した際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_ClickOnPanWindow(ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnClickOnPanWindow imagekitcontrolname(long x, long y)

(3)VB.NET

imagekitcontrolname_ClickOnPanWindow(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ClickOnPanWindowEvent)

(4)C#.NET

imagekitcontrolname_ClickOnPanWindow(object sender, AxImageKit10(A)Lib._IImageKitEvents_ClickOnPanWindowEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

値 | 説明
x, y | パンウィンドウのマウスクリック座標（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにx, yが含まれます（先頭の文字が小文字になります）。


CloseBox（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

CloseBox

【機能】

パンウィンドウに閉じるボタンを付加するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.CloseBox [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPanWindow().GetCloseBox()

imagekitcontrolname.GetPanWindow().SetCloseBox(BOOL Val)

(3)VB.NET imagekitcontrolname.PanWindow.CloseBox [ = Boolean ]

(4)C#.NET imagekitcontrolname.PanWindow.CloseBox [ = bool ]

【設定値】

値 | 説明
True | 閉じるボタン（×ボタン）を付加する
False | 閉じるボタン（×ボタン）を付加しない

【解説】

CloseBoxプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowCloseBoxプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


CloseDS, OpenDS（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

CloseDS, OpenDS

【機能】

CloseDS: データソースをクローズします。

OpenDS: データソースをオープンします。

【書式】

※CloseDSにて説明（OpenDSも同様な使い方）

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.CloseDS

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().CloseDS()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.CloseDS()

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.CloseDS()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

CloseDS:

OpenDSメソッドでオープンしたデータソースをクローズします。

OpenDS:

DsNameプロパティに設定されたデータソースをオープンします。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

（""やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を設定した場合、Selectメソッドで選択されたデータソースとなります。）

OpenDSメソッドを実行すると、CloseDSメソッドを実行するまでの間、オープンしたデータソースを占有することができ、他のアプリケーションからは利用できなくなります。

CloseDS, OpenDSメソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

CloseDS, OpenDSメソッドは以前のImageKitで提供していたスキャンコントロールのScanCloseDS, ScanOpenDSメソッドに相当します。


Close（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

Close

【機能】

動画ファイルを閉じます。

【書式】

(1)Visual Basic [ Boolean = ]playcontrolname.Close

(2)Visual C++ [ BOOL = ]playcontrolname.Close()

(3)VB.NET [ Boolean = ]playcontrolname.Close()

(4)C#.NET [ bool = ]playcontrolname.Close()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Openメソッドで開いたファイルを閉じます。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11が設定されます。Openメソッドを実行せずにCloseメソッドを実行した場合が該当します。


Close（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

Close

【機能】

Web(USB)カメラとの接続を閉じます。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.Close

(2)Visual C++ [ BOOL = ]previewcontrolname.Close()

(3)VB.NET [ Boolean = ]previewcontrolname.Close()

(4)C#.NET [ bool = ]previewcontrolname.Close()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Openメソッドで接続したWeb(USB)カメラを閉じます。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11が設定されます。Openメソッドを実行せずにCloseメソッドを実行した場合が該当します。


Close（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

Close

【機能】

Web(USB)カメラとの接続を閉じます。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.Close

(2)Visual C++ [ BOOL = ]recordcontrolname.Close()

(3)VB.NET [ Boolean = ]recordcontrolname.Close()

(4)C#.NET [ bool = ]recordcontrolname.Close()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Openメソッドで接続したWeb(USB)カメラを閉じます。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11が設定されます。Openメソッドを実行せずにCloseメソッドを実行した場合が該当します。


CMYKBmpPlaneFileLoad（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

CMYKBmpPlaneFileLoad

【機能】

CMYKプレーン毎に保存してあるBMPファイルからラスタイメージを読み込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileLoad(CFileName As String, MFileName As String, YFileName As String, KFileName As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().CMYKBmpPlaneFileLoad(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileLoad(CFileName As String, MFileName As String, YFileName As String, KFileName As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.CMYKBmpPlaneFileLoad(string CFileName, string MFileName, string YFileName, string KFileName)

【引数】

名称 | 内容
CFileName | Cプレーンとして読み込むファイル名
MFileName | Mプレーンとして読み込むファイル名
YFileName | Yプレーンとして読み込むファイル名
KFileName | Kプレーンとして読み込むファイル名

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

CMYKそれぞれのプレーンを表すイメージは8ビットグレーで、出力イメージは24ビットカラーです。

成功するとLayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にイメージのメモリハンドルが設定されます。


CMYKBmpPlaneFileSave（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

CMYKBmpPlaneFileSave

【機能】

ラスタイメージをCMYKプレーン毎にBMP形式でファイルに保存します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileSave(CFileName As String, MFileName As String, YFileName As String, KFileName As String, ImageHandle As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().CMYKBmpPlaneFileSave(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileSave(CFileName As String, MFileName As String, YFileName As String, KFileName As String, ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.File.CMYKBmpPlaneFileSave(string CFileName, string MFileName, string YFileName, string KFileName, int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
CFileName | Cプレーンとして保存するファイル名
MFileName | Mプレーンとして保存するファイル名
YFileName | Yプレーンとして保存するファイル名
KFileName | Kプレーンとして保存するファイル名
ImageHandle | 保存対象となるイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルをCMYKのそれぞれのプレーン毎にファイルに保存します。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルをCMYKのそれぞれのプレーン毎にファイルに保存します。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

保存対象イメージは24ビットカラーで、保存されるイメージは8ビットグレーとなります。

【ImageKit7/8 ActiveXとの違い】

引数ImageHandleの型が変更されました。


ColCount, RowCount（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ColCount, RowCount

【機能】

サムネイルコントロールで表示する行と列を設定します。

【書式】

※ColCountにて説明（RowCountも同様な使い方）

(1)Visual Basic thumbcontrolname.ColCount [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetColCount()

thumbcontrolname.SetColCount(short Val)

(3)VB.NET thumbcontrolname.ColCount [ = Short ]

(4)C#.NET thumbcontrolname.ColCount [ = short ]

【設定値】

ColCountは表示列数（1～）

RowCountは表示行数（1～）

【解説】

ColCount、RowCountプロパティで設定された値の積が1画面に表示されるイメージの数となります。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Collate, PrintToFile（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Collate, PrintToFile

【機能】

印刷ダイアログで処理する[部単位で印刷]と［ファイルへ出力］のチェックボックスを取得または設定します。

【書式】

※Collateにて説明（PrintToFileも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.Collate [ = Boolean ]

(2)Visual C++ [BOOL = ]imagekitcontrolname.GetPrintDraw().GetCollate()

imagekitcontrolname.GetPrintDraw().SetCollate(BOOL Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Collate [ = Boolean ]

(4)C#.NET imagekitcontrolname.PrintDraw.Collate [ = bool ]

【設定値】

Collateは[部単位で印刷]をチェックするかどうか（あるいはチェックされているかどうか）を示します。

PrintToFileは［ファイルへ出力］をチェックするかどうか（あるいはチェックされているかどうか）を示します。

値 | 説明
True | チェックする（されている）
False | チェックしない（されてない）

【解説】

PrintDialogメソッドで使用します。実行前にプロパティを設定するとその値で初期化し、実行後は参照できます。

ただし、PrintToFileプロパティについてはOptionsプロパティに0x80000（&H80000）もしくは0x100000（&H100000）を指定した場合は、［ファイルへ出力］は使用できません。

Collateプロパティについては、GetDevModeInfoメソッドやSetDevModeInfoメソッドでも使用します。

【値の設定】

実行時

【値の参照】

実行時


Color, RectColor（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

Color, RectColor

【機能】

色情報を取得または設定します。

【書式】

※Colorにて説明（RectColorも同様な使い方）

(1)Visual Basic imagekitcontrolname.PanWindow.Color [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]imagekitcontrolname.GetPanWindow().GetColor()

imagekitcontrolname.GetPanWindow().SetColor(unsigned long Val)

(3)VB.NET imagekitcontrolname.PanWindow.Color [ = UInteger ]

(4)C#.NET imagekitcontrolname.PanWindow.Color [ = uint ]

【設定値】

Colorはパンウィンドウ内の無効領域の色（ベクトルイメージ描画時に使用）。

RectColorはパンウィンドウ内の矩形を表す線の色。

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

RectColorは、表示するイメージが白黒2値の場合には設定した色がそのまま有効になりますが、カラーの場合は矩形枠の下地の色によっては反転します。また、Colorプロパティとの組み合わせにより矩形枠が表示されない場合がありますので、ご注意ください。

Color, RectColorプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowColor, PanWindowRectColorプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


ColorBWRatio（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ColorBWRatio

【機能】

開発者作成UIで取り込む時の白黒原稿の中に含まれるカラー画素の割合を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ColorBWRatio [ = Single ]

(2)Visual C++ imagekitcontrolname.GetScan().SetColorBWRatio(float Val)

(3)VB.NET imagekitcontrolname.Scan.ColorBWRatio [ = Single ]

(4)C#.NET imagekitcontrolname.Scan.ColorBWRatio [ = float ]

【設定値】

0.01から50.00までの値を％単位で設定します。

デフォルトは1です。

【解説】

パナソニック製スキャナ用ドライバご利用時に有効です。

値が小ければ白黒原稿はカラーとして認識される確率が高くなり、大きければ白黒として認識される確率が高くなります。

UiModeプロパティが2(ikScanNONUI)、PixelTypeプロパティが1000(ikScanPixelAutomation)の場合に有効です。

【値の設定】

実行時

【値の参照】

不可


ColorMode（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

ColorMode

【機能】

カラープリンタでカラーを使用するかモノクロを使用するかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.ColorMode [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetColorMode()

imagekitcontrolname.GetPrintDraw().SetColorMode(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.ColorMode [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.ColorMode [ = short ]

【設定値】

値 | 説明
1 | モノクロ(DMCOLOR_MONOCHROME)
2 | カラー(DMCOLOR_COLOR)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

【値の設定】

実行時

【値の参照】

実行時


ColorSpace（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ColorSpace

【機能】

色空間を示す情報です。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.ColorSpace [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetColorSpace()

imagekitcontrolname.GetFile().GetExif().SetColorSpace(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.ColorSpace [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.ColorSpace [ = short ]

【設定値】

値 | 説明
1 | sRGB

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの画像データの特性に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Comment（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

Comment

【機能】

イメージファイルに保存するコメントを設定したり、GetImageFileType(Mem)メソッドを実行して取得したコメントを表します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Comment [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetComment()

imagekitcontrolname.GetFile().SetComment(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Comment [ = String ]

(4)C#.NET imagekitcontrolname.File.Comment [ = string ]

【設定値】

コメントの文字列。（MAX:2047バイト）

【解説】

コメントはファイル形式により異なります。

以下に説明のないファイル形式はコメントをサポートしておりませんので、設定しても無視されます。

FPX タイトル＋0x0d＋サブタイトル＋0x0d＋作成者＋0x0d＋コメント＋0x0d

GIF コメント

JPEG コメント

JPEG2000 タイトル＋0x0d＋サブタイトル＋0x0d＋作成者＋0x0d＋コメント＋0x0d

PNG タイトル＋0x0d＋作成者＋0x0d＋説明＋0x0d＋版権＋0x0d＋時間＋0x0d＋ソフトウェア＋0x0d＋権利放棄

＋0x0d＋警告＋0x0d＋入力機器＋0x0d＋コメント＋0x0d

TIFF 文書名＋0x0d＋画像説明＋0x0d＋ページ名＋0x0d＋ソフトウェア＋0x0d＋日時＋0x0d＋作者＋0x0d

必要のない項目については空の文字列を設定してください。

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

【値の設定】

実行時

【値の参照】

実行時


ComponentsConfiguration（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ComponentsConfiguration

【機能】

各コンポーネントのチャネルを第1コンポーネントから第4コンポーネントの順に示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.ComponentsConfiguration [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetComponentsConfiguration()

imagekitcontrolname.GetFile().GetExif().SetComponentsConfiguration(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.ComponentsConfiguration [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.ComponentsConfiguration [ = string ]

【設定値】

値 | 説明
0 | 存在しない
1 | Y
2 | Cb
3 | Cr
4 | R
5 | G
6 | B

RGBの時は4560で、JPEGの時は1230となります。

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの画像データの構成に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


CompressedBitsPerPixel0, CompressedBitsPerPixel1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

CompressedBitsPerPixel0, CompressedBitsPerPixel1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※CompressedBitsPerPixel0にて説明（CompressedBitsPerPixel1も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.CompressedBitsPerPixel0 [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetCompressedBitsPerPixel0()

imagekitcontrolname.GetFile().GetExif().SetCompressedBitsPerPixel0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.CompressedBitsPerPixel0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.CompressedBitsPerPixel0 [ = int ]

【設定値】

CompressedBitsPerPixel0は、画像圧縮時に設定された圧縮モードの分子

CompressedBitsPerPixel1は、画像圧縮時に設定された圧縮モードの分母

画像圧縮時に設定された圧縮モード（単位はbit/pixel） = CompressedBitsPerPixel0 / CompressedBitsPerPixel1

【解説】

Exifの画像データの構成に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Compression（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Compression

【機能】

ファイルおよびメモリ転送時の圧縮方法を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Compression [ = ScanCompressionConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetCompression()

imagekitcontrolname.GetScan().SetCompression(long Val)

(3)VB.NET imagekitcontrolname.Scan.Compression [ = ImageKit10(A)Lib.ScanCompressionConstants ]

(4)C#.NET imagekitcontrolname.Scan.Compression [ = ImageKit10(A)Lib.ScanCompressionConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 非圧縮（デフォルト）
1 | PACKBITS
2 | GROUP3-1D
3 | GROUP3-1DEOL
4 | GROUP3-2D
5 | GROUP4
6 | JPEG
7 | LZW
8 | JBIG
9 | PNG
10 | RLE4
11 | RLE8
12 | BITFIELDS

2, 3, 4, 5はFAX[CCITT]、10, 11, 12はBMP形式

定数(ikScanNoCompress = 0, ikScanPackbits = 1, ikScanGroup3_1D = 2, ikScanGroup3_1D_EOL = 3, ikScanGroup3_2D = 4, ikScanGroup4 = 5, ikScanJPEG = 6, ikScanLZW = 7, ikScanJBIG = 8, ikScanPNG = 9, ikScanRLE4 = 10, ikScanRLE8 = 11, ikScanBITFIELDS = 12)を使用することも可能です。

【解説】

開発者作成UIで取り込む場合は、PixelTypeプロパティとBitDepthプロパティに適切な値を設定してください。たとえば、GROUP3/4圧縮の場合は白黒2値、JPEG圧縮の場合は8ビットグレースケールまたは24ビットカラーでなければなりません。

イメージの転送方法については、TransferModeプロパティをご覧ください。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

データソースによってはファイル転送時の圧縮方法は非圧縮のみ有効となる場合があります。

【値の設定】

実行時

【値の参照】

実行時


Compression（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

Compression

【機能】

プレビュー画像の圧縮フォーマットを示します。

【書式】

(1)Visual Basic previewcontrolname.Compression [ = Long ]

(2)Visual C++ [ long = ]previewcontrolname.GetCompression()

(3)VB.NET previewcontrolname.Compression [ = Integer ]

(4)C#.NET previewcontrolname.Compression [ = int ]

【参照値】

圧縮フォーマット。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

画像が非圧縮の場合は0(BI_RGB)や3(BI_BITFIELDS)が設定されます。()内の説明はWindows APIで使用する定数と同じ意味です。

画像が圧縮されている場合は、FOURCCコードが割り当てられます。

【値の設定】

不可

【値の参照】

実行時


Compression（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

Compression

【機能】

キャプチャー画像の圧縮フォーマットを示します。

【書式】

(1)Visual Basic recordcontrolname.Compression [ = Long ]

(2)Visual C++ [ long = ]recordcontrolname.GetCompression()

(3)VB.NET recordcontrolname.Compression [ = Integer ]

(4)C#.NET recordcontrolname.Compression [ = int ]

【参照値】

圧縮フォーマット。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

画像が非圧縮の場合は0(BI_RGB)や3(BI_BITFIELDS)が設定されます。()内の説明はWindows APIで使用する定数と同じ意味です。

画像が圧縮されている場合は、FOURCCコードが割り当てられます。

【値の設定】

不可

【値の参照】

実行時


Contrast,Saturation,Sharpness（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

Contrast, Saturation, Sharpness

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

【書式】

※Contrastにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.Contrast [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetContrast()

imagekitcontrolname.GetFile().GetExif().SetContrast(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.Contrast [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.Contrast [ = short ]

【設定値】

Contrastは、撮影時にカメラが画像に施したコントラスト処理傾向

Saturationは、撮影時にカメラが画像に施した彩度処理傾向

Sharpnessは、撮影時にカメラが画像に施したシャープネス処理傾向

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時


ConvertColor（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

ConvertColor

【機能】

メモリ上のラスタイメージの色数を変更します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.ConvertColor(PixelType As Integer, FixedPal As Boolean, Dither As Boolean, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().ConvertColor(short PixelType, BOOL FixedPal, BOOL Dither, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.ConvertColor(PixelType As Short, FixedPal As Boolean, Dither As Boolean, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.GetEffect().ConvertColor(short PixelType, bool FixedPal, bool Dither, short Level)

【引数】

名称 内容
PixelType 変更後のピクセル当たりのビット数(1, 4, 8, 16, 24, 32, 40, 80)
※4は4ビットカラー、40は4ビットグレー、8は8ビットカラー、80は8ビットグレーとなります。
FixedPal 固定パレットの使用設定（1, 4, 8ビットカラーに減色および増色する際に使用）
False(0):イメージに合わせたパレットを作成し使用
True(0以外):固定パレットを使用
Dither ディザリング（誤差拡散法）の設定（1, 4, 8ビットカラーおよび4ビットグレーに減色する際に使用）
False(0):ディザリングを行わない
True(0以外):ディザリングを行う
Level しきい値の設定（1ビットイメージに減色する際に使用）
0～255

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

1ビットイメージに減色した場合は、ピクセルのRGBの輝度がLevelで設定された値以上の場合はパレット1を、それ未満の場合はパレット0として処理を行います。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


Copies（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Copies

【機能】

印刷部数を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Copies [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetCopies()

imagekitcontrolname.GetPrintDraw().SetCopies(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Copies [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.Copies [ = short ]

【設定値】

印刷部数（1～）

【解説】

PrintDialogメソッドで使用します。実行前にプロパティを設定するとその値で初期化し、実行後は参照できます。

また、GetDevModeInfoメソッドやSetDevModeInfoメソッドでも使用します。

【値の設定】

実行時

【値の参照】

実行時


CopyImage（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

CopyImage

【機能】

メモリ上のイメージを別のメモリ上にコピーします。

【書式】

(1)Visual Basic

[ LONG_PTR = ]imagekitcontrolname.CopyImage(ImageHandle As LONG_PTR)

(2)Visual C++

[ LONG_PTR = ]imagekitcontrolname.CopyImage(LONG_PTR ImageHandle)

(3)VB.NET

[ Integer(x86) or Long(x64) = ]imagekitcontrolname.CopyImage(ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ int(x86) or long(x64) = ]imagekitcontrolname.CopyImage(int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
ImageHandle | コピー対象となるイメージのメモリハンドル

【戻り値】

成功の場合は新しいイメージのメモリハンドル、失敗の場合は0を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

ラスタイメージは1, 4, 8, 16, 24, 32, 48ビットイメージが対象です。48ビットイメージはScanプロパティを使用してスキャンデバイスから36, 42, 48ビットカラーで取り込んだイメージのコピーなどに使用します。

【ImageKit7/8 ActiveXとの違い】

引数と戻り値の型が変更されました。


Copy（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Copy

【機能】

イメージ編集ツールバー（ラスタ）の場合：

選択範囲のイメージをクリップボードにコピーします。

イメージ編集ツールバー（ベクトル）の場合：

選択した要素をコピーします。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Copy

(2)Visual C++ imagekitcontrolname.GetEdit().Copy()

(3)VB.NET imagekitcontrolname.Edit.Copy()

(4)C#.NET imagekitcontrolname.Edit.Copy()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ、べクトル）のポップアップメニューの"コピー"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


CreateImage（イメージキットコントロール／Vectorメソッド）

イメージキットコントロール／Vectorメソッド

CreateImage

【機能】

新規にベクトルイメージを作成します。

【書式】

(1)Visual Basic

[ LONG_PTR = ]imagekitcontrolname.Vector.CreateImage(Type As CreateVectImageConstants, Width As Long, Height As Long, Xdpi As Long, Ydpi As Long)

(2)Visual C++

[ LONG_PTR = ]imagekitcontrolname.GetVector().CreateImage(long Type, long Width, long Height, long Xdpi, long Ydpi)

(3)VB.NET

[ Integer(x86) or Long(x64) = ]imagekitcontrolname.Vector.CreateImage(Type As ImageKit10(A)Lib.CreateVectImageConstants, Width As Integer, Height As Integer, Xdpi As Integer, Ydpi As Integer)

(4)C#.NET

[ int(x86) or long(x64) = ]imagekitcontrolname.Vector.CreateImage(ImageKit10(A)Lib.CreateVectImageConstants Type, int Width, int Height, int Xdpi, int Ydpi)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Type | 作成するベクトルイメージのタイプ（0:WMF, 1:EMF, 2:DXF, 3:SVG, 4:SXF）
定数(ikCreateWMF = 0, ikCreateEMF = 1, ikCreateDXF = 2, ikCreateSVG = 3, ikCreateSXF = 4)を使用することも可能です。
Width | 作成するイメージの幅（ピクセル）
Height | 作成するイメージの高さ（ピクセル）
Xdpi | 作成するイメージの横方向の1インチあたりのピクセル数
Ydpi | 作成するイメージの縦方向の1インチあたりのピクセル数

【戻り値】

成功の場合は作成したベクトルイメージのメモリハンドル、失敗の場合は0を返します。

【解説】

CreateImageメソッドは以前のImageKitで提供していたコモンコントロールのCreateVectImageExメソッドに相当します。

【ImageKit7/8 ActiveXとの違い】

戻り値の型が変更されました。


CreateImage（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

CreateImage

【機能】

新規にラスタイメージを作成します。

【書式】

(1)Visual Basic

[ LONG_PTR = ]imagekitcontrolname.CreateImage(Width As Long, Height As Long, BitCount As Integer, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ LONG_PTR = ]imagekitcontrolname.CreateImage(long Width, long Height, short BitCount, short Red, short Green, short Blue)

(3)VB.NET

[ Integer(x86) or Long(x64) = ]imagekitcontrolname.CreateImage(Width As Integer, Height As Integer, BitCount As Short, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ int(x86) or long(x64) = ]imagekitcontrolname.CreateImage(int Width, int Height, short BitCount, short Red, short Green, short Blue)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Width | 作成するイメージの幅（ピクセル）
Height | 作成するイメージの高さ（ピクセル）
BitCount | 作成したいイメージのビット数 (1, 4, 8, 16, 24, 32, 40, 80) ※4は4ビットカラー、40は4ビットグレー、8は8ビットカラー、80は8ビットグレーとなります。
Red | 作成するイメージカラーの赤 (0～255)
Green | 作成するイメージカラーの緑 (0～255)
Blue | 作成するイメージカラーの青 (0～255)

【戻り値】

成功の場合は作成したラスタイメージのメモリハンドル、失敗の場合は0を返します。

【解説】

指定したビット数により、指定したRGB値が有効にならない場合は、その値に一番近い値を割り当てます。（24ビット以上のイメージの場合は指定した値がそのまま有効となります。）

【ImageKit7/8 ActiveXとの違い】

戻り値の型が変更されました。


CreationTimeDay, CreationTimeHour, CreationTimeMinute, CreationTimeMonth, CreationTimeSecond, CreationTimeYear, LastAccessTimeDay, LastAccessTimeHour, LastAccessTimeMinute, LastAccessTimeMonth, LastAccessTimeSecond, LastAccessTimeYear, LastWriteTimeDay, LastWriteTimeHour, LastWriteTimeMinute, LastWr

イメージキットコントロール／Fileプロパティ

CreationTimeDay, CreationTimeHour, CreationTimeMinute, CreationTimeMonth, CreationTimeSecond, CreationTimeYear, LastAccessTimeDay, LastAccessTimeHour, LastAccessTimeMinute, LastAccessTimeMonth, LastAccessTimeSecond, LastAccessTimeYear, LastWriteTimeDay, LastWriteTimeHour, LastWriteTimeMinute, LastWriteTimeMonth, LastWriteTimeSecond, LastWriteTimeYear

【機能】

GetImageFileTypeメソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※CreationTimeDayにて説明（他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.CreationTimeDay [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetCreationTimeDay()

(3)VB.NET imagekitcontrolname.File.CreationTimeDay [ = Short ]

(4)C#.NET imagekitcontrolname.File.CreationTimeDay [ = short ]

【参照値】

CreationTimeDayはファイルの作成日時の日を表します。

CreationTimeHourはファイルの作成日時の時間を表します。

CreationTimeMinuteはファイルの作成日時の分を表します。

CreationTimeMonthはファイルの作成日時の月を表します。

CreationTimeSecondはファイルの作成日時の秒を表します。

CreationTimeYearはファイルの作成日時の年を表します。

LastAccessTimeDayはファイルのアクセス日時の日を表します。

LastAccessTimeHourはファイルのアクセス日時の時間を表します。

LastAccessTimeMinuteはファイルのアクセス日時の分を表します。

LastAccessTimeMonthはファイルのアクセス日時の月を表します。

LastAccessTimeSecondはファイルのアクセス日時の秒を表します。

LastAccessTimeYearはファイルのアクセス日時の年を表します。

LastWriteTimeDayはファイルの更新日時の日を表します。

LastWriteTimeHourはファイルの更新日時の時間を表します。

LastWriteTimeMinuteはファイルの更新日時の分を表します。

LastWriteTimeMonthはファイルの更新日時の月を表します。

LastWriteTimeSecondはファイルの更新日時の秒を表します。

LastWriteTimeYearはファイルの更新日時の年を表します。

【解説】

ファイルの作成日時・アクセス日時・更新日時を表します。

GetImageFileTypeMemメソッドを実行すると各プロパティに0が設定されます。

【値の設定】

不可

【値の参照】

実行時


CustomFilter, CustomFilterVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

CustomFilter, CustomFilterVariant

【機能】

ラスタイメージに対してユーザ独自のフィルタ処理を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.CustomFilter(x As Long, y As Long, Points As Long, Matrix As Long, Div As Integer, Level As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.CustomFilterVariant(x As Variant, y As Variant, Matrix As Variant, Div As Integer, Level As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().CustomFilter(long *x, long *y, long Points, long *Matrix, short Div, short Level, BOOL Red, BOOL Green, BOOL Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.CustomFilter(ByRef x As Integer, ByRef y As Integer, Points As Integer, ByRef Matrix As Integer, Div As Short, Level As Short, Red As Boolean, Green As Boolean, Blue As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.CustomFilterVariant(ByRef x As Object, ByRef y As Object, ByRef Matrix As Object, Div As Short, Level As Short, Red As Boolean, Green As Boolean, Blue As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.CustomFilter(ref int x, ref int y, int Points, ref int Matrix, short Div, short Level, bool Red, bool Green, bool Blue)

[ bool = ]imagekitcontrolname.Effect.CustomFilterVariant(ref object x, ref object y, ref object Matrix, short Div, short Level, bool Red, bool Green, bool Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） CustomFilter (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える CustomFilterVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（CustomFilterのみ）
Matrix | 9×9行列の係数（配列、項目数は81で添字は0～80） CustomFilter (1)Visual Basic Dim Mt(0 To 80) As Long 引数にMt(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にMt(0)を与える (4)C#.NET 引数にref Mt[0]を与える CustomFilterVariant Visual Basic/VB.NET Dim Mt(0 To 80) の場合は、引数にMtを与える C#.NET 引数にref Mtを与える
Div | 行列に対する除数
Level | 行列に対する加減(0～255 大きいほど明るい)
Red | 赤のプレーンに対する処理(False(0):しない、True(0以外):する)
Green | 緑のプレーンに対する処理(False(0):しない、True(0以外):する)
Blue | 青のプレーンに対する処理(False(0):しない、True(0以外):する)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

グレースケールのイメージを処理する場合は、Red, Green, Blueで設定された値は無効となります。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、CustomFilterVariantメソッドをご使用ください。

出力するピクセルの計算式は以下のようになります。

Piはピクセルの値、CiはMatrixの係数の値を表します。

簡単なエンボスフィルタの例を示します。

Div = 1、Level = 128

上の表の値はMatrixの配列のデータを示します。（左から右へ、上から下へいく毎に添字が増える）


CustomPaperHeight, CustomPaperWidth（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

CustomPaperHeight, CustomPaperWidth

【機能】

PaperSizeプロパティが256の時の用紙の縦幅と横幅を表します。

【書式】

※CustomPaperHeightにて説明（CustomPaperWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.CustomPaperHeight [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetCustomPaperHeight()

imagekitcontrolname.GetPrintDraw().SetCustomPaperHeight(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.CustomPaperHeight [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.CustomPaperHeight [ = short ]

【設定値】

CustomPaperHeightは用紙の縦幅(0.1mm単位)。

CustomPaperWidthは用紙の横幅(0.1mm単位)。

【解説】

PaperSizeプロパティが256の場合に有効です。

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

【値の設定】

実行時

【値の参照】

実行時


CutAndCopy（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

CutAndCopy

【機能】

選択範囲を切り取り、切り取ったイメージをクリップボードにコピーします。切り取りで、空いた領域は自動的にバックカラー（背景色）で埋められます。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.CutAndCopy

(2)Visual C++ imagekitcontrolname.GetEdit().CutAndCopy()

(3)VB.NET imagekitcontrolname.Edit.CutAndCopy()

(4)C#.NET imagekitcontrolname.Edit.CutAndCopy()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ）のポップアップメニューの"切り取り"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


CutRectImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

CutRectImage

【機能】

ラスタイメージから指定した矩形領域を切り出します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.CutRectImage

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().CutRectImage()

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.CutRectImage()

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.CutRectImage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

マスクイメージを必要としない矩形の切り出しに使用できます（マスクイメージが必要な場合はSelectImage(Variant)メソッドをご使用ください）。

処理速度はSelectImage(Variant)メソッドと比較して高速です。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定し（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）、切り取る矩形の位置をRecLeft, RectTop, RectRight, RectBottomプロパティに設定します。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


DateStamp（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

DateStamp

【機能】

GPS日付を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.DateStamp [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetDateStamp()

imagekitcontrolname.GetFile().GetExif().SetDateStamp(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.DateStamp [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.DateStamp [ = string ]

【設定値】

GPS日付

UTC(Coordinated Universal Time)に基づく日付情報。フォーマットは"YYYY:MM:DD"。

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

ExifのGPSに関するタグです。

【値の設定】

実行時

【値の参照】

実行時


DateTimeDigitized, DateTimeOriginal（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

DateTimeDigitized, DateTimeOriginal

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※DateTimeDigitizedにて説明（DateTimeOriginalも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.DateTimeDigitized [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetDateTimeDigitized()

imagekitcontrolname.GetFile().GetExif().SetDateTimeDigitized(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.DateTimeDigitized [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.DateTimeDigitized [ = string ]

【設定値】

DateTimeDigitizedは、画像がデジタルデータ化された日付と時間

DateTimeOriginalは、原画像データの生成された日付と時間（デジタルカメラでは撮影された日付と時間）

フォーマットは"YYYY:MM:DD HH:MM:SS"。時間は24時間表示とし、日付と時間の間に空白文字を1つ挿入。

例：　"1996：09：01 09:15:30"

【解説】

Exifの日時に関するタグです。

デジタルカメラなどで撮影され、同時にファイルが記録される場合はDateTimeDigitizedとDateTimeOriginalは同じになります。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


DeleteBitmapObject（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

DeleteBitmapObject

【機能】

ビットマップオブジェクトを削除します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.DeleteBitmapObject(hBitmap As LONG_PTR)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.DeleteBitmapObject(LONG_PTR hBitmap)

(3)VB.NET [ Boolean = ]imagekitcontrolname.DeleteBitmapObject(hBitmap As Integer(x86) or Long(x64))

(4)C#.NET [ bool = ]imagekitcontrolname.DeleteBitmapObject(int(x86) or long(x64) hBitmap)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hBitmap | ビットマップハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

BitmapFromDibメソッドで取得したビットマップハンドルが不要になった場合に使用します。

【ImageKit7/8 ActiveXとの違い】

引数の型が変更されました。


Delete（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Delete

【機能】

選択した要素を削除します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Delete

(2)Visual C++ imagekitcontrolname.GetEdit().Delete()

(3)VB.NET imagekitcontrolname.Edit.Delete()

(4)C#.NET imagekitcontrolname.Edit.Delete()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（べクトル）のポップアップメニューの"削除"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


Delete（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

Delete

【機能】

指定したサムネイル画像をサムネイルコントロールから削除します。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.Delete(ImageNumber As Integer)

(2)Visual C++ [ BOOL = ]thumbcontrolname.Delete(short ImageNumber)

(3)VB.NET [ Boolean = ]thumbcontrolname.Delete(ImageNumber As Short)

(4)C#.NET [ bool = ]thumbcontrolname.Delete(short ImageNumber)

【引数】

名称 | 内容
ImageNumber | サムネイルの一連番号（1～）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

サムネイルコントロールからサムネイル画像を削除しますが、実ファイルは削除しません。

指定したサムネイル画像を次から表示したくない場合は（再度ロードした場合など）、メソッド実行後（戻り値がTrueの時）に実ファイルを削除してください。

実ファイルの名称はメソッド実行前にThumbArrayNumプロパティにサムネイルの一連番号を設定することによりThumbArrayFileName, ThumbArrayPage, ThumbArrayPathNameプロパティに設定されます。


DeSelectImage（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

DeSelectImage

【機能】

指定したサムネイル画像の選択を解除します。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.DeSelectImage(ImageNumber As Integer)

(2)Visual C++ [ BOOL = ]thumbcontrolname.DeSelectImage(short ImageNumber)

(3)VB.NET [ Boolean = ]thumbcontrolname.DeSelectImage(ImageNumber As Short)

(4)C#.NET [ bool = ]thumbcontrolname.DeSelectImage(short ImageNumber)

【引数】

名称 | 内容
ImageNumber | サムネイルの一連番号（1～）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

指定したサムネイル画像が選択されていない場合は、何も行いません。

引数のImageNumberをThumbArrayNumプロパティに設定することにより、ThumbArrayFileName, ThumbArrayPage, ThumbArrayPathNameプロパティを参照できます。


Deskew（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Deskew

【機能】

開発者作成UIで取り込む時のデスキュー（傾き補正）の有無を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Deskew [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetDeskew(short Val)

(3)VB.NET imagekitcontrolname.Scan.Deskew [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.Deskew [ = short ]

【設定値】

値 | 説明
0 | 無効
1 | 有効
2 | 有効（滑らか）

【解説】

原稿の傾きを補正します。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

基本的にPaperSizeプロパティが1000(ikScanUndefinedSize)以上の場合に有効な機能ですが、データソースによっては定型サイズでも有効な場合があります。滑らか設定はパナソニック製スキャナ用ドライバご利用時のみ有効です（メモリ転送時は非圧縮形式のみ）。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

不可


DevMode（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

DevMode

【機能】

指定したプリンタのDEVMODE構造体へのポインタのハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.DevMode [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetPrintDraw().GetDevMode()

imagekitcontrolname.GetPrintDraw().SetDevMode(LONG_PTR Val)

(3)VB.NET imagekitcontrolname.PrintDraw.DevMode [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.PrintDraw.DevMode [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

DEVMODE構造体へのポインタのハンドル

【解説】

GetDevModeHandleメソッドやPrintDialogメソッドを実行すると、指定したプリンタのDEVMODE構造体のハンドルを取得できます。

DevModeプロパティが占有するメモリは、ReleaseDevModeHandleメソッドを実行すると解放されます（プロパティ値は0もしくはNULLになります）。

DevModeプロパティはCollate, ColorMode, Copies, CustomPaperHeight, CustomPaperWidth, Duplex, Orientation, PaperBin, PaperSize, XResolution, YResolution, Zoomプロパティを管理します。

DEVMODE構造体についてはWindowsAPI関連の書籍などをご覧ください。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。

【ImageKit7/8/9 ActiveXとの違い】

・値の設定が可能になりました。

・PrintDialogメソッド実行時にも値が更新されるようになりました。


DevNames（イメージキットコントロール／PrintDrawプロパティ）

（イメージキットコントロール／PrintDrawプロパティ）

DevNames

【機能】

DEVNAMES構造体へのポインタのハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.DevMode [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetPrintDraw().GetDevMode()

imagekitcontrolname.GetPrintDraw().SetDevMode(LONG_PTR Val)

(3)VB.NET imagekitcontrolname.PrintDraw.DevMode [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.PrintDraw.DevMode [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

DEVNAMES構造体へのポインタのハンドル

【解説】

GetDevModeHandleメソッドやPrintDialogメソッドを実行すると、DEVMODE構造体のハンドルに加えてDEVNAMES構造体のハンドルも取得できます。DevNamesプロパティが占有するメモリは、ReleaseDevModeHandleメソッドを実行すると解放されます（プロパティ値は0もしくはNULLになります）。

DevNamesプロパティが有効な場合、GetDevNamesInfoメソッドを実行することによりプリンタ名とポート名を取得できます。

DEVNAMES構造体についてはWindowsAPI関連の書籍などをご覧ください。

【値の設定】

実行時

【値の参照】

実行時


DibFromBitmap（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

DibFromBitmap

【機能】

デバイス依存ビットマップ（DDB）からデバイス独立ビットマップ（DIB）に変換します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.DibFromBitmap(hBm As LONG_PTR, hPal As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.DibFromBitmap(LONG_PTR hBm, LONG_PTR hPal)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.DibFromBitmap(hBm As Integer(x86) or Long(x64), hPal As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.DibFromBitmap(int(x86) or long(x64) hBm, int(x86) or long(x64) hPal)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hBm | ビットマップハンドル
hPal | ビットマップのパレット（パレットがない場合は0）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

成功するとLayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にラスタイメージのメモリハンドルが設定されます。

Visual Basicのピクチャ ボックスからイメージを取得する場合などに使用します。引数として与えたhBmは削除されません。

Visual Basicの例：

' PictureBoxからラスタイメージを取得

Set Picture1.Picture = LoadPicture("C:\Bmp\001.bmp")

' イメージ処理1

ImageKit1.LayerNo = -1

ImageKit1.DibFromBitmap Picture1.Picture.Handle, Picture1.Picture.hPal

' イメージ処理2

【ImageKit7/8 ActiveXとの違い】

引数の型が変更されました。


Direction（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Direction

【機能】

文字列の描画方向を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Direction [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetDirection(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Direction [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.Direction [ = short ]

【設定値】

値 | 説明
0 | 左から右（横書き）
1 | 右から左（横書き）
2 | 上から下（縦書き）
3 | 下から上（縦書き）

【解説】

RotateStringプロパティがFalseの場合、DrawText, TextOutメソッドで有効です。

【値の設定】

実行時

【値の参照】

不可


DispCenterX, DispCenterY（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

DispCenterX, DispCenterY

【機能】

コントロールの中心に表示したいイメージの縦・横の位置（ピクセル）を取得または設定します。

【書式】

※DispCenterXにて説明（DispCenterYも同様な使い方）

(1)Visual Basic imagekitcontrolname.DispCenterX [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetDispCenterX()

imagekitcontrolname.SetDispCenterX(long Val)

(3)VB.NET imagekitcontrolname.DispCenterX [ = Integer ]

(4)C#.NET imagekitcontrolname.DispCenterX [ = int ]

【設定値】

コントロールの中心に表示したい縦横の位置（0以上）をピクセルで設定します。

【解説】

設定されたDispCenterX, DispCenterYプロパティの位置をイメージキットコントロールの中心に合わせてイメージを表示します（表示するにはDisplayImageメソッドを実行する必要があります）。

実寸表示の時にDispCenterX, DispCenterYプロパティは有効になります。

ただし、DispStartX, DispStartYプロパティに0以外が設定されている場合には、DispCenterX, DispCenterYプロパティは無効になります。

また、DispCenterX、DispCenterYプロパティを設定してイメージを表示した後で、イメージをスクロールするとDispStartX, DispStartYプロパティが設定されるため、再度DispCenterX, DispCenterYプロパティを有効にして表示する場合は、DispStartX, DispStartYプロパティを0にしDispCenterX, DispCenterYプロパティを設定する必要があります。

【値の設定】

実行時

【値の参照】

実行時


DispFileName（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

DispFileName

【機能】

サムネイルコントロールに表示する画像の下にそのファイル名を表示するかどうかを指定します。

【書式】

(1)Visual Basic thumbcontrolname.DispFileName [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetDispFileName()

thumbcontrolname.SetDispFileName(BOOL Val)

(3)VB.NET thumbcontrolname.DispFileName [ = Boolean ]

(4)C#.NET thumbcontrolname.DispFileName [ = bool ]

【設定値】

値 | 説明
True | ファイル名もしくは注釈を表示する
False | ファイル名もしくは注釈を表示しない

【解説】

Trueを設定すると、サムネイル画像の下にファイル名や注釈を表示することができます。

ファイル名を表示する場合は当プロパティをTrueにするだけで構いませんが、注釈を表示する場合はShowThumbImageイベント内でTextプロパティに注釈を設定してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


DisplayImage（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

DisplayImage

【機能】

イメージ表示関連の動作を実行します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.DisplayImage

(2)Visual C++ [ BOOL = ]imagekitcontrolname.DisplayImage()

(3)VB.NET [ Boolean = ]imagekitcontrolname.DisplayImage()

(4)C#.NET [ bool = ]imagekitcontrolname.DisplayImage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

DisplayImageメソッドを実行する前にDisplayModeプロパティを設定してください。

DisplayModeプロパティが0(ikClear)の場合はイメージキットコントロールの描画領域に表示されているイメージを消去します。再度DisplayImageメソッドを実行するまで有効です。

DisplayModeプロパティが1(ikScale)以上の場合はShowInDispプロパティがTrueに設定されているイメージを表示します（基本イメージ、Layerイメージが対象）。

イメージを表示する順番は、基本イメージ、Layerイメージ（インデックスが小さい方から大きい方へ）となります。

ただし、基本イメージが設定されていない場合、Layerイメージは表示されません。


DisplayMode（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

DisplayMode

【機能】

表示モードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.DisplayMode [ = DispModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetDisplayMode()

imagekitcontrolname.SetDisplayMode(long Val)

(3)VB.NET imagekitcontrolname.DisplayMode [ = ImageKit10(A)Lib.DispModeConstants ]

(4)C#.NET imagekitcontrolname.DisplayMode [ = ImageKit10(A)Lib.DispModeConstants ]

※ANSI版がImageKit10ALib、Unicode版がImageKit10Libとなります。

【設定値】

値 | 説明
0 | クリア
1 | スケール（イメージのサイズがコントロールのサイズより大きい場合は縮小して表示）
2 | ストレッチ（コントロールのサイズに合わせてイメージをはめこむ）
3 | 実寸（DispScaleX, DispScaleYプロパティによる）
4 | 横幅に合わせる（コントロールのWidthプロパティに合わせてイメージをはめこむ）
5 | 縦幅に合わせる（コントロールのHeightプロパティに合わせてイメージをはめこむ）

定数(ikClear = 0, ikScale = 1, ikStretch = 2, ikActualSize = 3, ikFitToWidth = 4, ikFitToHeight = 5)を使用することも可能です。

【解説】

DisplayImageメソッドを実行する際の表示モードになります。

【値の設定】

実行時

【値の参照】

実行時


Display（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

Display

【機能】

イメージ表示関連の動作を実行します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Display(DispMode As DispModeConstants)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.Display(long DispMode)

(3)VB.NET [ Boolean = ]imagekitcontrolname.Display(DispMode As ImageKit10(A)Lib.DispModeConstants)

(4)C#.NET [ bool = ]imagekitcontrolname.Display(ImageKit10(A)Lib.DispModeConstants DispMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
DispMode | 表示モード（0～5） 0:クリア 1:スケール（イメージのサイズがコントロールのサイズより大きい場合は縮小して表示） 2:ストレッチ（コントロールのサイズに合わせてイメージをはめこむ） 3:実寸（DispScaleX, DispScaleYプロパティによる） 4：横幅に合わせる（コントロールのWidthプロパティに合わせてイメージをはめこむ） 5：縦幅に合わせる（コントロールのHeightプロパティに合わせてイメージをはめこむ）

定数(ikClear = 0, ikScale = 1, ikStretch = 2, ikActualSize = 3, ikFitToWidth = 4, ikFitToHeight = 5)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

DispModeが0(ikClear)の場合はイメージキットコントロールの描画領域に表示されているイメージを消去します。再度Displayメソッドを実行するまで有効です。

DispModeが1(ikScale)以上の場合はShowInDispプロパティがTrueに設定されているイメージを表示します（基本イメージ、Layerイメージが対象）。

イメージを表示する順番は、基本イメージ、Layerイメージ（インデックスが小さい方から大きい方へ）となります。

ただし、基本イメージが設定されていない場合、Layerイメージは表示されません。

このメソッドはIK7との互換性保持のために残されていますので、代わりにDisplayImageメソッドを使用することをお勧めいたします。


Display（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

Display

【機能】

サムネイル画像を表示します。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.Display

(2)Visual C++ [ BOOL = ]thumbcontrolname.Display()

(3)VB.NET [ Boolean = ]thumbcontrolname.Display()

(4)C#.NET [ bool = ]thumbcontrolname.Display()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、予めGetFilesメソッドを実行して表示するファイルの情報を取得する必要があります。また、ColCount、RowCountプロパティが設定されている必要があります。


DispScaleX, DispScaleY（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

DispScaleX, DispScaleY

【機能】

イメージキットコントロールに表示するイメージの縦横のスケーリングの比率を取得または設定します。

【書式】

※DispScaleXにて説明（DispScaleYも同様な使い方）

(1)Visual Basic imagekitcontrolname.DispScaleX [ = Double ]

(2)Visual C++ [ double = ]imagekitcontrolname.GetDispScaleX()

imagekitcontrolname.SetDispScaleX(double Val)

(3)VB.NET imagekitcontrolname.DispScaleX [ = Double ]

(4)C#.NET imagekitcontrolname.DispScaleX [ = double ]

【設定値】

DispScaleXは横方向のスケーリングの比率（実寸は1.0）。

DispScaleYは縦方向のスケーリングの比率（実寸は1.0）。

【解説】

実寸表示の時に有効になります。

【値の設定】

実行時

【値の参照】

実行時


DispStartX, DispStartY（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

DispStartX, DispStartY

【機能】

イメージキットコントロール上に表示するイメージの縦・横の開始位置（ピクセル）を取得または設定します。

【書式】

※DispStartXにて説明（DispStartYも同様な使い方）

(1)Visual Basic imagekitcontrolname.DispStartX [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetDispStartX()

imagekitcontrolname.SetDispStartX(long Val)

(3)VB.NET imagekitcontrolname.DispStartX [ = Integer ]

(4)C#.NET imagekitcontrolname.DispStartX [ = int ]

【設定値】

イメージの縦横の表示開始位置（0以上）をピクセルで設定します。

【解説】

DispStartX, DispStartYプロパティを設定することにより、大きなイメージでも特定の部分から表示を開始することができます。実寸表示の場合のみ、DispStartX, DispStartYプロパティは有効になります。

ただし、DispCenterX, DispCenterYプロパティに0以外が設定されている場合には、DispStartX, DispStartYプロパティは無効になります。

DispStartX, DispStartYプロパティは以前のImageKitで提供していたディスプレイコントロールのStartX, StartYプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


DocumentHeight（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

DocumentHeight

【機能】

文書の高さのサイズ取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.DocumentHeight [ = Integer ]

(2)Visual C++ [ short = ] imagekitcontrolname.GetFile().GetPDF().GetDocumentHeight()

imagekitcontrolname.GetFile().GetPDF().SetDocumentHeight(short Val)

(3)VB.NET imagekitcontrolname.File.PDF.DocumentHeight [ = Short ]

(4)C#.NET imagekitcontrolname.File.PDF.DocumentHeight [ = short ]

【設定値】

文書の高さのサイズ（mm単位）。

【解説】

デフォルトは297です。297はA4サイズの縦向きの高さを表します。

文書のサイズは当プロパティとDocumentWidthプロパティ、またはDocumentSizeプロパティにより決まります。当プロパティの設定値を有効にする場合はDocumentSizeプロパティに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を設定してください。

当プロパティはAddPageメソッド実行時に参照されるため、AddPageメソッド実行前に適切な値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


DocumentSize（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

DocumentSize

【機能】

文書のサイズを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.DocumentSize [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetDocumentSize()

imagekitcontrolname.GetFile().GetPDF().SetDocumentSize(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.DocumentSize [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.DocumentSize [ = String ]

【設定値】

文書のサイズ。

【解説】

デフォルトは空文字列です。文書のサイズは当プロパティまたはDocumentWidthとDocumentHeightプロパティの2つにより決まります。当プロパティにA4などのサイズを設定すれば、そちらが有効になり、空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を設定すれば、DocumentWidthとDocumentHeightプロパティに設定した値が有効になります。

当プロパティはAddPageメソッド実行時に参照されるため、AddPageメソッド実行前に適切な値を設定してください。

当プロパティに設定可能なサイズは次の通りです。

A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、B0、B1、B2、B3、B4、B5、B6、B7、B8、B9、LETTER、LEGAL

※大文字、小文字は問いません。

【値の設定】

実行時

【値の参照】

実行時


DocumentWidth（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

DocumentWidth

【機能】

文書の幅のサイズ取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.DocumentWidth [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetPDF().GetDocumentWidth()

imagekitcontrolname.GetFile().GetPDF().SetDocumentWidth(short Val)

(3)VB.NET imagekitcontrolname.File.PDF.DocumentWidth [ = Short ]

(4)C#.NET imagekitcontrolname.File.PDF.DocumentWidth [ = short ]

【設定値】

文書の幅のサイズ（mm単位）。

【解説】

デフォルトは210です。210はA4サイズの縦向きの幅を表します。

文書のサイズは当プロパティとDocumentHeightプロパティ、またはDocumentSizeプロパティにより決まります。当プロパティの設定値を有効にする場合はDocumentSizeプロパティに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を設定してください。

当プロパティはAddPageメソッド実行時に参照されるため、AddPageメソッド実行前に適切な値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


DrawFocusRect（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

DrawFocusRect

【機能】

画面にフォーカスを示す矩形を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.DrawFocusRect(hDC As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, UnitMode As DeviceUnitModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().DrawFocusRect(LONG_PTR hDC, long left, long top, long right, long bottom, long UnitMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.DrawFocusRect(hDC As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.DrawFocusRect(int (x86) or long(x64) hDC, int left, int top, int right, int bottom, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | デバイスコンテキスト
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
UnitMode | left, top, right, bottomの単位（0:ピクセル単位、1:0.1mm単位）

定数(ikPrinterPixel = 0, ikPrinterMM = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

XOR機能を使用して矩形を描画するため、同じ矩形を引数にして2回呼び出すと画面から矩形が消去されます。描画した矩形を含む領域をスクロールするには、再度矩形を描画して画面から消去し、領域をスクロールした後にもう一度新しい位置に同じ矩形を描画します。

描画するにはBrushStyle, BrushColorプロパティに値を設定する必要があります。

left, top, right, bottomをピクセル単位として扱う場合

UnitModeが0(ikPrinterPixel)

left, top, right, bottomを0.1mm単位として扱う場合

UnitModeが1(ikPrinterMM)

【ImageKit7/8 ActiveXとの違い】

引数hDCの型が変更されました。


DrawString（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

DrawString

【機能】

GDI+の機能を利用して描画先オブジェクトにテキストを描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.DrawString(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, BrushType As Integer, Style As Integer, ImageHandle As LONG_PTR, TextRenderingHint As Integer, FormatFlags As StringFormatFlagsConstants, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().DrawString(LONG_PTR DeviceValue, long left, long top, long right, long bottom, short BrushType, short Style, LONG_PTR ImageHandle, short TextRenderingHint, long FormatFlags, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.DrawString(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, BrushType As Short, Style As Short, ImageHandle As Integer(x86) or Long(x64), TextRenderingHint As Short, FormatFlags As ImageKit10(A)Lib.StringFormatFlagsConstants, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.DrawString(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, short BrushType, short Style, int(x86) or long(x64) ImageHandle, short TextRenderingHint, ImageKit10(A)Lib.StringFormatFlagsConstants FormatFlags, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
BrushType | ブラシの種類（0：ソリッド、1：ハッチ、2：テクスチャ、4：グラデーション）
Style | ブラシ毎のスタイル（BrushTypeが0以外の場合に有効）
ImageHandle | テクスチャブラシ（BrushType=4）の時に使用するラスタイメージのメモリハンドル
TextRenderingHint | テキストのレンダリングモード（デフォルトは0）
FormatFlags | 文字列の書式情報（デフォルトは0）
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

rightあるいはbottomを0に設定するとleftとtopを始点としてテキストを描画します。それ以外の場合はleft, top, right, bottomで囲まれる矩形の内部にテキストが描画され、内部に収まらないテキストは切り捨てられます。

（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはTextColor1, Alpha1, TextColor2, Alpha2, FontName, FontSize, CharAngle, HCentering, VCentering, HotkeyPrefix, Textプロパティに値を設定する必要があります。

HotkeyPrefixプロパティに1以外を設定するとプリフィックス文字の処理を行いません（&AはAにはならず、&AもしくはAと描画されます）。

TextColor1, Alpha1プロパティは「ソリッドブラシ：ブラシの色」「ハッチブラシ：描画される線の色」「グラデーションブラシ:線形グラデーションの開始色」を表します。TextColor2, Alpha2プロパティは「ハッチブラシ：線間の領域の色」「グラデーションブラシ:線形グラデーションの終了色」を表します。

グラデーションブラシ（BrushType=4）を使用する場合は、left, top, right, bottomに矩形領域を設定してください。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

「ブラシ毎のスタイル（Styleに設定する値）」

ハッチブラシの場合：

値 | 説明
0 | 水平線のパターン。
1 | 垂直線のパターン。
2 | 左上から右下への対角線のパターン。
3 | 右上から左下への対角線のパターン。
4 | 交差する水平および垂直の線を指定します。
5 | 交差する右上がりと左上がりの対角線を指定します。線はアンチエイリアス処理されます。
6 | 5%のハッチを指定します。前景色の背景色に対する割合は、5: 100です。
7 | 10%のハッチを指定します。前景色の背景色に対する割合は、10: 100です。
8 | 20%のハッチを指定します。前景色の背景色に対する割合は、20: 100です。
9 | 25%のハッチを指定します。前景色の背景色に対する割合は、25: 100です。
10 | 30%のハッチを指定します。前景色の背景色に対する割合は、30: 100です。
11 | 40%のハッチを指定します。前景色の背景色に対する割合は、40: 100です。
12 | 50%のハッチを指定します。前景色の背景色に対する割合は、50: 100です。
13 | 60%のハッチを指定します。前景色の背景色に対する割合は、60: 100です。
14 | 70%のハッチを指定します。前景色の背景色に対する割合は、70: 100です。
15 | 75%のハッチを指定します。前景色の背景色に対する割合は、75: 100です。
16 | 80%のハッチを指定します。前景色の背景色に対する割合は、80: 100です。
17 | 90%のハッチを指定します。前景色の背景色に対する割合は、90: 100です。
18 | 上の点から下の点へ右に傾斜し、2よりも間隔が50%狭く、アンチエイリアス処理されない対角線。
19 | 上の点から下の点へ左に傾斜し、3よりも間隔が50%狭く、アンチエイリアス処理されない対角線。
20 | 上の点から下の点へ右に傾斜し、2よりも間隔が50%狭く、幅が2倍の対角線。このハッチパターンはアンチエイリアス処理されません。
21 | 上の点から下の点へ左に傾斜し、3よりも間隔が50%狭く、幅が2倍で、線がアンチエイリアス処理されない対角線。
22 | 上の点から下の点へ右に傾斜し、2と間隔が等しく、幅が3倍で、アンチエイリアス処理されない対角線。
23 | 上の点から下の点へ左に傾斜し、3と間隔が等しく、幅が3倍で、アンチエイリアス処理されない対角線。
24 | 間隔が1よりも50%狭い垂直線を指定します。
25 | 間隔が0よりも50%狭い水平線を指定します。
26 | 間隔が1よりも75%狭い(または24よりも25%狭い)垂直線を指定します。
27 | 間隔が0よりも75%狭い(または25よりも25%狭い)水平線を指定します。
28 | 1よりも間隔が50%狭く、幅が2倍の垂直線を指定します。
29 | 0よりも間隔が50%狭く、幅が2倍の水平線を指定します。
30 | 上の点から下の点へ右に傾斜した、破線の対角線を指定します。
31 | 上の点から下の点へ左に傾斜した、破線の対角線を指定します。
32 | 破線の水平線を指定します。
33 | 破線の垂直線を指定します。
34 | 紙吹雪のように見えるハッチを指定します。
35 | 34よりも大きいピースから構成される、紙吹雪のように見えるハッチを指定します。
36 | ジグザグに構成された水平線を指定します。
37 | ティルダで構成された水平線を指定します。
38 | 上の点から下の点へ左に傾斜した、積み重ねたレンガ状のハッチを指定します。
39 | レンガを水平に積み上げたように見えるハッチを指定します。
40 | 織物のように見えるハッチを指定します。
41 | 格子柄の生地のように見えるハッチを指定します。
42 | 芝生のように見えるハッチを指定します。
43 | それぞれがドットで構成されて交差する、水平線と垂直線を指定します。
44 | それぞれがドットで構成されて交差する、右上がりと左上がりの対角線を指定します。
45 | 上の点から下の点へ右に傾斜した、対角線状に積み重ねた板屋根のように見えるハッチを指定します。
46 | 四目格子のように見えるハッチを指定します。
47 | 交互に並べた球体のように見えるハッチを指定します。
48 | 間隔が4よりも50%狭い、交差する水平線と垂直線を指定します。
49 | チェッカーボードのように見えるハッチを指定します。
50 | 49の2倍のサイズの正方形による、チェッカーボードのように見えるハッチを指定します。
51 | 交差する右上がりと左上がりの線で、アンチエイリアス処理されない対角線を指定します。
52 | 斜めに置かれたチェッカーボードのように見えるハッチを指定します。

テクスチャブラシの場合：

値 | 説明
0 | グラデーションまたはテクスチャを並べて表示します。
1 | テクスチャまたはグラデーションを水平方向に反転し、それを並べて表示します。
2 | テクスチャまたはグラデーションを垂直方向に反転し、それを並べて表示します。
3 | テクスチャまたはグラデーションを水平および垂直方向に反転し、それを並べて表示します。
4 | テクスチャまたはグラデーションをオブジェクトの端に揃えます。

グラデーションブラシの場合：

値 | 説明
0 | 左から右へのグラデーションを指定します。
1 | 上から下へのグラデーションを指定します。
2 | 左上から右下へのグラデーションを指定します。
3 | 右上から左下へのグラデーションを指定します。

「テキストのレンダリングモード」

値 | 説明
0 | グリフビットマップを使用し、システム既定のレンダリングヒントで各文字を描画することを指定します。
1 | グリフビットマップを使用して、各文字を描画することを指定します。ヒンティングを使用して、文字のステム部分と曲線部分の見た目を向上します。
2 | グリフビットマップを使用して、各文字を描画することを指定します。ヒンティングは使用されません。
3 | アンチエイリアス処理されたグリフビットマップを使用して、ヒンティングありで各文字を描画することを指定します。アンチエイリアスによってより高い品質が得られますが、パフォーマンスは大きく低下します。
4 | アンチエイリアス処理されたグリフビットマップを使用して、ヒンティングなしに各文字を描画することを指定します。アンチエイリアスによって品質が向上します。ヒンティングがオフにされるため、ステム幅の違いが目立ちます。
5 | グリフCTビットマップを使用して、ヒンティングありで各文字を描画することを指定します。最高の品質設定です。ClearTypeテキストフォント機能を利用するときに使用します。

「文字列の書式情報」

設定値は次の値の論理和となります。

値 | 説明
0x00000001 | テキストの方向を右から左に指定します。
0x00000002 | テキストが縦書きになるよう指定します。
0x00000004 | グリフが外接する四角形にかからないよう指定します。既定では、端に表示する必要がある場合、一部のグリフが若干四角形にかかるよう設定されます。
0x00000020 | 左から右を指示するマークなどの制御文字をグリフで表現します。
0x00000400 | フォールバックを無効にして、要求されたフォントでサポートされていない文字のフォントを切り替えます。 欠落文字は、グリフの欠落したフォント(通常は空白の正方形)で表示されます。
0x00000800 | 既定では、各行末の空白が除外されます。各行末の空白を計測に含める場合はこの値を設定します。
0x00001000 | 四角形内の書式指定時に、行間のテキストのラップを無効にします。この値は、四角形ではなく点が渡された場合、または長さゼロの行の四角形が指定された場合に暗黙的に指定されます。
0x00002000 | 書式指定用の四角形には、完全な直線だけがレイアウトされます。既定では、クリッピングの結果、テキストの末尾が表示された状態、または行が表示されなくなった状態のうち、いずれか早い方の状態になるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、なるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、最後の行の一部が隠れることがあります。必ず行全体が表示されるようにするには、この値を指定した上で、少なくとも1つの行と高さが同じの書式指定用の四角形をご使用ください。
0x00004000 | 論理グリフの突出部と書式指定用の四角形からはみ出すラップされていないテキストを表示できます。 既定では、書式指定用の四角形からはみ出たテキストとグリフ部はすべてクリップされます。

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

定数(ikDirectionRightToLeft = 0x00000001, ikDirectionVertical = 0x00000002, ikNoFitBlackBox = 0x00000004, ikDisplayFormatControl = 0x00000020, ikNoFontFallback = 0x00000400, ikMeasureTrailingSpaces = 0x00000800, ikNoWrap = 0x00001000, ikLineLimit = 0x00002000, ikNoClip = 0x00004000)を使用することも可能です。

コード例：

(1)Visual Basic

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim TxRight As Long

Dim TxBottom As Long

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "ＭＳ ゴシック"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "テキスト"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = vbRed

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = vbWhite

ImageKit1.PrintDraw.Alpha2 = 255

'グラデーションブラシを使用

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

(2)Visual C++

float Str_Width, Str_Height;

long charactersFitted, linesFilled, right, bottom;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetFontSize(20);

ImageKit1.GetPrintDraw().SetFontName("ＭＳ ゴシック");

ImageKit1.GetPrintDraw().SetHotkeyPrefix(0);

ImageKit1.GetPrintDraw().SetText("テキスト");

ImageKit1.GetPrintDraw().MeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, 0);

right = 10 + (long)Str_Width - 1;

bottom = 10 + (long)Str_Height - 1;

ImageKit1.GetPrintDraw().SetCharAngle(0);

ImageKit1.GetPrintDraw().SetTextColor1(RGB(255, 0, 0));

ImageKit1.GetPrintDraw().SetAlpha1(255);

ImageKit1.GetPrintDraw().SetTextColor2(RGB(255, 255, 255));

ImageKit1.GetPrintDraw().SetAlpha2(255);

//グラデーションブラシを使用

ImageKit1.GetPrintDraw().DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

(3)VB.NET

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Integer

Dim linesFilled As Integer

Dim TxRight As Integer

Dim TxBottom As Integer

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "ＭＳ ゴシック"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "テキスト"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = ColorTranslator.ToWin32(Color.Red)

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = ColorTranslator.ToWin32(Color.White)

ImageKit1.PrintDraw.Alpha2 = 255

'グラデーションブラシを使用

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

(4)C#.NET

float Str_Width, Str_Height;

int charactersFitted, linesFilled, right, bottom;

Str_Width = Str_Height = 0;

charactersFitted = linesFilled = 0;

ImageKit1.PrintDraw.FontSize = 20;

ImageKit1.PrintDraw.FontName = "ＭＳ ゴシック";

ImageKit1.PrintDraw.HotkeyPrefix = 0;

ImageKit1.PrintDraw.Text = "テキスト";

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, ref Str_Width, ref Str_Height, ref charactersFitted, ref linesFilled, 0, 0);

right = 10 + (int)Str_Width - 1;

bottom = 10 + (int)Str_Height - 1;

ImageKit1.PrintDraw.CharAngle = 0;

ImageKit1.PrintDraw.TextColor1 = (uint)ColorTranslator.ToWin32(Color.Red);

ImageKit1.PrintDraw.Alpha1 = 255;

ImageKit1.PrintDraw.TextColor2 = (uint)ColorTranslator.ToWin32(Color.White);

ImageKit1.PrintDraw.Alpha2 = 255;

//グラデーションブラシを使用

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

【ImageKit7/8 ActiveXとの違い】

引数DeviceValue, ImageHandleの型が変更されました。


DrawText（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

DrawText

【機能】

描画先オブジェクトにテキストを描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.DrawText(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, EnableFontScale As Boolean, Clip As Boolean, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().DrawText(LONG_PTR DeviceValue, long left, long top, long right, long bottom, BOOL EnableFontScale, BOOL Clip, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.DrawText(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, EnableFontScale As Boolean, Clip As Boolean, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.DrawText(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, bool EnableFontScale, bool Clip, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
EnableFontScale | フォントのスケーリング [True(0以外):する、False(0):しない]
Clip | クリッピング [True(0以外):する、False(0):しない]
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した座標を矩形とし、その中にテキストを描画します。

（対象はスクリーン、プリンタ、メモリハンドル）

EnableFontScaleがTrue(0以外)の場合は、文字列が矩形内に収まりきらない場合にフォントをスケーリングします。ただし、スケーリングを行っても文字列が矩形内に収まりきらない場合は、Clipによって状態が変わります。（例えば、一番小さいフォントサイズを使用しても文字列が矩形内に収まりきらない場合など。）

EnableFontScaleがFalse(0)の場合は、指定されたフォントをそのまま使用し、文字列が境界矩形に収まりきらない場合は収まる最後の単語の切れ目で折り返し、CRLFでも折り返しを行います。（複数行の描画可）

ClipがTrue(0以外)の場合は、矩形内に収まりきらない文字列をカットしますが、False(0)の場合は収まりきらない文字列も描画します。矩形内に文字列が収まる場合は、Clipは意味を持ちません。

文字列の描画方向は、文字列の方向と文字の回転に関わらず、与えられた開始位置から右もしくは下方向に描画します。

描画するにはCharSet, TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, CharExtra, HCentering, VCentering, HotkeyPrefix, Textプロパティに値を設定する必要があります。CharAngleプロパティは0,90,180,270のみ有効です。EnableFontScaleがFalse(0)の場合はCharAngle, Direction, VCenteringプロパティの設定は無効です。HotkeyPrefixプロパティを0に設定するとプリフィックス文字の処理を行いません（&AはAにはならず、&Aと描画されます）。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


DrawVectorColor（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

DrawVectorColor

【機能】

ベクトルイメージを描画する色を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.DrawVectorColor [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetDrawVectorColor()

imagekitcontrolname.SetDrawVectorColor(long Val)

(3)VB.NET imagekitcontrolname.DrawVectorColor [ = Integer ]

(4)C#.NET imagekitcontrolname.DrawVectorColor [ = int ]

【設定値】

描画色。デフォルトは-1です。

デフォルトの場合、イメージの持つ描画色を使用します。

【解説】

値を設定する場合は、-1やRGB（Red, Green, Blue）の戻り値などを与えます。

-1以外の値を設定すると単一色で描画されます。

【値の設定】

実行時

【値の参照】

実行時


DropFileInThumb（サムネイルコントロール／カスタムイベント）

サムネイルコントロール／カスタムイベント

DropFileInThumb

【機能】

サムネイルコントロールにファイルをドロップすると発生します。

【書式】

(1)Visual Basic

thumbcontrolname_DropFileInThumb(ByVal PathName As String, ByVal FileName As String)

(2)Visual C++

OnDropFileInThumb thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName)

(3)VB.NET

thumbcontrolname_DropFileInThumb(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_DropFileInThumbEvent)

(4)C#.NET

thumbcontrolname_DropFileInThumb(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_DropFileInThumbEvent e)

※AxImageKit10ThumbALibはANSI版、AxImageKit10ThumbLibはUnicode版を表します。

【引数】

名称 | 内容
PathName | ドロップするイメージのフォルダ名
FileName | ドロップするイメージのファイル名

※VB.NET/C#.NETでは二番目の引数eにPathName, FileNameが含まれます（先頭の文字が小文字になります）。

【解説】

EnableDragTargetプロパティがTrueの場合に有効となります。


DropoutColor（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

DropoutColor

【機能】

開発者作成UIで取り込む時のドロップアウトカラーを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.DropoutColor [ = DropoutColorConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetDropoutColor(long Val)

(3)VB.NET imagekitcontrolname.Scan.DropoutColor [ = ImageKit10(A)Lib.DropoutColorConstants ]

(4)C#.NET imagekitcontrolname.Scan.DropoutColor [ = ImageKit10(A)Lib.DropoutColorConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 赤
1 | 緑
2 | 青
3 | なし（デフォルト）
4 | 白

定数(ikDropoutColorRed = 0, ikDropoutColorGreen = 1, ikDropoutColorBlue = 2, ikDropoutColorNone = 3, ikDropoutColorWhite = 4)を使用することも可能です。

【解説】

UiModeプロパティが2(ikScanNONUI)、PixelTypeプロパティが0(ikScanPixelBW)もしくは1(ikScanPixelGray)の場合に有効です。だたし、デジタルカメラからの取り込みの場合は無効です。

ドロップアウトカラーを無効にする場合は、3(ikDropoutColorNone)もしくは4(ikDropoutColorWhite)を設定します。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


DsNameCount, DsNameList（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

DsNameCount, DsNameList

【機能】

Listメソッドで取得されるデータソースの数とリストを示します。

【書式】

※DsNameCount

(1)Visual Basic imagekitcontrolname.Scan.DsNameCount [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetScan().GetDsNameCount()

(3)VB.NET imagekitcontrolname.Scan.DsNameCount [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.DsNameCount [ = short ]

※DsNameList

(1)Visual Basic imagekitcontrolname.Scan.DsNameList [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetScan().GetDsNameList()

(3)VB.NET imagekitcontrolname.Scan.DsNameList [ = String ]

(4)C#.NET imagekitcontrolname.Scan.DsNameList [ = string ]

【参照値】

DsNameCountはデータソースの数。

DsNameListはデータソースのリスト。

【解説】

Listメソッドが成功した場合は、リスト文字列として"カレント,XXX,XXX,････････,"がDsNameListプロパティに設定されます。データソースが何も選択されていない場合は","から始まります。（終了は","です。）

カレントは現在選択されているデータソースを表します。

DsNameCountプロパティはインストールされているデータソースの数を示します。

DsNameCount, DsNameListプロパティは以前のImageKitで提供していたスキャンコントロールのScanDsNameCount, ScanDsNameListプロパティに相当します。

【値の設定】

不可

【値の参照】

実行時


DsName（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

DsName

【機能】

取り込みを行うデータソース名を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.DsName [ = String ]

(2)Visual C++ imagekitcontrolname.GetScan().SetDsName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Scan.DsName [ = String ]

(4)C#.NET imagekitcontrolname.Scan.DsName [ = string ]

【設定値】

データソース名。

【解説】

OpenDS, Exec(Variant)メソッドを実行する前に設定する必要があります。

ただし、OpenDSメソッドを実行した後にExec(Variant)メソッドを実行する場合は設定値は無視されます。

DsNameプロパティに何も設定しない場合は、Selectメソッドで選択されたデータソースが有効となります。

DsNameプロパティは以前のImageKitで提供していたスキャンコントロールのScanDsNameプロパティに相当します。

【値の設定】

実行時

【値の参照】

不可


Duplex（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Duplex

【機能】

プリンタが両面印刷をサポートしている場合、両面印刷を行うかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Duplex [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetDuplex()

imagekitcontrolname.GetPrintDraw().SetDuplex(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Duplex [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.Duplex [ = short ]

【設定値】

値 | 説明
1 | 両面印刷なし(DMDUP_SIMPLEX)
2 | 垂直（短い軸）方向の両面印刷(DMDUP_VERTICAL)
3 | 水平（長い軸）方向の両面印刷(DMDUP_HORIZONTAL)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

【値の設定】

実行時

【値の参照】

実行時


Duration（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

Duration

【機能】

再生時間を秒単位で取得します。

【書式】

(1)Visual Basic playcontrolname.Duration [ = Double ]

(2)Visual C++ [ double = ]playcontrolname.GetDuration()

(3)VB.NET playcontrolname.Duration [ = Double ]

(4)C#.NET playcontrolname.Duration [ = double ]

【参照値】

再生時間（秒単位）。

【解説】

Openメソッド実行後に更新されます。

【値の設定】

不可

【値の参照】

実行時


DXFBlack（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

DXFBlack

【機能】

DXFイメージを描画する際に白を黒に置き換えて描画するかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).DXFBlack [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetDXFBlack()

imagekitcontrolname.GetLayer(Index).SetDXFBlack(BOOL Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).DXFBlack [ = Boolean ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).DXFBlack [ = bool ]

※Indexは0～99

【設定値】

値 | 説明
True | 置き換えを有効
False | 置き換えを無効

【解説】

デフォルトはTrueです。

Trueの場合は、DXFイメージの白を黒に置き換えて描画します。

【値の設定】

実行時

【値の参照】

実行時


DXFBlack（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

DXFBlack

【機能】

DXFイメージを描画する際に白を黒に置き換えて描画するかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.DXFBlack [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetDXFBlack()

imagekitcontrolname.SetDXFBlack(BOOL Val)

(3)VB.NET imagekitcontrolname.DXFBlack [ = Boolean ]

(4)C#.NET imagekitcontrolname.DXFBlack [ = bool ]

【設定値】

値 | 説明
True | 置き換えを有効
False | 置き換えを無効

【解説】

デフォルトはTrueです。

Trueの場合は、DXFイメージの白を黒に置き換えて描画します。

【値の設定】

実行時

【値の参照】

実行時


DynamicThreshold（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

DynamicThreshold

【機能】

開発者作成UIで取り込む時のダイナミックスレッシュホールドのレベルを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.DynamicThreshold [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetDynamicThreshold(short Val)

(3)VB.NET imagekitcontrolname.Scan.DynamicThreshold [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.DynamicThreshold [ = short ]

【設定値】

値 | 説明
0 | なし
1 | 明るい
2 | 少し明るい
3 | 標準
4 | 少し暗い
5 | 暗い

【解説】

パナソニック製スキャナ用ドライバご利用時に有効です。

ダイナミックスレッシュホールド機能を有効にすると、文字や絵がつぶれないよう、かすれないよう、最適な読み取りを行います。UiModeプロパティが2(ikScanNONUI)、PixelTypeプロパティが0(ikScanPixelBW)の場合に有効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

DynamicThresholdプロパティに1以上を設定すると、BitDepthReduction, HalfTone, Sharpness, Thresholdプロパティの値は無効となります。

【値の設定】

実行時

【値の参照】

不可


EdgeSize（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EdgeSize

【機能】

サムネイルコントロールの縁のサイズを設定します。

【書式】

(1)Visual Basic thumbcontrolname.EdgeSize [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetEdgeSize()

thumbcontrolname.SetEdgeSize(short Val)

(3)VB.NET thumbcontrolname.EdgeSize [ = Short ]

(4)C#.NET thumbcontrolname.EdgeSize [ = short ]

【設定値】

縁からコマ（サムネイル画像を表示する領域）の始まる位置までのサイズ（ピクセル）

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Edge（イメージキットコントロール／Magnifierプロパティ）

（イメージキットコントロール／Magnifierプロパティ）

Edge

【機能】

虫眼鏡ウィンドウの縁を描画するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Magnifier.Edge [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetMagnifier().GetEdge()

imagekitcontrolname.GetMagnifier().SetEdge(BOOL Val)

(3)VB.NET imagekitcontrolname.Magnifier.Edge [ = Boolean ]

(4)C#.NET imagekitcontrolname.Magnifier.Edge [ = bool ]

【設定値】

値 | 説明
True | 縁を描画する
False | 縁を描画しない

【解説】

デフォルトはFalseです。

Trueの場合、縁の色は黒固定です。

【値の設定】

実行時

【値の参照】

実行時


EditEnable（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

EditEnable

【機能】

イメージの編集を許可するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.EditEnable [ = Boolean ]

(2)Visual C++ [ BOOL = ] imagekitcontrolname.GetEdit().GetEditEnable()

imagekitcontrolname.GetEdit().SetEditEnable(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.EditEnable [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.EditEnable [ = bool ]

【設定値】

値 | 説明
True | 編集を許可する
False | 編集を許可しない

【解説】

デフォルトはFalseです。Trueの場合、イメージの編集が可能になります。

ImageHandleプロパティにラスタイメージが設定されている場合は、ImageHdcプロパティが有効になります。

ベクトルイメージの場合は、EditImageLayerNoプロパティが指すイメージが編集対象となります。

EditEnableプロパティは以前のImageKitで提供していたディスプレイコントロールのEditEnableプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


EditImageLayerNo（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

EditImageLayerNo

【機能】

編集対象となるイメージ番号を指定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.EditImageLayerNo [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetEditImageLayerNo()

imagekitcontrolname.GetEdit().SetEditImageLayerNo(short Val)

(3)VB.NET imagekitcontrolname.Edit.EditImageLayerNo [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.EditImageLayerNo [ = short ]

【設定値】

-1～99

【解説】

デフォルトは-1です。

-1の場合はImageHandleプロパティの指すイメージが編集対象となり、それ以外の場合はLayer(EditImageLayerNo).ImageHandleプロパティの指すイメージが編集対象となります。

ただし、0以上でLayer(EditImageLayerNo).ImageHandleプロパティの指すイメージがラスタイメージの場合は編集できません。

【値の設定】

実行時

【値の参照】

実行時


EditStatus（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

EditStatus

【機能】

イメージの編集状態を取得します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.EditStatus [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetEditStatus()

(3)VB.NET imagekitcontrolname.Edit.EditStatus [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.EditStatus [ = bool ]

【設定値】

イメージの編集状態。

値 | 説明
True | 編集済み
False | 未編集

【解説】

Trueの場合は、Modifyメソッドを実行して編集内容を有効にしてください。

また、アプリケーション終了時にプロパティをチェックして更新することも可能です。

EditStatusプロパティは以前のImageKitで提供していたディスプレイコントロールのEdit.RasterEditStatus, Edit.VectorEditStatusプロパティに相当します。

【値の設定】

不可

【値の参照】

実行時


EditToolBar（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EditToolBar

【機能】

イメージ編集ツールバーを表示もしくは非表示にすると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EditToolBar(ByVal Mode As EditToolBarModeConstants)

(2)Visual C++

OnEditToolBar imagekitcontrolname(long Mode)

(3)VB.NET

imagekitcontrolname_EditToolBar(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_EditToolBarEvent)

(4)C#.NET

imagekitcontrolname_EditToolBar(object sender, AxImageKit10(A)Lib._IImageKitEvents_EditToolBarEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Mode | 表示モード（0：非表示、1：ラスタイメージ用、2：ベクトルイメージ用）

定数(ikHide = 0, ikRaster = 1, ikVector = 2)を使用することも可能です。

※VB.NET/C#.NETでは二番目の引数eにModeが含まれます（先頭の文字が小文字になります）。

【解説】

イメージ編集ツールバーはEditプロパティのShowToolBarメソッドを実行することにより表示（非表示）できます。


Ellipse（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Ellipse

【機能】

描画先オブジェクトに楕円を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Ellipse(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Ellipse(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Ellipse(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Ellipse(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した矩形に内接する円を描画します。アウトラインはPenStyleプロパティの値で描画され、内部はBrushStyleプロパティの値で塗りつぶされます。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


Emboss, EmbossVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Emboss, EmbossVariant

【機能】

ラスタイメージにエンボス（浮き彫り）処理を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Emboss(x As Long, y As Long, Points As Long, MskPattern As Integer, Edge As Integer, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.EmbossVariant(x As Variant, y As Variant, MskPattern As Integer, Edge As Integer, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Emboss(long *x, long *y, long Points, short MskPattern, short Edge, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Emboss(ByRef x As Integer, ByRef y As Integer, Points As Integer, MskPattern As Short, Edge As Short, Level As Short)

[ Boolean = ]imagekitcontrolname.Effect.EmbossVariant(ByRef x As Object, ByRef y As Object, MskPattern As Short, Edge As Short, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Emboss(ref int x, ref int y, int Points, short MskPattern, short Edge, short Level)

[ bool = ]imagekitcontrolname.Effect.EmbossVariant(ref object x, ref object y, short MskPattern, short Edge, short Level)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Emboss (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える EmbossVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Embossのみ）
MskPattern | フィルタマスクのパターン(0～7)
Edge | エッジの強調(1～5 大きいほど強い)
Level | 背景の輝度(0～255 大きいほど明るい)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

MskPatternによって浮き彫り方向が変わります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、EmbossVariantメソッドをご使用ください。


EnableArrowKeys（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableArrowKeys

【機能】

矢印キーおよびPageUp, PageDownキーを有効にするかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableArrowKeys [ = Boolean ]

(2)Visual C++ thumbcontrolname.SetEnableArrowKeys(BOOL Val)

(3)VB.NET thumbcontrolname.EnableArrowKeys [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableArrowKeys [ = bool ]

【設定値】

値 | 説明
True | 矢印キーとPageUp, PageDownキーを有効
False | 矢印キーとPageUp, PageDownキーを無効

【解説】

Trueを設定すると、矢印キーやPageUp, PageDownキーでサムネイル画像を操作できます。

【値の設定】

実行時

【値の参照】

不可


EnableClick（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

EnableClick

【機能】

パンウィンドウでマウスクリックを有効にするかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.EnableClick [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPanWindow().GetEnableClick()

imagekitcontrolname.GetPanWindow().SetEnableClick(BOOL Val)

(3)VB.NET imagekitcontrolname.PanWindow.EnableClick [ = Boolean ]

(4)C#.NET imagekitcontrolname.PanWindow.EnableClick [ = bool ]

【設定値】

値 | 説明
True | マウスクリックを有効
False | マウスクリックを無効

【解説】

デフォルトはFalseです。

Trueの場合、パンウィンドウの矩形領域外でマウスを左クリックすると、クリックされた位置を中心にイメージキットコントロールにイメージを表示します。また、それに伴いパンウィンドウの矩形領域も移動します。

EnableClickプロパティは以前のImageKitで提供していたディスプレイコントロールのClickPanWindowプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


EnableCopy（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

EnableCopy

【機能】

文書内容のコピー・抽出を許可するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.EnableCopy [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnableCopy()

imagekitcontrolname.GetFile().GetPDF().SetEnableCopy(BOOL Val)

(3)VB.NET imagekitcontrolname.File.PDF.EnableCopy [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.PDF.EnableCopy [ = bool ]

【設定値】

値 | 説明
True | 許可する
False | 許可しない

【解説】

デフォルトはTrueです。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。当プロパティの設定値が有効となるのはOwnerPasswordプロパティに文字列を設定した場合です。OwnerPasswordプロパティに空文字列を設定した場合は無効です。

当プロパティで設定した値はPDFの文書のプロパティのセキュリティの「内容のコピー」「アクセシビリティのための内容の抽出」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


EnableDragSource（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableDragSource

【機能】

サムネイル画像をイメージキットコントロールや他のサムネイルコントロールにドラッグ&ドロップできるかどうかを指定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableDragSource [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnableDragSource()

thumbcontrolname.SetEnableDragSource(BOOL Val)

(3)VB.NET thumbcontrolname.EnableDragSource [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableDragSource [ = bool ]

【設定値】

値 | 説明
True | サムネイル画像をイメージキットコントロールや他のサムネイルコントロールにドラッグ&ドロップ可
False | サムネイル画像をイメージキットコントロールや他のサムネイルコントロールにドラッグ&ドロップ不可

【解説】

Trueを設定すると、サムネイル画像をイメージキットコントロールや他のサムネイルコントロールにドラッグ&ドロップできます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


EnableDragTarget（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableDragTarget

【機能】

Windowsのエクスプローラなどから画像をドロップできるかどうかを指定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableDragTarget [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnableDragTarget()

thumbcontrolname.SetEnableDragTarget(BOOL Val)

(3)VB.NET thumbcontrolname.EnableDragTarget [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableDragTarget [ = bool ]

【設定値】

値 | 説明
True | 画像をドロップ可
False | 画像をドロップ不可

【解説】

Trueを設定すると、サムネイルコントロールへ画像をドロップできます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Enabled（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

Enabled

【機能】

パンウィンドウのマウスやキーボードイベントに応答するかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.Enabled [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPanWindow().GetEnabled()

imagekitcontrolname.GetPanWindow().SetEnabled(BOOL Val)

(3)VB.NET imagekitcontrolname.PanWindow.Enabled [ = Boolean ]

(4)C#.NET imagekitcontrolname.PanWindow.Enabled [ = bool ]

【設定値】

値 | 説明
True | マウスやキーボードイベントを有効
False | マウスやキーボードイベントを無効

【解説】

デフォルトはTrueです。

Trueを設定するとマウスダウンやキーダウンなどのイベントに応答できますが、Falseの場合は該当イベントが発生しません。

【値の設定】

実行時

【値の参照】

実行時


Enabled（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Enabled

【機能】

イメージキットコントールのマウスやキーボードイベントに応答するかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.Enabled [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEnabled()

imagekitcontrolname.SetEnabled(BOOL Val)

(3)VB.NET imagekitcontrolname.Enabled [ = Boolean ]

(4)C#.NET imagekitcontrolname.Enabled [ = bool ]

【設定値】

値 | 説明
True | マウスやキーボードイベントを有効
False | マウスやキーボードイベントを無効

【解説】

Trueを設定するとマウスダウンやキーダウンなどのイベントに応答できますが、Falseの場合は該当イベントが発生しません。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Enabled（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Enabled

【機能】

サムネイルコントールのマウスやキーボードイベントに応答するかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.Enabled [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnabled()

thumbcontrolname.SetEnabled(BOOL Val)

(3)VB.NET thumbcontrolname.Enabled [ = Boolean ]

(4)C#.NET thumbcontrolname.Enabled [ = bool ]

【設定値】

値 | 説明
True | マウスやキーボードイベントを有効
False | マウスやキーボードイベントを無効

【解説】

Trueを設定するとマウスダウンやキーダウンなどのイベントに応答できますが、Falseの場合は該当イベントが発生しません。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Enabled（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

Enabled

【機能】

プレイコントロールのマウスやキーボードイベントに応答するかどうかを設定します。

【書式】

(1)Visual Basic playcontrolname.Enabled [ = Boolean ]

(2)Visual C++ [ BOOL = ]playcontrolname.GetEnabled()

playcontrolname.SetEnabled(BOOL Val)

(3)VB.NET playcontrolname.Enabled [ = Boolean ]

(4)C#.NET playcontrolname.Enabled [ = bool ]

【設定値】

値 | 説明
True | マウスやキーボードイベントを有効
False | マウスやキーボードイベントを無効

【解説】

Trueを設定するとマウスダウンやキーダウンなどのイベントに応答できますが、Falseの場合は該当イベントが発生しません。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Enabled（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

Enabled

【機能】

プレビューコントロールのマウスやキーボードイベントに応答するかどうかを設定します。

【書式】

(1)Visual Basic previewcontrolname.Enabled [ = Boolean ]

(2)Visual C++ [ BOOL = ]previewcontrolname.GetEnabled()

previewcontrolname.SetEnabled(BOOL Val)

(3)VB.NET previewcontrolname.Enabled [ = Boolean ]

(4)C#.NET previewcontrolname.Enabled [ = bool ]

【設定値】

値 | 説明
True | マウスやキーボードイベントを有効
False | マウスやキーボードイベントを無効

【解説】

Trueを設定するとマウスダウンやキーダウンなどのイベントに応答できますが、Falseの場合は該当イベントが発生しません。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Enabled（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

Enabled

【機能】

レコードコントロールのマウスやキーボードイベントに応答するかどうかを設定します。

【書式】

(1)Visual Basic recordcontrolname.Enabled [ = Boolean ]

(2)Visual C++ [ BOOL = ]recordcontrolname.GetEnabled()

recordcontrolname.SetEnabled(BOOL Val)

(3)VB.NET recordcontrolname.Enabled [ = Boolean ]

(4)C#.NET recordcontrolname.Enabled [ = bool ]

【設定値】

値 | 説明
True | マウスやキーボードイベントを有効
False | マウスやキーボードイベントを無効

【解説】

Trueを設定するとマウスダウンやキーダウンなどのイベントに応答できますが、Falseの場合は該当イベントが発生しません。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


EnableEditAll（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

EnableEditAll

【機能】

文書の全編集を許可するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.EnableEditAll [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnableEditAll()

imagekitcontrolname.GetFile().GetPDF().SetEnableEditAll(BOOL Val)

(3)VB.NET imagekitcontrolname.File.PDF.EnableEditAll [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.PDF.EnableEditAll [ = bool ]

【設定値】

値 | 説明
True | 許可する
False | 許可しない

【解説】

デフォルトはTrueです。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。当プロパティの設定値が有効となるのはOwnerPasswordプロパティに文字列を設定した場合です。OwnerPasswordプロパティに空文字列を設定した場合は無効です。

当プロパティで設定した値はPDFの文書のプロパティのセキュリティの「注釈」「フォームフィールドの入力」「署名」「テンプレートページの作成」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


EnableEditPopupMenu（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

EnableEditPopupMenu

【機能】

イメージ編集ツールバーで使用するポップアップメニューを表示するかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.EnableEditPopupMenu [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetEnableEditPopupMenu()

imagekitcontrolname.GetEdit().SetEnableEditPopupMenu(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.EnableEditPopupMenu [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.EnableEditPopupMenu [ = bool ]

【設定値】

値 | 説明
True | ポップアップメニューを表示する
False | ポップアップメニューを表示しない

【解説】

デフォルトはTrueです。

ポップアップメニューとは、イメージ編集ツールバーを表示した後でマウスを右クリックすると表示されるメニューのことです。

【値の設定】

実行時

【値の参照】

実行時


EnableEdit（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

EnableEdit

【機能】

文書の編集を許可するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.EnableEdit [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnableEdit()

imagekitcontrolname.GetFile().GetPDF().SetEnableEdit(BOOL Val)

(3)VB.NET imagekitcontrolname.File.PDF.EnableEdit [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.PDF.EnableEdit [ = bool ]

【設定値】

値 | 説明
True | 許可する
False | 許可しない

【解説】

デフォルトはTrueです。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。当プロパティの設定値が有効となるのはOwnerPasswordプロパティに文字列を設定した場合です。OwnerPasswordプロパティに空文字列を設定した場合は無効です。

当プロパティで設定した値はPDFの文書のプロパティのセキュリティの「フォームフィールドの入力」「署名」「テンプレートページの作成」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


EnableMouseMoveButton（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableMouseMoveButton

【機能】

マウスの移動に伴いコマ（サムネイル画像を表示する領域）を自動的に押下するかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableMouseMoveButton [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnableMouseMoveButton()

thumbcontrolname.SetEnableMouseMoveButton (BOOL Val)

(3)VB.NET thumbcontrolname.EnableMouseMoveButton [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableMouseMoveButton [ = bool ]

【設定値】

値 | 説明
True | コマを自動的に押下（選択状態にする）
False | コマを手動で押下

【解説】

Trueを設定しても、手動でコマを押すことは可能です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


EnableMouseWheel（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableMouseWheel

【機能】

マウスホイールを有効にするかどうかを指定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableMouseWheel [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnableMouseWheel()

thumbcontrolname.SetEnableMouseWheel(BOOL Val)

(3)VB.NET thumbcontrolname.EnableMouseWheel [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableMouseWheel [ = bool ]

【設定値】

値 | 説明
True | マウスホイールを有効
False | マウスホイールを無効

【値の設定】

デザイン時、実行時

【値の参照】

実行時


EnableMove（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableMove

【機能】

サムネイルコントールのサムネイル画像の移動可否を設定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableMove [ = Boolean ]

(2)Visual C++ thumbcontrolname.SetEnableMove(BOOL Val)

(3)VB.NET thumbcontrolname.EnableMove [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableMove [ = bool ]

【設定値】

値 | 説明
True | サムネイル画像の移動可
False | サムネイル画像の移動不可

【解説】

デフォルトはFalseです。Trueの場合、マウス操作でサムネイル画像の移動が可能です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


EnableOLEDrag（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

EnableOLEDrag

【機能】

OLEドラッグ＆ドロップを有効にするかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.EnableOLEDrag [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEnableOLEDrag()

imagekitcontrolname.SetEnableOLEDrag(BOOL Val)

(3)VB.NET imagekitcontrolname.EnableOLEDrag [ = Boolean ]

(4)C#.NET imagekitcontrolname.EnableOLEDrag [ = bool ]

【設定値】

値 | 説明
True | OLEドラッグ＆ドロップを有効にする
False | OLEドラッグ＆ドロップを無効にする

【解説】

デフォルトはFalseです。

サムネイルコントロールからイメージキットコントロールに画像をドラッグ＆ドロップする場合は、サムネイルコントロールのEnableOLEDragプロパティにも同じ値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


EnableOLEDrag（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableOLEDrag

【機能】

OLEドラッグ＆ドロップを有効にするかどうかを設定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableOLEDrag [ = Boolean ]

(2)Visual C++ thumbcontrolname.SetEnableOLEDrag (BOOL Val)

(3)VB.NET thumbcontrolname.EnableOLEDrag [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableOLEDrag [ = bool ]

【設定値】

値 | 説明
True | OLEドラッグ＆ドロップを有効にする
False | OLEドラッグ＆ドロップを無効にする

【解説】

デフォルトはFalseです。

サムネイルコントロールからイメージキットコントロール、もしくは別のサムネイルコントロールに画像をドラッグ＆ドロップする場合は、イメージキットコントロールもしくは別のサムネイルコントロールのEnableOLEDragプロパティにも同じ値を設定してください。複数のサムネイル画像をドラッグ＆ドロップする場合は、必ずFalseにしてください。Trueの場合、サムネイル画像を複数選択しても1つしかドロップが有効になりません。

【値の設定】

実行時

【値の参照】

不可


EnablePrint（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

EnablePrint

【機能】

文書の印刷を許可するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.EnablePrint [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnablePrint()

imagekitcontrolname.GetFile().GetPDF().SetEnablePrint(BOOL Val)

(3)VB.NET imagekitcontrolname.File.PDF.EnablePrint [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.PDF.EnablePrint [ = bool ]

【設定値】

値 | 説明
True | 許可する
False | 許可しない

【解説】

デフォルトはTrueです。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。当プロパティの設定値が有効となるのはOwnerPasswordプロパティに文字列を設定した場合です。OwnerPasswordプロパティに空文字列を設定した場合は無効です。

当プロパティで設定した値はPDFの文書のプロパティのセキュリティの「印刷」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


EnableSelectMultiFiles（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableSelectMultiFiles

【機能】

複数のサムネイル画像を選択するかどうかを指定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableSelectMultiFiles [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnableSelectMultiFiles()

thumbcontrolname.SetEnableSelectMultiFiles(BOOL Val)

(3)VB.NET thumbcontrolname.EnableSelectMultiFiles [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableSelectMultiFiles [ = bool ]

【設定値】

値 | 説明
True | 複数のサムネイル画像を選択可
False | 単一のサムネイル画像のみ選択可

【値の設定】

デザイン時、実行時

【値の参照】

実行時


EnableTouch（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

EnableTouch

【機能】

ピンチイン、ピンチアウトによる拡大・縮小を有効にするかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.EnableTouch [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEnableTouch()

imagekitcontrolname.SetEnableTouch(BOOL Val)

(3)VB.NET imagekitcontrolname.EnableTouch [ = Boolean ]

(4)C#.NET imagekitcontrolname.EnableTouch [ = bool ]

【設定値】

値 | 説明
True | ピンチイン、ピンチアウトによる拡大・縮小を有効にする
False | ピンチイン、ピンチアウトによる拡大・縮小を無効にする

【解説】

デフォルトはTrueです。タッチスクリーン対応アプリケーションで有効な機能です。

EnableTouchプロパティの設定値に関わらず、ベクトルデータの編集において、指でオブジェクトの操作を行うときは選択したオブジェクトのガイド表示の四角形の大きさが大きくなります。

【値の設定】

実行時

【値の参照】

実行時


EnableTouch（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

EnableTouch（サムネイルコントロール／カスタムプロパティ

【機能】

タッチスクリーン使用時に指によるサムネイルのスクロールを有効にするかどうかを指定します。

【書式】

(1)Visual Basic thumbcontrolname.EnableTouch [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetEnableTouch()

thumbcontrolname.SetEnableTouch(BOOL Val)

(3)VB.NET thumbcontrolname.EnableTouch [ = Boolean ]

(4)C#.NET thumbcontrolname.EnableTouch [ = bool ]

【設定値】

値 | 説明
True | 指によるスクロールを有効にする
False | 指によるスクロールを無効にする

【解説】

デフォルトはTrueです。タッチスクリーン対応アプリケーションで有効な機能です。

【値の設定】

実行時

【値の参照】

実行時


EndDibAccess, EndDibAccessVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

EndDibAccess, EndDibAccessVariant

【機能】

DIBへのアクセス処理を終了します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.EndDibAccess(DibNo As Integer)

[ Boolean = ]imagekitcontrolname.Effect.EndDibAccessVariant(DibNo As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().EndDibAccess(short DibNo)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.EndDibAccess(DibNo As Short)

[ Boolean = ]imagekitcontrolname.Effect.EndDibAccessVariant(DibNo As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.EndDibAccess(short DibNo)

[ bool = ]imagekitcontrolname.Effect.EndDibAccessVariant(short DibNo)

【引数】

名称 | 内容
DibNo | StartDibAccess(Variant)メソッドで取得したラスタイメージの管理番号

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

StartDibAccess(Variant)メソッドと対で使用します。

DibNoはStartDibAccess(Variant)メソッドで取得した値と同じでなければなりません。

処理の流れとしては

StartDibAccess(Variant)

|

GetDibPixel(Variant), SetDibPixel(Variant)

|

EndDibAccess(Variant)

となります。

コード例についてはStartDibAccess(Variant)メソッドを参照してください。

ASPでは、EndDibAccessVariantメソッドをご使用ください。

※DLLの関数を使用した方が処理速度は速くなります。


EndDispImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EndDispImage

【機能】

イメージを表示した後に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EndDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

(2)Visual C++

OnEndDispImage imagekitcontrolname(long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight)

(3)VB.NET

imagekitcontrolname_EndDispImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_EndDispImageEvent)

(4)C#.NET

imagekitcontrolname_EndDispImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_EndDispImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
OriginX | イメージキットコントロール内でのイメージの表示開始座標（X）
OriginY | イメージキットコントロール内でのイメージの表示開始座標（Y）
Left | 表示されている実イメージの原点からの位置（左）
Top | 表示されている実イメージの原点からの位置（上）
Right | 表示されている実イメージの原点からの位置（右）
Bottom | 表示されている実イメージの原点からの位置（下）
ScaleWidth | 実イメージと表示イメージとの横方向のスケール（比率）
ScaleHeight | 実イメージと表示イメージとの縦方向のスケール（比率）

座標や位置を表す単位はピクセルとなります。

※VB.NET/C#.NETでは二番目の引数eにOriginXなどが含まれます（先頭の文字が小文字になります）。

【解説】

イメージを表示した直後に特定の処理を実行する場合は、イベント内でコードを記述します。

OriginX、OriginYはBorderVisible, Appearance, Gradプロパティの設定値により異なります。

Visual Basic.NETとVisual C#.NETをお使いの場合は、「VB.NETとC#.NETでの注意事項」もご覧ください。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub ImageKit1_EndDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

End Sub


EndLoad, StartLoad（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EndLoad, StartLoad

【機能】

EndLoad ファイルの読込処理後に発生します。

StartLoad ファイルの読込処理前に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EndLoad(ByVal FileName As String)

imagekitcontrolname_StartLoad(ByVal FileName As String)

(2)Visual C++

OnEndLoad imagekitcontrolname(LPCTSTR FileName)

OnStartLoad imagekitcontrolname(LPCTSTR FileName)

(3)VB.NET

imagekitcontrolname_EndLoad(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_EndLoadEvent)

imagekitcontrolname_StartLoad(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_StartLoadEvent)

(4)C#.NET

imagekitcontrolname_EndLoad(object sender, AxImageKit10(A)Lib._IImageKitEvents_EndLoadEvent e)

imagekitcontrolname_StartLoad(object sender, AxImageKit10(A)Lib._IImageKitEvents_StartLoadEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
FileName | 読込ファイル名

※VB.NET/C#.NETでは二番目の引数eにFileNameが含まれます（先頭の文字が小文字になります）。

【解説】

FileプロパティのFileLoadAsRawData, LoadFile(Mem)メソッドを実行した場合に発生します。

LoadFileMemメソッドではRawデータからの読込のためFileNameは空文字列となります。


EndLoadFile（サムネイルコントロール／カスタムイベント）

サムネイルコントロール／カスタムイベント

EndLoadFile

【機能】

サムネイルコントロール上に1イメージをロードした後に発生します。

【書式】

(1)Visual Basic

thumbcontrolname_EndLoadFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer)

(2)Visual C++

OnEndLoadFile thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage)

(3)VB.NET

thumbcontrolname_EndLoadFile(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_EndLoadFileEvent)

(4)C#.NET

thumbcontrolname_EndLoadFile(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_EndLoadFileEvent e)

※AxImageKit10ThumbALibはANSI版、AxImageKit10ThumbLibはUnicode版を表します。

【引数】

名称 | 内容
PathName | ロードするイメージのフォルダ名
FileName | ロードするイメージのファイル名
ImageNumber | サムネイルの一連番号
MaxImage | イメージの総数

※VB.NET/C#.NETでは二番目の引数eにPathNameなどが含まれます（先頭の文字が小文字になります）。

【解説】

実画像をロードした後に発生します。ただし、サムネイルファイル（ThumbnailFileプロパティ）からロードする時は当イベントは発生しません。

実画像のロードに失敗した場合はImageNumberは0となります。

処理を中止する場合はCancelプロパティをTrueに設定します。

マルチイメージファイルの場合は、FileNameにページ番号が付加されます。

（ただし、ページ番号が0の場合は除きます。）

例えば、ABC.TIFファイルのページ番号が2の場合はFileNameに"ABC.TIF 2"が設定されます。


EndPopUpMenu（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EndPopUpMenu

【機能】

ポップアップメニューの処理が終了した直後に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EndPopUpMenu()

(2)Visual C++

OnEndPopUpMenu imagekitcontrolname()

(3)VB.NET

imagekitcontrolname_EndPopUpMenu(ByVal sender As System.Object, ByVal e As System.EventArgs)

(4)C#.NET

imagekitcontrolname_EndPopUpMenu(object sender, EventArgs e)

【引数】

ありません。

【解説】

ポップアップメニューとは、イメージ編集ツールバーを表示した状態でマウスを右クリックして表示されるメニューリストのことです。


EndRasterToVector, StartRasterToVector（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EndRasterToVector, StartRasterToVector

【機能】

EndRasterToVector ベクトル化（ラスタからベクトルへの変換）処理が終了した後で発生します。

StartRasterToVector ベクトル化（ラスタからベクトルへの変換）処理を開始する前に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EndRasterToVector()

imagekitcontrolname_StartRasterToVector()

(2)Visual C++

OnEndRasterToVector imagekitcontrolname()

OnStartRasterToVector imagekitcontrolname()

(3)VB.NET

imagekitcontrolname_EndRasterToVector(ByVal sender As System.Object, ByVal e As System.EventArgs)

imagekitcontrolname_StartRasterToVector(ByVal sender As System.Object, ByVal e As System.EventArgs)

(4)C#.NET

imagekitcontrolname_EndRasterToVector(object sender, EventArgs e)

imagekitcontrolname_StartRasterToVector(object sender, EventArgs e)

【引数】

ありません。

【解説】

VectorプロパティのRasterToVectorメソッドを実行した場合に発生します。


EndSave, StartSave（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EndSave, StartSave

【機能】

EndSave ファイルの保存処理後に発生します。

StartSave ファイルの保存処理前に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EndSave(ByVal FileName As String)

imagekitcontrolname_StartSave(ByVal FileName As String)

(2)Visual C++

OnEndSave imagekitcontrolname(LPCTSTR FileName)

OnStartSave imagekitcontrolname(LPCTSTR FileName)

(3)VB.NET

imagekitcontrolname_EndSave(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_EndSaveEvent)

imagekitcontrolname_StartSave(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_StartSaveEvent)

(4)C#.NET

imagekitcontrolname_EndSave(object sender, AxImageKit10(A)Lib._IImageKitEvents_EndSaveEvent e)

imagekitcontrolname_StartSave(object sender, AxImageKit10(A)Lib._IImageKitEvents_StartSaveEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
FileName | 保存ファイル名

※VB.NET/C#.NETでは二番目の引数eにFileNameが含まれます（先頭の文字が小文字になります）。

【解説】

FileプロパティのFileSaveAsRawData, SaveFile(Mem)メソッドを実行した場合に発生します。

SaveFileMemメソッドではRawデータへ保存するためFileNameは空文字列となります。


EndVectorToRaster, StartVectorToRaster（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

EndVectorToRaster, StartVectorToRaster

【機能】

EndVectorToRaster ラスタ化（ベクトルからラスタへの変換）処理が終了した後で発生します。

StartVectorToRaster ラスタ化（ベクトルからラスタへの変換）処理を開始する前に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_EndVectorToRaster()

imagekitcontrolname_StartVectorToRaster()

(2)Visual C++

OnEndVectorToRaster imagekitcontrolname()

OnStartVectorToRaster imagekitcontrolname()

(3)VB.NET

imagekitcontrolname_EndVectorToRaster(ByVal sender As System.Object, ByVal e As System.EventArgs)

imagekitcontrolname_StartVectorToRaster(ByVal sender As System.Object, ByVal e As System.EventArgs)

(4)C#.NET

imagekitcontrolname_EndVectorToRaster(object sender, EventArgs e)

imagekitcontrolname_StartVectorToRaster(object sender, EventArgs e)

【引数】

ありません。

【解説】

VectorプロパティのVectorToRasterメソッドを実行した場合に発生します。


End（イメージキットコントロール／PDFメソッド）

イメージキットコントロール／PDFメソッド

End

【機能】

PDFの作成処理を終了します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.PDF.End

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().End()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.PDF.End()

(4)C#.NET [ bool = ]imagekitcontrolname.File.PDF.End()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SavePDFFileNameプロパティに設定したファイル名で保存する終了処理です。当メソッドはStart、AddImage、AddPageメソッドと共に使用します。


End（プレイコントロール／カスタムイベント）

（プレイコントロール／カスタムイベント）

End

【機能】

再生が完了した後に発生します。

【書式】

(1)Visual Basic playcontrolname_End()

(2)Visual C++ OnEnd playcontrolname()

(3)VB.NET playcontrolname_End(ByVal sender As System.Object, ByVal e As System.EventArgs)

(4)C#.NET playcontrolname_End(object sender, EventArgs e)

【引数】

ありません。

【解説】

Startメソッドを実行して、Stopメソッドを実行せずに再生が完了した場合にイベントが発生します。


EnumPaperBins, EnumPaperBinsVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

EnumPaperBins, EnumPaperBinsVariant

【機能】

指定されたプリンタ名からサポートされている用紙トレイの名前、トレイの番号を取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.EnumPaperBins(BinNames As String, BinNumbers As Integer)

[ Long = ]imagekitcontrolname.PrintDraw.EnumPaperBinsVariant(BinNames As Variant, BinNumbers As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().EnumPaperBins(BSTR *BinNames, short *BinNumbers)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperBins(ByRef BinNames As String, ByRef BinNumbers As Short)

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperBinsVariant(ByRef BinNames As Object, ByRef BinNumbers As Object)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.EnumPaperBins(ref string BinNames, ref short BinNumbers)

[ int = ]imagekitcontrolname.PrintDraw.EnumPaperBinsVariant(ref object BinNames, ref object BinNumbers)

【引数】

名称 | 内容
BinNames | 用紙トレイの名前を取得する文字列
BinNumbers | 用紙トレイの番号を取得する配列 EnumPaperBins (1)Visual Basic Dim Bnum(0 To 2) As Integerの場合は、Bnum(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にBnum(0)を与える (4)C#.NET 引数にref Bnum[0]を与える EnumPaperBinsVariant Visual Basic/VB.NET Dim Bnum の場合は、引数にBnumを与える C#.NET 引数にref Bnumを与える

【戻り値】

取得した項目数を返します（0は失敗）。

【解説】

配列に必要な要素数はGetArrayNumメソッドで取得します。

BinNames文字列は"xxxxx,xxxxx,xxxxx,････････,"となり（終了は","です）、名称はカンマで区切られて設定されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、EnumPaperBinsVariantメソッドをご使用ください。

コード例：

(1)Visual Basic

Dim Size As Long

Dim BinNames As String

Dim BinNumbers() As Integer

Dim Ret As Long

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(1)

If Size < 1 Then Exit Sub

ReDim BinNumbers(Size)

Ret = ImageKit1.PrintDraw.EnumPaperBins(BinNames, BinNumbers(0))

' 様々な処理

(2)Visual C++

long Size;

BSTR BinNames;

short *BinNumbers;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(1);

if (Size < 1) return;

BinNumbers = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(short) * Size);

__try {

ImageKit1->PrintDraw->EnumPaperBins(&BinNames, BinNumbers);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, BinNumbers);

}

(3)VB.NET

EnumPaperBins

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(1)

If Size < 1 Then Exit Sub

Dim BinNames As String = Nothing

Dim BinNumbers As Short() = New Short(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumPaperBins(BinNames, BinNumbers(0))

' 様々な処理

EnumPaperBinsVariant

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Dim BinNames As Object = Nothing

Dim BinNumbers As Object = Nothing

Ret = ImageKit1.PrintDraw.EnumPaperBinsVariant(BinNames, BinNumbers)

If Ret < 1 Then Exit Sub

' 様々な処理

(4)C#.NET

EnumPaperBins

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterPaperBin);

if (Size < 1) return;

int Ret;

string BinNames = null;

short[] BinNumbers = new short[Size];

Ret = ImageKit1.PrintDraw.EnumPaperBins(ref BinNames, ref BinNumbers[0]);

// 様々な処理

EnumPaperBinsVariant

int Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

object BinNames = null;

object BinNumbers = null;

Ret = ImageKit1.PrintDraw.EnumPaperBinsVariant(ref BinNames, ref BinNumbers);

if (Ret < 1) return;

// 様々な処理


EnumPaperSizes, EnumPaperSizesVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

EnumPaperSizes, EnumPaperSizesVariant

【機能】

指定されたプリンタ名からサポートされている用紙の名前、サイズ番号、寸法を取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.EnumPaperSizes(PaperNames As String, PaperNumbers As Integer, Width As Long, Height As Long)

[ Long = ]imagekitcontrolname.PrintDraw.EnumPaperSizesVariant(PaperNames As Variant, PaperNumbers As Variant, Width As Variant, Height As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().EnumPaperSizes(BSTR *PaperNames, short *PaperNumbers, long *Width, long *Height)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperSizes(ByRef PaperNames As String, ByRef PaperNumbers As Short, ByRef Width As Integer, ByRef Height As Integer)

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperSizesVariant(ByRef PaperNames As Object, ByRef PaperNumbers As Object, ByRef Width As Object, ByRef Height As Object)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.EnumPaperSizes(ref string PaperNames, ref short PaperNumbers, ref int Width, ref int Height)

[ int = ]imagekitcontrolname.PrintDraw.EnumPaperSizesVariant(ref object PaperNames, ref object PaperNumbers, ref object Width, ref object Height)

【引数】

名称 | 内容
PaperNames | 用紙の名前を取得する文字列
PaperNumbers | 用紙のサイズ番号を取得する配列 EnumPaperSizes (1)Visual BasicDim Pnum(0 To 2) As Integerの場合は、Pnum(0)を与える (2)Visual C++配列の先頭のポインタを渡す (3)VB.NET 引数にPnum(0)を与える (4)C#.NET 引数にref Pnum[0]を与える EnumPaperSizesVariant Visual Basic/VB.NET Dim Pnum の場合は、引数にPnumを与える C#.NET 引数にref Pnumを与える
Width, Height | 用紙の寸法を取得する配列 EnumPaperSizes (1)Visual Basic Dim Width(0 To 2) As Integerの場合は、Width(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にWidth(0)を与える (4)C#.NET 引数にref Width[0]を与える EnumPaperSizesVariant Visual Basic/VB.NET Dim Width の場合は、引数にWidthを与える C#.NET 引数にref Widthを与える

【戻り値】

取得した項目数を返します（0は失敗）。

【解説】

配列に必要な要素数はGetArrayNumメソッドで取得します。

PaperNames文字列は"xxxxx,xxxxx,xxxxx,････････,"となり（終了は","です）、名称はカンマで区切られて設定されます。

Width, Heightは各用紙サイズの寸法を0.1mm単位で取得します。印刷の向きを縦方向としてWidthに用紙の幅、Heightに用紙の長さを格納します。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、EnumPaperSizesVariantメソッドをご使用ください。

コード例：

(1)Visual Basic

Dim Size As Long

Dim PaperNames As String

Dim PaperNumbers() As Integer

Dim Width() As Long

Dim Height() As Long

Dim Ret As Long

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(0)

If Size < 1 Then Exit Sub

ReDim PaperNumbers(Size)

ReDim Width(Size)

ReDim Height(Size)

Ret = ImageKit1.PrintDraw.EnumPaperSizes(PaperNames, PaperNumbers(0), Width(0), Height(0))

' 様々な処理

(2)Visual C++

long Size;

BSTR PaperNames;

short *PaperNumbers;

long *Width;

long * Height;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(0);

if (Size < 1) return;

PaperNumbers = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(short) * Size);

Width = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

Height = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

__try {

ImageKit1->PrintDraw->EnumPaperSizes(&PaperNames, PaperNumbers, Width, Height);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, PaperNumbers);

HeapFree(GetProcessHeap(), 0, Width);

HeapFree(GetProcessHeap(), 0, Height);

}

(3)VB.NET

EnumPaperSizes

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(0)

If Size < 1 Then Exit Sub

Dim PaperNames As String = Nothing

Dim PaperNumbers As Short() = New Short(Size - 1) {}

Dim Width As Integer() = New Integer(Size - 1) {}

Dim Height As Integer() = New Integer(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumPaperSizes(PaperNames, PaperNumbers(0), Width(0), Height(0))

' 様々な処理

EnumPaperSizesVariant

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Dim PaperNames As Object = Nothing

Dim PaperNumbers As Object = Nothing

Dim Width As Object = Nothing

Dim Height As Object = Nothing

Ret = ImageKit1.PrintDraw.EnumPaperSizesVariant(PaperNames, PaperNumbers, Width, Height)

If Ret < 1 Then Exit Sub

' 様々な処理

(4)C#.NET

EnumPaperSizes

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

// ANSI版の場合はImageKit10ALib.PrinterCapabilityConstants.ikPrinterPaperSize

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterPaperSize);

if (Size < 1) return;

int Ret;

string PaperNames = null;

short[]PaperNumbers = new short[Size];

int[]Width = new int[Size];

int[]Height = new int[Size];

Ret = ImageKit1.PrintDraw.EnumPaperSizes(ref PaperNames, ref PaperNumbers[0], ref Width[0], ref Height[0]);

// 様々な処理

EnumPaperSizesVariant

int Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

object PaperNames = null;

object PaperNumbers = null;

object Width = null;

object Height = null;

Ret = ImageKit1.PrintDraw.EnumPaperSizesVariant(ref PaperNames, ref PaperNumbers, ref Width, ref Height);

if (Ret < 1) return;

// 様々な処理


EnumPorts, EnumPortsVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

EnumPorts, EnumPortsVariant

【機能】

ポートを列挙します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.EnumPorts(PortNames As String)

[ Long = ]imagekitcontrolname.PrintDraw.EnumPortsVariant(PortNames As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().EnumPorts(BSTR *PortNames)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPorts(ByRef PortNames As String)

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPortsVariant(ByRef PortNames As Object)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.EnumPorts(ref string PortNames)

[ int = ]imagekitcontrolname.PrintDraw.EnumPortsVariant(ref object PortNames)

【引数】

名称 | 内容
PortNames | ポート名を取得する文字列

【戻り値】

取得したポートの数を返します。

【解説】

戻り値が1以上の場合には、PortNamesに取得したポートの名称が設定されます。

PortNamesは"xxxxx,xxxxx,xxxxx,････････,"となり（終了は","です）、名称はカンマで区切られて設定されます。

ASPでは、EnumPortsVariantメソッドをご使用ください。

コード例：

VB.NET

Dim Ports As String = Nothing

Dim Nums As Integer

Nums = ImageKit1.PrintDraw.EnumPorts(Ports)

If Nums = 0 Then Exit Sub

' 様々な処理

C#.NET

string Ports = null;

int Nums = ImageKit1.PrintDraw.EnumPorts(ref Ports);

if (Nums == 0) return;

// 様々な処理


EnumPrinters, EnumPrintersVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

EnumPrinters, EnumPrintersVariant

【機能】

インストールされているプリンタを列挙します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.EnumPrinters(DefaultPrinterNo As Integer)

[ Long = ]imagekitcontrolname.PrintDraw.EnumPrintersVariant(DefaultPrinterNo As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().EnumPrinters(short *DefaultPrinterNo)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPrinters(ByRef DefaultPrinterNo As Short)

[ Integer = ]imagekitcontrolname.PrintDraw.EnumPrintersVariant(ByRef DefaultPrinterNo As Object)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.EnumPrinters(ref short DefaultPrinterNo)

[ int = ]imagekitcontrolname.PrintDraw.EnumPrintersVariant(ref object DefaultPrinterNo)

【引数】

名称 | 内容
DefaultPrinterNo | デフォルトプリンタの番号（0～）

【戻り値】

取得したプリンタの数を返します。

【解説】

戻り値が1以上の場合には、Printersプロパティに取得したプリンタの名称が設定されます。

リストは"xxxxx,xxxxx,xxxxx,････････,"となり（終了は","です）、名称はカンマで区切られて設定されます。

DefaultPrinterNoはPrintersプロパティに設定されたプリンタの中で、通常使うプリンタの番号が何番かを示します。最初のプリンタを示す場合は0となります。

ASPでは、EnumPrintersVariantメソッドをご使用ください。


EnumResolutions, EnumResolutionsVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

EnumResolutions, EnumResolutionsVariant

【機能】

指定されたプリンタ名からサポートされている解像度のリストを取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.EnumResolutions(XResolutions As Long, YResolutions As Long)

[ Long = ]imagekitcontrolname.PrintDraw.EnumResolutionsVariant(XResolutions As Variant, YResolutions As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().EnumResolutions(long *XResolutions, long *YResolutions)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.EnumResolutions(ByRef XResolutions As Integer, ByRef YResolutions As Integer)

[ Integer = ]imagekitcontrolname.PrintDraw.EnumResolutionsVariant(ByRef XResolutions As object, ByRef YResolutions As object)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.EnumResolutions(ref int XResolutions, ref int YResolutions)

[ int = ]imagekitcontrolname.PrintDraw.EnumResolutionsVariant(ref object XResolutions, ref object YResolutions)

【引数】

名称 | 内容
XResolutions | X方向/Y方向解像度のリストを取得する配列
YResolutions | EnumResolutions (1)Visual BasicDim XRes(0 To 2) As Longの場合は、XRes(0)を与える (2)Visual C++配列の先頭のポインタを渡す (3)VB.NET 引数にXRes(0)を与える (4)C#.NET 引数にref XRes[0]を与える EnumResolutionsVariant Visual Basic/VB.NET Dim XRes の場合は、引数にXResを与える C#.NET 引数にref XResを与える

【戻り値】

取得した項目数を返します（0は失敗）。

【解説】

配列に必要な要素数はGetArrayNumメソッドで取得します。

XResolutions, YResolutionsには1インチ当たりのドット数（dpi）単位で水平解像度と垂直解像度を示す値が格納されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、EnumResolutionsVariantメソッドをご使用ください。

コード例：

(1)Visual Basic

Dim Size As Long

Dim XResolutions() As Long

Dim YResolutions() As Long

Dim Ret As Long

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

ReDim XResolutions(Size)

ReDim YResolutions(Size)

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' 様々な処理

(2)Visual C++

long Size;

long *XResolutions;

long *YResolutions;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(2);

if (Size < 1) return;

XResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

YResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

__try {

ImageKit1.GetPrintDraw().EnumResolutions(XResolutions, YResolutions);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, XResolutions);

HeapFree(GetProcessHeap(), 0, YResolutions);

}

(3)VB.NET

EnumResolutions

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

Dim XResolutions As Integer() = New Integer(Size - 1) {}

Dim YResolutions As Integer() = New Integer(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' 様々な処理

EnumResolutionsVariant

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Dim XResolutions As Object = Nothing

Dim YResolutions As Object = Nothing

Ret = ImageKit1.PrintDraw.EnumResolutionsVariant(XResolutions, YResolutions)

If Ret < 1 Then Exit Sub

' 様々な処理

(4)C#.NET

EnumResolutions

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

// ANSI版の場合はImageKit10ALib.PrinterCapabilityConstants.ikPrinterResolution

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterResolution);

if (Size < 1) return;

int Ret;

int[] XResolutions = new int[Size];

int[] YResolutions = new int[Size];

Ret = ImageKit1.PrintDraw.EnumResolutions(ref XResolutions[0], ref YResolutions[0]);

// 様々な処理

EnumResolutionsVariant

int Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

object XResolutions = null;

object YResolutions = null;

Ret = ImageKit1.PrintDraw.EnumResolutionsVariant(ref XResolutions, ref YResolutions);

if (Ret < 1) return;

// 様々な処理


EraserSize1, EraserSize2, EraserSize3, EraserSize4, EraserSize5（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

EraserSize1, EraserSize2, EraserSize3, EraserSize4, EraserSize5

【機能】

イメージ編集ツールバーで使用する消しゴムのサイズを設定します。

【書式】

※EraserSize1にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.EraserSize1 [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetEraserSize1()

imagekitcontrolname.GetEdit().SetEraserSize1(short Val)

(3)VB.NET imagekitcontrolname.Edit.EraserSize1 [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.EraserSize1 [ = short ]

【設定値】

消しゴムの太さ。（ピクセル）

デフォルトはEraserSize1が1、EraserSize2が3、EraserSize3が6、EraserSize4が9、EraserSize5が12です。

【解説】

5パターンの消しゴムの太さを定義できます。

設定した太さはイメージ編集ツールバーに反映されます。

【値の設定】

実行時

【値の参照】

実行時


EraserSize（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

EraserSize

【機能】

イメージ編集ツールバーで使用する消しゴムを選択します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.EraserSize [ = EraserSizeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetEraserSize()

imagekitcontrolname.GetEdit().SetEraserSize(long Val)

(3)VB.NET imagekitcontrolname.Edit.EraserSize [ = ImageKit10(A)Lib.EraserSizeConstants ]

(4)C#.NET imagekitcontrolname.Edit.EraserSize [ = ImageKit10(A)Lib.EraserSizeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 消しゴム1（EraserSize1）
1 | 消しゴム2（EraserSize2）
2 | 消しゴム3（EraserSize3）
3 | 消しゴム4（EraserSize4）
4 | 消しゴム5（EraserSize5）

定数(ikEraserSize1 = 0, ikEraserSize2 = 1, ikEraserSize3 = 2, ikEraserSize4 = 3, ikEraserSize5 = 4)を使用することも可能です。

【解説】

コードで消しゴムを切り替える場合に使用します。0の場合は、EraserSize1プロパティのサイズが有効になります。

ただし、イメージ編集ツールバーのオブジェクトを選択した場合は、そちらのサイズが有効になります。

【値の設定】

実行時

【値の参照】

実行時


ErrorStatus（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ErrorStatus

【機能】

イメージキットコントロールを使用して起きたエラーの種類を示します。

【書式】

(1)Visual Basic imagekitcontrolname.ErrorStatus [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetErrorStatus()

(3)VB.NET imagekitcontrolname.ErrorStatus [ = Short ]

(4)C#.NET imagekitcontrolname.ErrorStatus [ = short ]

【参照値】

値 | 説明
0 | 正常終了（エラーなし）
1 | キャンセル
2 | その他のエラー
3 | メモリエラー
4 | サポート外機能
5 | 設定値が不正
6 | ファイルが不正
7 | イメージが不正
8 | Twain_32.dllまたはTWAINDSM.dllがロードできない
9 | 描画エラー
10 | 対象外イメージ
11 | 実行順序エラー
12 | ADFに用紙がセットされていない（UI非表示のみ）
13 | デジタルカメラに画像がない（UI非表示のみ）
14 | DLLがロードされていない
15 | 通信エラー
16 | ファイルが見つからない
17 | ファイルが壊れている
18 | タイムオーバーで処理をキャンセル
19 | パスワード、ユーザ名が異なる（アクセスができない）
20 | ファイルがオープンできない
21 | ファイルが作成できない
22 | ファイルが書き込みできない
23 | ファイルが読み込みできない
24 | 表示イメージデータがない
25 | PDFに設定したパスワードのエラー
101 | Twain_32.dllまたはTWAINDSM.dllにエントリポイントがない
102 | データソースマネージャやデータソースがオープンされていない、もしくはオープンできない
103 | データソースがない
104 | データソースは既に最大数のアプリケーションに接続されている
105 | データソースまたはデータソースマネージャでエラーが発生
106 | 認識できないトリプレット（TWAIN - DG_XXX/DAT_XXX/MSG_XXX）
107 | スキャンデバイスの稼動状態を確認
108 | フィーダーに用紙が詰まった
109 | フィーダーに複数の用紙が取り込まれた
110 | 解像度が不正
111 | カバーが開いている
112 | 原稿の角が傷んでいる
113 | 原稿をキャプチャー中のフォーカスエラー
114 | 原稿がとても明るい
115 | 原稿がとても暗い
116 | イメージ情報が取得できないため転送不可

【解説】

イメージキットコントロールのメソッドを実行することにより、値を参照できます。

13の場合は、デジタルカメラのTWAINドライバがTWAIN規約のバージョン1.7以降に対応している場合が対象で、108・109はTWAINドライバがTWAIN規約のバージョン1.8以降に対応している場合が対象となります。

110はEPSON製スキャナ用ドライバご利用時にモアレ除去機能を使用した場合が対象です。

111～115はTWAINドライバがTWAIN規約のバージョン2.0以降に対応している場合が対象で、116はTWAINドライバがTWAIN規約のバージョン2.1以降に対応している場合が対象となります。

【値の設定】

不可

【値の参照】

実行時


ErrorStatus（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ErrorStatus

【機能】

サムネイルコントロールを使用して起きたエラーの種類を示します。

【書式】

(1)Visual Basic thumbcontrolname.ErrorStatus [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetErrorStatus()

(3)VB.NET thumbcontrolname.ErrorStatus [ = Short ]

(4)C#.NET thumbcontrolname.ErrorStatus [ = short ]

【参照値】

値 | 説明
0 | 正常終了（エラーなし）
1 | キャンセル
2 | その他のエラー
3 | メモリエラー
4 | サポート外機能
5 | 設定値が不正
6 | ファイルが不正
7 | イメージが不正
9 | 描画エラー
10 | 対象外イメージ
11 | 実行順序エラー
14 | DLLがロードされていない
15 | 通信エラー
16 | ファイルが見つからない
17 | ファイルが壊れている
18 | タイムオーバーで処理をキャンセル
19 | パスワード、ユーザ名が異なる（アクセスができない）
20 | ファイルがオープンできない
21 | ファイルが作成できない
22 | ファイルが書き込みできない
23 | ファイルが読み込みできない
24 | 表示イメージデータがない

【解説】

サムネイルコントロールのメソッドを実行することにより、値を参照できます。

【値の設定】

不可

【値の参照】

実行時


ErrorStatus（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

ErrorStatus

【機能】

プレイコントロールを使用して起きたエラーの種類を示します。

【書式】

(1)Visual Basic playcontrolname.ErrorStatus [ = Integer ]

(2)Visual C++ [ short = ]playcontrolname.GetErrorStatus()

(3)VB.NET playcontrolname.ErrorStatus [ = Short ]

(4)C#.NET playcontrolname.ErrorStatus [ = short ]

【参照値】

値 | 説明
0 | 正常終了（エラーなし）
2 | その他のエラー
4 | サポート外機能
5 | 設定値が不正
11 | 実行順序エラー
20 | ファイルがオープンできない
201 | DirectXの環境が整っていない
203 | COMインターフェイスに関するエラー

【解説】

プレイコントロールのメソッドを実行することにより、値を参照できます。

【値の設定】

不可

【値の参照】

実行時


ErrorStatus（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

ErrorStatus

【機能】

プレビューコントロールを使用して起きたエラーの種類を示します。

【書式】

(1)Visual Basic previewcontrolname.ErrorStatus [ = Integer ]

(2)Visual C++ [ short = ]previewcontrolname.GetErrorStatus()

(3)VB.NET previewcontrolname.ErrorStatus [ = Short ]

(4)C#.NET previewcontrolname.ErrorStatus [ = short ]

【参照値】

値 | 説明
0 | 正常終了（エラーなし）
2 | その他のエラー
4 | サポート外機能
5 | 設定値が不正
11 | 実行順序エラー
201 | DirectXの環境が整っていない
202 | デバイスが接続されていない
203 | COMインターフェイスに関するエラー

【解説】

プレビューコントロールのメソッドを実行することにより、値を参照できます。

【値の設定】

不可

【値の参照】

実行時


ErrorStatus（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

ErrorStatus

【機能】

レコードコントロールを使用して起きたエラーの種類を示します。

【書式】

(1)Visual Basic recordcontrolname.ErrorStatus [ = Integer ]

(2)Visual C++ [ short = ]recordcontrolname.GetErrorStatus()

(3)VB.NET recordcontrolname.ErrorStatus [ = Short ]

(4)C#.NET recordcontrolname.ErrorStatus [ = short ]

【参照値】

値 | 説明
0 | 正常終了（エラーなし）
2 | その他のエラー
4 | サポート外機能
5 | 設定値が不正
11 | 実行順序エラー
201 | DirectXの環境が整っていない
202 | デバイスが接続されていない
203 | COMインターフェイスに関するエラー

【解説】

レコードコントロールのメソッドを実行することにより、値を参照できます。

【値の設定】

不可

【値の参照】

実行時


Exec, ExecVariant（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

Exec, ExecVariant

【機能】

TWAINデータソースからイメージの取込を実行します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Scan.Exec(Index As Long)

[ Boolean = ]imagekitcontrolname.Scan.ExecVariant(Index As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetScan().Exec(long *Index)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Scan.Exec(ByRef Index As Integer)

[ Boolean = ]imagekitcontrolname.Scan.ExecVariant(ByRef Index As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Scan.Exec(ref int Index)

[ bool = ]imagekitcontrolname.Scan.ExecVariant(ref object Index)

【引数】

名称 | 内容
Index | デジタルカメラから取り込む際に使用するインデックス配列 Exec (1)Visual BasicDim Ix(0 To 2) As Longの場合は、Ix(0)を与える (2)Visual C++配列の先頭のポインタを渡す (3)VB.NET 引数にIx(0)を与える (4)C#.NET 引数にref Ix[0]を与える ※インデックス配列を使用しない場合はNULL(Visual C++), Nothing(VB.NET)もしくはダミー配列を与えてください。 ExecVariant Visual Basic/VB.NET Dim Ix(0 To 2) の場合は、引数にIxを与える C#.NET 引数にref Ixを与える ※インデックス配列を使用しない場合は引数を省略できます（C#.NETでは省略不可）。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

イメージを1枚取り込む前後および最中にイベント（BeforeScan, AfterScan, Scanning）が発生しますので、その中で処理したいコードを記述してください。

IndexはUiModeプロパティが2(ikScanNONUIikScanNONUI)でScanModeプロパティがデジタルカメラを表す場合に有効となりますが、Indexが必要ない場合はNULLもしくはダミー配列を渡してください（ExecVariantメソッドでは引数を省略可能です）。

Indexは、デジタルカメラから指定した画像を取り込む際に使用します。（ScanModeプロパティが4[ikScanCAMArray], 6[ikScanCAMThumbArray]の時に有効）

例えば、5番目の画像と8番目の画像を取り込むには

Index(0) = 5

Index(1) = 8

とします。その際、配列の要素数2をPageCountプロパティに設定します。

データソースによってはサポートされていない機能があります。その場合はサポートされている機能のみを使用して取り込みを行います。

Exec(Variant)メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

Exec(Variant)メソッドを実行する前にOpenDSメソッドを実行すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、ExecVariantメソッドをご使用ください。

Execメソッドは以前のImageKitで提供していたスキャンコントロールのScanExecメソッドに相当します。

＜メソッドを実行する前に設定する必要のあるプロパティ＞

「必須項目」

DsName（空文字列を指定する場合は、予めSelectメソッドを実行しておくこと）

※OpenDSメソッドを事前に実行した場合はDsNameは無効（オープンされたデータソースが有効）

TransferMode, Compression, UiMode（エプソン製スキャナ用ドライバご利用時はExtUiModeも必須）

「設定条件により必要な項目」

FileFormat, FileName, InformationFileName, JpegQuality

UiModeが2(ikScanNONUI)でScanModeが100(ikInformationFile)の場合

ScanMode, PageCount, UnitMode

UiModeが2(ikScanNONUI)でScanModeが100以外の場合

(1)スキャナ

AdjustGamma, AutoBright, BitDepth, BitDepthReduction, Border, BorderColor, BorderDetection, Brightness, ColorBWRatio, Contrast, Deskew, DropoutColor, DynamicThreshold, FocusPosition, Gamma,HalfTone, Highlight, IgnoreBackColor, ImageFilter, ImageMerge, Indicator, MoireFilter, NoiseFilter, Orientation, OverScan, PageCount, PaperSize, PixelType, RemoveHole, Rotation, ScanMode, ScanningSpeed, Shadow, Sharpness, SkipBlankPage, SkipBlankThreshold, TextEnhancement, Threshold, UnitFlag, UnitMode, XResolution, XScaling, YResolution, YScaling

PaperSize<=0: RectBottom, RectLeft, RectRight, RectTop

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

(2)デジタルカメラ

PageCount, ScanMode, UnitMode ※ScanMode=1(ikScanADF1)の場合は、XResolution = 0とすること。

＜メソッド実行後に取得されるプロパティ＞

BitDepth, Compression, ErrorStatus, FileFormat（ファイル転送の場合）, PixelType, RectBottom, RectLeft, RectRight, RectTop, ScanCount, UnitMode, XResolution, YResolution

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

（開発者作成UIを使用する上での注意事項）

UiModeが2(ikScanNONUI)の場合、機種やプロパティの設定状態により読み取りに失敗する場合があります。エラーが発生する主な原因を次に示しますので参考にしてください。

・設定した取り込み単位がサポートされていない。サポートされている値はGetCapEnum(Variant)メソッドで取得できます。

・設定したピクセルタイプがサポートされていない。サポートされている値はGetCapEnum(Variant)メソッドで取得できます。

・設定した画素ビット数がサポートされていない。サポートされている値はGetBitDepth(Variant)メソッドで取得できます。

・設定した解像度がサポートされていない。サポートされている値はGetCapEnum(Variant), GetCapRange(Variant)メソッドで取得できます。

・設定した用紙サイズがサポートされていない。サポートされている値はGetCapEnum(Variant)メソッドで取得できます。

(1)用紙サイズそのものがサポートされていない場合

PaperSizeプロパティに0（ユーザ定義サイズ）を設定し、RectLeft, RectTop, RectRight, RectBottomプロパティに範囲内の値を設定する。読み取り範囲は、GetMinimumSize(Variant)とGetPhysicalSize(Variant)メソッドで取得できます。

(2)設定した用紙サイズがサポートされているのに読み取りに失敗する場合

PaperSizeプロパティに0（ユーザ定義サイズ）以外を設定してご確認ください。

コード例：

Visual Basic

Dim Index(0 To 2) As Long

Dim Ret As Boolean

Ret = ImageKit1.Scan.Initialize(hWnd, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample")

If Ret = False Then Exit Sub

ImageKit1.Scan.ClearProperty

ImageKit1.Scan.TransferMode = 2

ImageKit1.Scan.Compression = 0

ImageKit1.Scan.UiMode = 0

ImageKit1.Scan.DsName = "EPSON TWAIN Pro"

Ret = ImageKit1.Scan.Exec(Index(0))

Ret = ImageKit1.Scan.Terminate

'イベント

Private Sub ImageKit1_AfterScan(ByVal DibHandle As ImageKit10ALibCtl.LONG_PTR, ByVal OrgHandle As ImageKit10ALibCtl.LONG_PTR, ByVal ImageCount As Long, ByVal BitOrder As Integer)

ImageKit1.DisplayMode = ikScale

ImageKit1.ImageHandle = ImageKit1.CopyImage(DibHandle)

ImageKit1.DisplayImage　'AutoDisplayがTrueの場合は不要

End Sub


ExifAutoRotate（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

ExifAutoRotate

【機能】

読み込み対象ファイルがExif形式の場合、主画像の方向に合わせて回転を行って読み込みます。

【書式】

(1)Visual Basic imagekitcontrolname.File.ExifAutoRotate [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetFile().SetExifAutoRotate(BOOL Val)

(3)VB.NET imagekitcontrolname.File.ExifAutoRotate [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.ExifAutoRotate [ = bool ]

【設定値】

値 | 説明
True | 主画像の方向に合わせて回転して読み込む
False | 主画像をありのまま読み込む（方向を無視）

【解説】

デフォルトはTrueです。当プロパティの値はLoadFile, LoadFileMemメソッドで使用されますが、読み込み対象ファイルがExif形式以外の場合は無効です。

【値の設定】

実行時

【値の参照】

不可


ExifAutoRotate（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ExifAutoRotate

【機能】

読み込み対象ファイルがExif形式の場合、主画像の方向に合わせて回転を行って表示します。

【書式】

(1)Visual Basic thumbcontrolname.ExifAutoRotate [ = Boolean ]

(2)Visual C++ thumbcontrolname.SetExifAutoRotate(BOOL Val)

(3)VB.NET thumbcontrolname.ExifAutoRotate [ = Boolean ]

(4)C#.NET thumbcontrolname.ExifAutoRotate [ = bool ]

【設定値】

値 | 説明
True | 主画像の方向に合わせて回転して表示する
False | 主画像をありのまま表示する（方向を無視して表示）

【解説】

デフォルトはTrueです。当プロパティは読み込み対象ファイルがExif形式以外の場合は無効です。

【値の設定】

実行時

【値の参照】

不可


ExposureIndex0, ExposureIndex1, ExposureTime0, ExposureTime1, FlashEnergy0, FlashEnergy1, FNumber0, FNumber1, FocalLength0, FocalLength1, SubjectDistance0, SubjectDistance1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ExposureIndex0, ExposureIndex1, ExposureTime0, ExposureTime1, FlashEnergy0, FlashEnergy1, FNumber0, FNumber1, FocalLength0, FocalLength1, SubjectDistance0, SubjectDistance1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※ExposureIndex0にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.ExposureIndex0 [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureIndex0()

imagekitcontrolname.GetFile().GetExif().SetExposureIndex0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.ExposureIndex0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.ExposureIndex0 [ = int ]

【設定値】

ExposureIndex0は、画像が取り込まれた時、カメラまたは入力機器が選択した露出のインデックスの分子

ExposureIndex1は、画像が取り込まれた時、カメラまたは入力機器が選択した露出のインデックスの分母

露出インデックス = ExposureIndex0 / ExposureIndex1

ExposureTime0は、露出時間の分子

ExposureTime1は、露出時間の分母

露出時間（単位は秒） = ExposureTime0 / ExposureTime1

FlashEnergy0は、画像が取り込まれた時に使用されたストロボのエネルギーの分子

FlashEnergy1は、画像が取り込まれた時に使用されたストロボのエネルギーの分母

画像が取り込まれた時に使用されたストロボのエネルギー（測定単位はBCPS） = FlashEnergy0 / FlashEnergy1

※BCPSはBeam Candle Power Secondsの略

FNumber0は、Fナンバーの分子

FNumber1は、Fナンバーの分母

Fナンバー = FNumber0 / FNumber1

FocalLength0は、撮影レンズの実焦点距離の分子

FocalLength1は、撮影レンズの実焦点距離の分母

撮影レンズの実焦点距離（単位はmm） = FocalLength0 / FocalLength1

SubjectDistance0は、被写体距離の分子

SubjectDistance1は、被写体距離の分母

被写体距離（単位はm） = SubjectDistance0 / SubjectDistance1

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


ExposureProgram（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ExposureProgram

【機能】

撮影時にカメラが使用した露出プログラムのクラスを示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.ExposureProgram [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetExposureProgram()

imagekitcontrolname.GetFile().GetExif().SetExposureProgram(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.ExposureProgram [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.ExposureProgram [ = short ]

【設定値】

値 | 説明
0 | 未定義
1 | マニュアル
2 | ノーマルプログラム
3 | 絞り優先
4 | シャッター優先
5 | creativeプログラム（被写界深度方向にバイアス）
6 | actionプログラム（シャッタースピード高速側にバイアス）
7 | ポートレイトモード（クローズアップ撮影、背景はフォーカス外す）
8 | ランドスケープモード（landscape 撮影、背景はフォーカス合う）

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


ExtendedDialog（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

ExtendedDialog

【機能】

ファイル選択ダイアログのプレビューとファイル情報の表示可否を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.ExtendedDialog [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetExtendedDialog()

imagekitcontrolname.GetFile().SetExtendedDialog(BOOL Val)

(3)VB.NET imagekitcontrolname.File.ExtendedDialog [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.ExtendedDialog [ = bool ]

【設定値】

ファイル選択ダイアログの初期表示時のモード。

値 | 説明
True | プレビューとファイル情報のチェックボックスを表示
False | プレビューとファイル情報のチェックボックスを非表示

【解説】

デフォルトはTrueです。

【値の設定】

実行時

【値の参照】

実行時


ExtUiMode（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ExtUiMode

【機能】

拡張ユーザインタフェースモードを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ExtUiMode [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetExtUiMode(short Val)

(3)VB.NET imagekitcontrolname.Scan.ExtUiMode [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.ExtUiMode [ = short ]

【設定値】

値 | 説明
0 | 前回設定のUIモードで起動
1 | プロフェッショナルモードで起動
2 | 全自動モードで起動
3 | ホームモードで起動
4 | 全自動モードで起動（エラーメッセージを除き、UI非表示）
5 | オフィスモードで起動
7 | シートフィード専用モードで起動

【解説】

エプソン製スキャナ用ドライバご利用時に有効です。

各設定値は『EPSON Scan』のUIで標準で表示されるもののみ設定可能です。

（例：ESシリーズで2, 4、GTシリーズでADF非接続時5／ADF接続時2, 4は設定不可）

UiModeプロパティが0(ikScanUI), 1(ikScanUICLOSE)の場合に有効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi

【機能】

GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※FileBitCountにて説明（FileMaxPage, FileXdpi, FileYdpiも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.FileBitCount [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetFileBitCount()

(3)VB.NET imagekitcontrolname.File.FileBitCount [ = Short ]

(4)C#.NET imagekitcontrolname.File.FileBitCount [ = short ]

※FileHeightにて説明（FileImageSize, FileSize, FileWidth, FileWidthByteも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.FileHeight [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetFileHeight()

(3)VB.NET imagekitcontrolname.File.FileHeight [ = Integer ]

(4)C#.NET imagekitcontrolname.File.FileHeight [ = int ]

※FileType

(1)Visual Basic imagekitcontrolname.File.FileType [ = FileTypeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetFileType()

(3)VB.NET imagekitcontrolname.File.FileType [ = ImageKit10(A)Lib.FileTypeConstants ]

(4)C#.NET imagekitcontrolname.File.FileType [ = ImageKit10(A)Lib.FileTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【参照値】

FileBitCountはイメージの1ピクセルあたりのビット数（1､4､8､16､24､32）。

FileHeightはイメージの縦のピクセル数。

FileImageSizeはイメージサイズのバイト数。

FileMaxPageはイメージファイルのページ数。

FileSizeはイメージファイルのサイズ。

FileTypeはイメージのファイルの種類（1～29）。

FileWidthはイメージの横のピクセル数。

FileWidthByteはイメージの1ラインのバイト数。

FileXdpiはイメージの横方向の1インチあたりのピクセル数。

FileYdpiはイメージの縦方向の1インチあたりのピクセル数。

【解説】

FileBitCountの示すイメージの色は

1:2値 4:16色 8:256色

16:16ﾋﾞｯﾄｶﾗｰ 24:24ﾋﾞｯﾄｶﾗｰ 32:32ﾋﾞｯﾄｶﾗｰ

となります。

FileTypeの示すファイルの種類は

1:BMP/DIB 2:BMP/DIB(RLE4) 3:BMP/DIB(RLE8)

4:JPEG(基本DCT) 5:JPEG(ﾌﾟﾛｸﾞﾚｯｼﾌﾞDCT) 6:GIF(87a)

7:GIF(89a) 8:TIFF(非圧縮) 9:TIFF(CCITTRLE)

10:TIFF(GROUP3-1D)
      11:TIFF(GROUP3-2D)
       12:TIFF(GROUP4)

13:TIFF(PACKBITS) 14:TIFF(LZW) 15:PNG

16:FPX(非圧縮) 17:FPX(Single Color) 18:FPX(JPEG)

19:PCX 20:WMF 21:EMF

22:DXF 23:Exif(JPEG) 24:SVG

25:JPEG2000(Part1) 26:JPEG2000(Code Stream) 27:SXF(p21)

28:SFC(sfc) 29:TIFF(JPEG)

となります。

TIFFのGROUP3-1DはMH、GROUP3-2DはMR、GROUP4はMMRと同じ形式です。

Exifはバージョン2.3の一部のタグにも対応しています。0の場合は未対応の形式です。

定数(ikFileTypeBMP = 1, ikFileTypeBMPRLE4 = 2, ikFileTypeBMPRLE8 = 3, ikFileTypeJPEG = 4, ikFileTypeJPEGProgress = 5, ikFileTypeGIF87 = 6, ikFileTypeGIF89 = 7, ikFileTypeTIFFNoncompressed = 8, ikFileTypeTIFFCcittrle = 9, ikFileTypeTIFFGroup3_1D = 10, ikFileTypeTIFFGroup3_2D = 11, ikFileTypeTIFFGroup4 = 12, ikFileTypeTIFFPackbits = 13, ikFileTypeTIFFLZW = 14, ikFileTypePNG = 15, ikFileTypeFPXNoncompressed = 16, ikFileTypeFPXSingleColor = 17, ikFileTypeFPXJpeg = 18, ikFileTypePCX = 19, ikFileTypeWMF = 20, ikFileTypeEMF = 21, ikFileTypeDXF = 22, ikFileTypeEXIF = 23, ikFileTypeSVG = 24, ikFileTypeJPEG2000 = 25, ikFileTypeJPEG2000Stream = 26, ikFileTypeSXFP21 = 27, ikFileTypeSXFSFC = 28, ikFileTypeTIFFJPEG = 29)を使用することも可能です。

ベクトルイメージでは、FileBitCount, FileImageSize, FileMaxPage, FileWidthByteプロパティは使用しません。

対応しているファイル形式であっても、ファイルに該当する情報が保存されていない場合はプロパティに0が設定されます。

【値の設定】

不可

【値の参照】

実行時


FileExt, FilePath（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

FileExt, FilePath

【機能】

OpenFileDialogメソッドやSaveFileDialogメソッドで初期表示するフォルダやファイルのタイプを取得または設定します。

【書式】

※FileExtにて説明（FilePathも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.FileExt [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetFileExt()

imagekitcontrolname.GetFile().SetFileExt(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.FileExt [ = String ]

(4)C#.NET imagekitcontrolname.File.FileExt [ = string ]

【設定値】

FileExtはファイルのタイプ。

FilePathはフォルダ名。

【解説】

FileExtに複数のタイプを指定する場合には、ファイルの拡張子をセミコロン（；）で区切ります。

"*"を設定すると、種類のところに「全てのファイル」は表示されません。

拡張子を"<JPG>"のように<>で囲むとデフォルトとして表示できます。

また、アルファベットの大文字と小文字は区別しません。（"BMP"と"bmp"を同じとみなします）

例

(1)種類に「全てのファイル」、「BMP」、「JPG」、「PNG」の4つが設定される。

ImageKit1.File.FileExt = "BMP;JPG;PNG;"

(2)種類に「BMP」、「JPG」、「PNG」の3つが設定される。

ImageKit1.File.FileExt = "*;BMP;JPG;PNG;"

【値の設定】

実行時

【値の参照】

実行時


FileExt, FilePath（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

FileExt, FilePath

【機能】

サムネイルコントロールで表示するイメージのフォルダやファイルのタイプを設定します。

【書式】

※FileExtにて説明（FilePathも同様な使い方）

(1)Visual Basic thumbcontrolname.FileExt [ = String ]

(2)Visual C++ [ CString = ]thumbcontrolname.GetFileExt()

thumbcontrolname.SetFileExt(LPCTSTR Val)

(3)VB.NET thumbcontrolname.FileExt [ = String ]

(4)C#.NET thumbcontrolname.FileExt [ = string ]

【設定値】

FileExtはファイルのタイプ。（ファイル名も可）

FilePathはフォルダ名。

【解説】

FileExtに複数のタイプを指定する場合やFilePathに複数のフォルダを指定する場合は、ファイルの拡張子やフォルダの名称をセミコロン（；）で区切ってください。

また、FileExtはアルファベットの大文字と小文字を区別しません。（"BMP"と"bmp"を同じとみなします）

例

IkThumb1.FileExt = "BMP;JPG;PNG;"

FileExtにファイル名を指定する場合は、"*1.bmp"や"001.bmp"のように設定してください。ただし、"*.bmp;001.bmp"のようにワイルドカードを使用した場合は同じ拡張子を複数設定できませんので注意してください。

例

正：IkThumb1.FileExt = "002.bmp;001.bmp"

誤：IkThumb1.FileExt = "*.bmp;001.bmp"

フォルダ内の特定のファイルのみ表示する場合はListOfFileNamesプロパティに表示するファイル名を設定し、FilePathプロパティに空文字列を設定してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


FileFormat（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

FileFormat

【機能】

ファイル転送時の保存するファイル形式を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.FileFormat [ = ScanFileFormatConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetFileFormat()

imagekitcontrolname.GetScan().SetFileFormat(long Val)

(3)VB.NET imagekitcontrolname.Scan.FileFormat [ = ImageKit10(A)Lib.ScanFileFormatConstants ]

(4)C#.NET imagekitcontrolname.Scan.FileFormat [ = ImageKit10(A)Lib.ScanFileFormatConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | TIFF
1 | PICT
2 | BMP（デフォルト）
3 | XBM
4 | JFIF(JPEG)
5 | FPX
6 | TIFF MULTI
7 | PNG
8 | SPIFF
9 | EXIF
10 | PDF
11 | JP2(JPEG2000 Part1)
13 | JPX(JPEG2000 Part2)
14 | DEJAVU
15 | PDF/A(Version 1)
16 | PDF/A(Version 2)

定数(ikScanFileTIFF = 0, ikScanFilePICT = 1, ikScanFileBMP = 2, ikScanFileXBM = 3, ikScanFileJFIF = 4, ikScanFileFPX = 5, ikScanFileTIFFMULTI = 6, ikScanFilePNG = 7, ikScanFileSPIFF = 8, ikScanFileEXIF = 9, ikScanFilePdf = 10, ikScanFileJp2 = 11, ikScanFileJpx = 13, ikScanFileDejavu = 14, ikScanFilePdfA = 15, ikScanFilePdfA2 = 16)を使用することも可能です。

【解説】

フォーマットに応じてCompressionプロパティにも適切な値を設定します。なお、データソースによってはファイル転送時の圧縮方法は非圧縮のみ有効となる場合があります。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

実行時


FileLoadAsRawData（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FileLoadAsRawData

【機能】

ファイルからそのままの状態でイメージを読み込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FileLoadAsRawData()

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FileLoadAsRawData()

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FileLoadAsRawData()

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FileLoadAsRawData()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

FileNameプロパティに設定されたファイルを読み込み、ImageHandleRawDataプロパティにRawデータを設定します。

読み込み処理中の進捗状況ダイアログを表示させるためにキャプション、メッセージ、ボタンをそれぞれCaption, Message, ButtonNameプロパティに設定することもできます。


FileName（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

FileName

【機能】

イメージの読込・保存時のファイル名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.FileName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetFileName()

imagekitcontrolname.GetFile().SetFileName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.FileName [ = String ]

(4)C#.NET imagekitcontrolname.File.FileName [ = string ]

【設定値】

ファイル名（フルパス）

【解説】

(1)ローカルドライブやネットワークドライブのファイルを読み込む場合

ImageKit1.File.FileName = "c:\abc.jpg"

ImageKit1.File.LoadFile ikLoad

(2)FTPサーバーに配置されているファイルを読み込む場合

ImageKit1.File.FileName = "ftp://www.newtone.co.jp/image/abc.jpg;;;true;user;password" '(*)

ImageKit1.File.LoadFile ikLoad

(*)値を設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーに配置されているファイルを読み込む場合

ImageKit1.File.FileName = "http://www.newtone.co.jp/image/abc.jpg;;;;user;password" '(**)

ImageKit1.File.LoadFile ikLoad

(**)値を設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

ローカルドライブやネットワークドライブのファイルだけではなく、FTPサーバーやHTTP(S)サーバーに配置されているファイルも設定できるようになりました。


FileName（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

FileName

【機能】

ファイル転送時およびメモリ転送の圧縮モード時に保存するファイル名を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.FileName [ = String ]

(2)Visual C++ imagekitcontrolname.GetScan().SetFileName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Scan.FileName [ = String ]

(4)C#.NET imagekitcontrolname.Scan.FileName [ = string ]

【設定値】

保存するファイル名。

【解説】

ファイル転送時（TransferModeプロパティが1[ikScanFile]）およびメモリ転送の圧縮モード時（TransferModeプロパティが2[ikScanMemory], Compressionプロパティが0以外）に読み込んだ画像を保存するファイル名を設定します（255バイト以下）。空文字列およびNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET),null(C#.NET)を設定するとファイルは作成されません。ファイル転送時にはファイル名は必須です。

UiModeが2(ikScanNONUI)でScanModeが0(ikScanDOC)の場合は設定されたファイル名で保存しますが、それ以外の場合は拡張子の前に4桁の連番を挿入します。（例: Image.bmp à Image0001.bmp）

【値の設定】

実行時

【値の参照】

不可


FileName（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

FileName

【機能】

該当するサムネイル画像を選択すると、そのファイル名がセットされます。

【書式】

(1)Visual Basic thumbcontrolname.FileName [ = String ]

(2)Visual C++ [ CString = ]thumbcontrolname.GetFileName()

(3)VB.NET thumbcontrolname.FileName [ = String ]

(4)C#.NET thumbcontrolname.FileName [ = string ]

【参照値】

ファイル名。

【解説】

SelectFileイベントやMouseMoveOnThumbイベント(EnableMouseMoveButtonプロパティがTrueの場合)でもファイル名を取得できます。

複数のサムネイル画像が選択された場合は、最後に選択されたファイルとなります。

サムネイル画像は、マウスクリックやマウスの移動、およびキーボードやSelectImageメソッドによって選択できます。

【値の設定】

不可

【値の参照】

実行時


FileSaveAsRawData（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FileSaveAsRawData

【機能】

Rawデータをファイルに保存します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FileSaveAsRawData()

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FileSaveAsRawData()

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FileSaveAsRawData()

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FileSaveAsRawData()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ImageHandleRawDataプロパティに設定されたRawデータをFileNameプロパティに設定されたファイルに保存します。

保存処理中の進捗状況ダイアログを表示させるためにキャプション、メッセージ、ボタンをそれぞれCaption, Message, ButtonNameプロパティに設定することもできます。


FileSource, SceneType（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

FileSource, SceneType

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※FileSourceにて説明（SceneTypeも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.FileSource [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetFileSource()

imagekitcontrolname.GetFile().GetExif().SetFileSource(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.FileSource [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.FileSource [ = short ]

【設定値】

FileSourceは、画像のソース（デジタルカメラで記録する場合には常に3でなければならない）

値 | 説明
0 | その他
1 | 透過型スキャナ
2 | 反射型スキャナ
3 | デジタルカメラ

SceneTypeは、画像のシーンのタイプ（デジタルカメラで記録する場合には常に1でなければならない）

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


FillPattern（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

FillPattern

【機能】

イメージ編集ツールバーで使用する塗り潰しパターンを選択します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.FillPattern [ = FillPatternConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetFillPattern()

imagekitcontrolname.GetEdit().SetFillPattern(long Val)

(3)VB.NET imagekitcontrolname.Edit.FillPattern [ = ImageKit10(A)Lib.FillPatternConstants ]

(4)C#.NET imagekitcontrolname.Edit.FillPattern [ = ImageKit10(A)Lib.FillPatternConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 枠付き
1 | 塗り潰し
2 | 枠付きの塗り潰し

定数(ikFramePattern = 0, ikFillPattern = 1, ikFillFramePattern = 2)を使用することも可能です。

【解説】

四角、楕円、角丸四角を描画する際の塗り潰しパターンです。

【値の設定】

実行時

【値の参照】

実行時


FillRect（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

FillRect

【機能】

描画先オブジェクトに対して指定した矩形を塗りつぶします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.FillRect(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().FillRect(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.FillRect(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.FillRect(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した矩形をBrushStyleプロパティの値で塗りつぶします。ただし、矩形の左と上の端は領域に含まれますが、右と下の端は含まれません。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはBrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでハッチパターンブラシの場合に有効です。TransparentプロパティがTrueでハッチパターンブラシを選択した場合、線と線の間は透過されません（既定の色で塗りつぶされます）。線と線の間を透過する場合はRectangleメソッドなどをご使用ください。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


FlashPixVersion, GPSVersion, Version（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

FlashPixVersion, GPSVersion, Version

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※FlashPixVersionにて説明（GPSVersion, Versionも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.FlashPixVersion [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetFlashPixVersion()

imagekitcontrolname.GetFile().GetExif().SetFlashPixVersion(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.FlashPixVersion [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.FlashPixVersion [ = string ]

【設定値】

FlashPixVersionは、FPXRファイルのFlashPixフォーマットへの対応バージョン（例："1000"）

GPSVersionは、GPSタグのバージョン（例："2000"）

Versionは、Exifの対応バージョン（例："0210"）

【解説】

Exifのバージョンに関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Flash（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

Flash

【機能】

撮影時のストロボの状態を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.Flash [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetFlash()

imagekitcontrolname.GetFile().GetExif().SetFlash(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.Flash [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.Flash [ = short ]

【設定値】

ストロボを使用して画像が取り込まれた時に記録される値です。

ビット0はストロボの状態、ビット1および2はストロボのリターン状態、ビット3および4はカメラのストロボモード、ビット5はストロボ機能の有無、ビット6は赤目モードを表します。

ストロボ発光状態のビットの値（bit0）

0b = ストロボ発光せず

1b = ストロボ発光

ストロボのリターン状態の値（bit1, 2）

00b = ストロボのリターン検出機能なし

01b = 予約

10b = ストロボのリターン検出されず

11b = ストロボのリターン検出

カメラのストロボモードの値（bit3, 4）

00b = モード不明

01b = 強制発行モード

10b = 強制非発行モード

11b = 自動発行モード

ストロボ機能の有無（bit5）

0b = ストロボ機能有り

1b = ストロボ機能無し

カメラの赤目モードの値（bit6）

0b = 赤目軽減無しまたは不明

1b = 赤目軽減有り

「16進表記」

0x0000 = ストロボ発光せず

0x0001 = ストロボ発光

0x0005 = ストロボ発光、リターン検出されず

0x0007 = ストロボ発光、リターン検出

※Visual Basic(.NET含む)は0xを&Hに置き換えてください。

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


FocalPlaneResolutionUnit, MainResolutionUnit, ThumbResolutionUnit（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

FocalPlaneResolutionUnit, MainResolutionUnit, ThumbResolutionUnit

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※FocalPlaneResolutionUnitにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.FocalPlaneResolutionUnit [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneResolutionUnit()

imagekitcontrolname.GetFile().GetExif().SetFocalPlaneResolutionUnit(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.FocalPlaneResolutionUnit [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.FocalPlaneResolutionUnit [ = short ]

【設定値】

FocalPlaneResolutionUnitは、焦点面の幅の解像度（FocalPlaneXResolution0/FocalPlaneXResolution1）と焦点面の高さの解像度（FocalPlaneYResolution0/FocalPlaneYResolution1）に対する測定単位を表します。

MainResolutionUnitは、MainXResolution0/MainXResolution1とMainYResolution0/MainYResolution1に対する解像度の単位を表します。

ThumbResolutionUnitは、ThumbXResolution0/ThumbXResolution1とThumbYResolution0/ThumbYResolution1に対する解像度の単位を表します。

値 | 説明
2 | インチ
3 | センチメートル

【解説】

FocalPlaneResolutionUnitはExifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


FocalPlaneXResolution0, FocalPlaneXResolution1, FocalPlaneYResolution0, FocalPlaneYResolution1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

FocalPlaneXResolution0, FocalPlaneXResolution1, FocalPlaneYResolution0, FocalPlaneYResolution1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※FocalPlaneXResolution0にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.FocalPlaneXResolution0 [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneXResolution0()

imagekitcontrolname.GetFile().GetExif().SetFocalPlaneXResolution0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.FocalPlaneXResolution0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.FocalPlaneXResolution0 [ = int ]

【設定値】

FocalPlaneXResolution0は、焦点面の幅の解像度の分子

FocalPlaneXResolution1は、焦点面の幅の解像度の分母

焦点面の幅の解像度（単位はFocalPlaneResolutionUnit値） = FocalPlaneXResolution0 / FocalPlaneXResolution1

カメラのフォーカルプレーン上でのFocalPlaneResolutionUnitあたりの画像幅（X）方向の画素数を表します。

FocalPlaneYResolution0は、焦点面の高さの解像度の分子

FocalPlaneYResolution1は、焦点面の高さの解像度の分母

焦点面の高さの解像度（単位はFocalPlaneResolutionUnit値） = FocalPlaneYResolution0 / FocalPlaneYResolution1

カメラのフォーカルプレーン上でのFocalPlaneResolutionUnitあたりの画像高さ（Y）方向の画素数を表します。

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


FocusPosition（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

FocusPosition

【機能】

開発者作成UIで取り込む時の焦点位置を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.FocusPosition [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetFocusPosition(short Val)

(3)VB.NET imagekitcontrolname.Scan.FocusPosition [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.FocusPosition [ = short ]

【設定値】

焦点位置

デフォルトは0です。

【解説】

エプソン製スキャナ用ドライバご利用時に有効です。焦点位置（原稿にピントが合うセンサの位置）を調整できます。

焦点位置は0.1mm単位で設定します。たとえば、1.0mmの場合は10を設定します。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

データソースがサポートしている焦点位置の範囲や値は、GetCapRange(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


FontBold, FontItalic, FontStrikeOut, FontUnderline（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

FontBold, FontItalic, FontStrikeOut, FontUnderline

【機能】

フォントのスタイル・下線・打ち消し線を設定します。

【書式】

※FontBoldにて説明（FontItalic,FontStrikeOut,FontUnderlineも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.FontBold [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetFontBold(BOOL Val)

(3)VB.NET imagekitcontrolname.PrintDraw.FontBold [ = Boolean ]

(4)C#.NET imagekitcontrolname.PrintDraw.FontBold [ = bool ]

【設定値】

FontBoldはフォントを太字にするかしないかの設定。

FontItalicはフォントを斜体にするかしないかの設定。

FontStrikeOutはテキストに打ち消し線を付加するかしないかの設定。

FontUnderlineはテキストに下線を付加するかしないかの設定。

値 | 説明
True | する
False | しない

【解説】

設定したプロパティの情報はDrawString, DrawText, GetTextExtent, MeasureString, TextOutメソッドで有効になります。

FontStrikeOut, FontUnderlineプロパティをTrueに設定した場合でも、CharAngle, Directionプロパティの値により無効になる場合があります。

【値の設定】

実行時

【値の参照】

不可


FontBold, FontItalic, FontStrikeOut, FontTrans, FontUnderline（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

FontBold, FontItalic, FontStrikeOut, FontTrans, FontUnderline

【機能】

イメージ編集ツールバーのフォントのスタイル・下線・打ち消し線などを指定します。

【書式】

※FontBoldにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.FontBold [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetFontBold()

imagekitcontrolname.GetEdit().SetFontBold(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.FontBold [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.FontBold [ = bool ]

【設定値】

FontBoldはフォントを太字にするかしないかの設定。デフォルトはFalse。

FontItalicはフォントを斜体にするかしないかの設定。デフォルトはFalse。

FontStrikeOutはテキストに打ち消し線を付加するかしないかの設定。デフォルトはFalse。

FontTransはテキストの背景色を透過にするかしないかの設定。デフォルトはTrue。

FontUnderlineはテキストに下線を付加するかしないかの設定。デフォルトはFalse。

値 | 説明
True | する
False | しない

【解説】

イメージ編集ツールバーを使用してテキストを描画する際の情報です。

【値の設定】

実行時

【値の参照】

実行時


FontName, Text（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

FontName, Text

【機能】

イメージ編集ツールバーを使用してテキストを描画する際のフォント名や文字列を設定します。

【書式】

※FontNameにて説明（Textも同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.FontName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetEdit().GetFontName()

imagekitcontrolname.GetEdit().SetFontName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Edit.FontName [ = String ]

(4)C#.NET imagekitcontrolname.Edit.FontName [ = string ]

【設定値】

FontNameはフォントの名称（Ansi版は31バイト以内、Unicode版は31文字以内）。

Textは描画する文字列。

【解説】

イメージ編集ツールバーを使用してテキストを描画する際に有効です。

【値の設定】

実行時

【値の参照】

実行時


FontName, Text（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

FontName, Text

【機能】

テキストを描画する際のフォント名や文字列を設定します。

【書式】

※FontNameにて説明（Textも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.FontName [ = String ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetFontName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.PrintDraw.FontName [ = String ]

(4)C#.NET imagekitcontrolname.PrintDraw.FontName [ = string ]

【設定値】

FontNameはフォントの名称（Ansi版は31バイト以内、Unicode版は31文字以内）。

Textは描画する文字列。

【解説】

設定したフォントと文字列はDrawString, DrawText, GetTextExtent, MeasureString, TextOutメソッドで有効となります。

【値の設定】

実行時

【値の参照】

不可


FontSize（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

FontSize

【機能】

イメージ編集ツールバーを使用してテキストを描画する際のフォントのサイズを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.FontSize [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetFontSize()

imagekitcontrolname.GetEdit().SetFontSize(short Val)

(3)VB.NET imagekitcontrolname.Edit.FontSize [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.FontSize [ = short ]

【設定値】

フォントのサイズ（ポイント）

【解説】

イメージ編集ツールバーを使用してテキストを描画する際に有効です。

【値の設定】

実行時

【値の参照】

実行時


FontSize（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

FontSize

【機能】

テキストを描画する際のフォントのサイズを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.FontSize [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetFontSize(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.FontSize [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.FontSize [ = short ]

【設定値】

フォントのサイズ（ポイント）

【解説】

設定したフォントのサイズはDrawString, DrawText, GetTextExtent, MeasureString, TextOutメソッドで有効となります。

ただし、DrawTextメソッドの場合は範囲内に収まるようにスケーリングされますので、設定したサイズがそのまま有効にならない場合があります。

【値の設定】

実行時

【値の参照】

不可


ForeColor, ForeColorDown（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ForeColor, ForeColorDown

【機能】

サムネイルのコマ（サムネイル画像を表示する領域）の色を設定します。

【書式】

※ForeColorにて説明（ForeColorDownも同様な使い方）

(1)Visual Basic thumbcontrolname.ForeColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]thumbcontrolname.GetForeColor()

thumbcontrolname.SetForeColor(unsigned long Val)

(3)VB.NET thumbcontrolname.ForeColor [ = Color ]

(4)C#.NET thumbcontrolname.ForeColor [ = Color ]

【設定値】

ForeColorはデフォルトの色。（コマが押されていない状態）

ForeColorDownはコマが押された時の色。

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

Styleプロパティが0(ikButton)、1(ikFilm)の時に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時

【ImageKit6/7/8 ActiveXとの違い】

ForeColorUpプロパティがForeColorプロパティに変更されました。


ForeColorDown, ForeColorUp（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ForeColorDown, ForeColorUp

【機能】

サムネイルのコマ（サムネイル画像を表示する領域）の色を設定します。

【書式】

※ForeColorDownにて説明（ForeColorUpも同様な使い方）

(1)Visual Basic thumbcontrolname.ForeColorDown [ = Long ]

(2)Visual C++ [ long = ]thumbcontrolname.GetForeColorDown()

thumbcontrolname.SetForeColorDown(long Val)

【設定値】

ForeColorDownはコマが押された時の色。

ForeColorUpはデフォルトの色。（コマが押されていない状態）

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

Styleプロパティが0（ボタン）、1（フィルム）の時に有効です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Format（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

Format

【機能】

ファイルの保存形式を取得または設定します。

【書式】

(1)Visual Basic recordcontrolname.Format [ = VideoFormatConstants ]

(2)Visual C++ [ long = ]recordcontrolname.GetFormat()

recordcontrolname.SetFormat(long Val)

(3)VB.NET recordcontrolname.Format [ = ImageKit10WebCamera(A)Lib.VideoFormatConstants ]

(4)C#.NET recordcontrolname.Format [ = ImageKit10WebCamera(A)Lib.VideoFormatConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | AVI形式で保存（非圧縮）
1 | WMV形式で保存（圧縮）

定数(ikAvi = 0, ikAsf = 1)を使用することも可能です。

【解説】

Openメソッドを実行する前に値を設定してください。デフォルトは0(ikAvi)です。

WMV形式で保存する場合はBitRateプロパティにも適切な値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


FrameRate（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

FrameRate

【機能】

フレームレートを取得します。

【書式】

(1)Visual Basic playcontrolname.FrameRate [ = Double ]

(2)Visual C++ [ double = ]playcontrolname.GetFrameRate()

(3)VB.NET playcontrolname.FrameRate [ = Double ]

(4)C#.NET playcontrolname.FrameRate [ = double ]

【参照値】

フレームレート（フレーム/秒）。

【解説】

Openメソッド実行後に更新されます。

【値の設定】

不可

【値の参照】

実行時


FrameRate（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

FrameRate

【機能】

フレームレートを取得または設定します。

【書式】

(1)Visual Basic previewcontrolname.FrameRate [ = Double ]

(2)Visual C++ [ double = ]previewcontrolname.GetFrameRate()

previewcontrolname.SetFrameRate(double Val)

(3)VB.NET previewcontrolname.FrameRate [ = Double ]

(4)C#.NET previewcontrolname.FrameRate [ = double ]

【設定値】

フレームレート（フレーム/秒）。

【解説】

GetStreamFormat, GetStreamFormats, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

また、SetStreamFormatメソッドを実行する前に値を設定すると、その値が有効になります。

【値の設定】

実行時

【値の参照】

実行時


FrameRate（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

FrameRate

【機能】

フレームレートを取得または設定します。

【書式】

(1)Visual Basic recordcontrolname.FrameRate [ = Double ]

(2)Visual C++ [ double = ]recordcontrolname.GetFrameRate()

recordcontrolname.SetFrameRate(double Val)

(3)VB.NET recordcontrolname.FrameRate [ = Double ]

(4)C#.NET recordcontrolname.FrameRate [ = double ]

【設定値】

フレームレート（フレーム/秒）。

【解説】

GetStreamFormat, GetStreamFormats, Open, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

また、SetStreamFormatメソッドを実行する前に値を設定すると、その値が有効になります。

【値の設定】

実行時

【値の参照】

実行時


FrameRect（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

FrameRect

【機能】

描画先オブジェクトに対して指定した矩形の境界を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.FrameRect(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().FrameRect(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.FrameRect(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.FrameRect(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した矩形をBrushStyleプロパティの値で描画します。境界の内部は塗りつぶされません。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはBrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでハッチパターンブラシの場合に有効です。TransparentプロパティがTrueでハッチパターンブラシを選択した場合、線と線の間は透過されません（既定の色で塗りつぶされます）。線と線の間を透過する場合はRectangleメソッドなどをご使用ください。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


FreeMemory（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

FreeMemory

【機能】

イメージのメモリを解放します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.FreeMemory(ImageHandle As LONG_PTR)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.FreeMemory(LONG_PTR ImageHandle)

(3)VB.NET [ Boolean = ]imagekitcontrolname.FreeMemory(ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET [ BOOL = ]imagekitcontrolname.FreeMemory(int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
ImageHandle | 解放するイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ラスタイメージとベクトルイメージおよびRawデータが対象です。

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。成功するとメモリを解放し、プロパティに0を設定します。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

また、ImageHandleプロパティやLayer(Index).ImageHandleプロパティについては明示的に解放しなくても、再設定時やコントロールが破棄される時に自動的に解放されます（Indexは0～99）。

なお、明示的に解放する場合はメモリの2重解放を防ぐため、メソッド実行後にプロパティ値に0を設定するようにしてください。

Visual Basicの例：

(1)

ImageKit1.LayerNo = -1

ImageKit1.FreeMemory 0

ImageKit1.ImageHandle = 0

(2)

ImageKit1.FreeMemory ImageKit1.ImageHandle

ImageKit1.ImageHandle = 0

(3)

ImageKit1.ImageHandle = 0

※(3)はFreeMemoryメソッドを使用しておりませんが、(1)(2)と同じくメモリを解放します。

【ImageKit7/8 ActiveXとの違い】

引数の型が変更されました。


FreeTwain（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

FreeTwain

【機能】

LoadTwainメソッドでロードしたTWAIN DLLを解放します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.FreeTwain

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().FreeTwain()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.FreeTwain()

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.FreeTwain()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

LoadTwainメソッドを実行していない場合はFreeTwainメソッドを実行する必要はありません（ImageKit内で自動的にロード/解放が行われます）。LoadTwain/FreeTwainメソッドは対で使用してください。

FreeTwain メソッドを実行する場合は、事前にTerminateメソッドを実行するようにしてください。


FromPage, MaxPage, MinPage, ToPage（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

FromPage, MaxPage, MinPage, ToPage

【機能】

印刷ダイアログで処理するページ数を取得または設定します。

【書式】

※FromPageにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.FromPage [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetPrintDraw().GetFromPage()

imagekitcontrolname.GetPrintDraw().SetFromPage(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.FromPage [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.FromPage [ = short ]

【設定値】

FromPageは印刷開始ページ。

MaxPageは印刷最大ページ。

MinPageは印刷最小ページ。

ToPageは印刷終了ページ。

【解説】

PrintDialogメソッドで使用します。実行前にプロパティを設定するとその値で初期化し、実行後は指定したページ数が参照できます。ただし、Optionsプロパティに0x8（&H8）を指定した場合は、[ページ指定]欄は使用できません。

【値の設定】

実行時

【値の参照】

実行時


FTPConnect（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPConnect

【機能】

FTPサーバに接続します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPConnect(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, UserName As String, Password As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPConnect(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR UserName, LPCTSTR Password)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPConnect(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, UserName As String, Password As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPConnect(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string UserName, string Password)

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトは21）
PassiveMode | パッシブモード接続の有無 [ False(0):アクティブモードで接続, True(0以外):パッシブモードで接続 ]
UserName | ユーザ名
Password | パスワード

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。

当メソッドでFTPサーバへ接続し、FTPDeleteFileEx, FTPGetFileEx, FTPPutFileEx, FTPRenameFileExメソッドを使用します。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。


FTPDeleteFileEx（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPDeleteFileEx

【機能】

FTPサーバに存在するファイルを削除します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.FTPDeleteFileEx(RemoteFilePath As String)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().FTPDeleteFileEx(LPCTSTR RemoteFilePath)

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.FTPDeleteFileEx(RemoteFilePath As String)

(4)C#.NET [ bool = ]imagekitcontrolname.File.FTPDeleteFileEx(string RemoteFilePath)

【引数】

名称 | 内容
RemoteFilePath | 削除するファイル名

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。FTPConnectメソッドでFTPサーバに接続してから使用します。

コード例：

(1)Visual Basic

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

Call ImageKit1.File.FTPDeleteFileEx("images/001.jpg")

Call ImageKit1.File.FTPDisconnect()

(2)Visual C++

if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User", "Password") == FALSE) return;

ImageKit1.GetFile().FTPDeleteFileEx("images/001.jpg");

ImageKit1.GetFile().FTPDisconnect();

(3)VB.NET

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FTPDeleteFileEx("images/001.jpg")

ImageKit1.File.FTPDisconnect()

(4)C#.NET

if (ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, true, "User", "Password") == false) return;

ImageKit1.File().FTPDeleteFileEx("images/001.jpg");

ImageKit1.File().FTPDisconnect();


FTPDeleteFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPDeleteFile

【機能】

FTPサーバに存在するファイルを削除します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPDeleteFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPDeleteFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPDeleteFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPDeleteFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteFilePath, string UserName, string Password)

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトは21）
PassiveMode | パッシブモード接続の有無 [ False(0):アクティブモードで接続, True(0以外):パッシブモードで接続 ]
RemoteFilePath | 削除するファイル名
UserName | ユーザ名
Password | パスワード

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドではFTPサーバへの接続と切断を行います。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。


FTPDisconnect（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPDisconnect

【機能】

接続しているFTPサーバを切断します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.FTPDisconnect

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().FTPDisconnect()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.FTPDisconnect()

(4)C#.NET [ bool = ]imagekitcontrolname.File.FTPDisconnect()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。FTPConnectメソッドで接続したFTPサーバを切断します。


FTPGetFileEx（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPGetFileEx

【機能】

FTPサーバからファイルを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPGetFileEx(RemoteFilePath As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPGetFileEx(LPCTSTR RemoteFilePath, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPGetFileEx(RemoteFilePath As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPGetFileEx(string RemoteFilePath, int TransPercent)

【引数】

名称 | 内容
RemoteFilePath | FTPサーバから取得するファイル名
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。FTPConnectメソッドでFTPサーバに接続してから使用します。TransPercentには転送単位を％で与えます。

取得したファイルはFileNameプロパティに設定されたファイルに保存されます。

コード例：

(1)Visual Basic

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

Call ImageKit1.File.FTPGetFileEx("images/001.jpg", 10)

Call ImageKit1.File.FTPDisconnect()

(2)Visual C++

if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User", "Password") == FALSE) return;

ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");

ImageKit1.GetFile().FTPGetFileEx("images/001.jpg", 10);

ImageKit1.GetFile().FTPDisconnect();

(3)VB.NET

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

ImageKit1.File.FTPGetFileEx("images/001.jpg", 10)

ImageKit1.File.FTPDisconnect()

(4)C#.NET

if (ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, true, "User", "Password") == false) return;

ImageKit1.File.FileName = @"C:\Images\001.jpg";

ImageKit1.File.FTPGetFileEx("images/001.jpg", 10);

ImageKit1.File.FTPDisconnect();


FTPGetFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPGetFile

【機能】

FTPサーバからファイルを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPGetFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPGetFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPGetFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPGetFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteFilePath, string UserName, string Password, int TransPercent)

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトは21）
PassiveMode | パッシブモード接続の有無 [ False(0):アクティブモードで接続, True(0以外):パッシブモードで接続 ]
RemoteFilePath | FTPサーバから取得するファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドではFTPサーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。

取得したファイルはFileNameプロパティに設定されたファイルに保存されます。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。


FTPPutFileEx（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPPutFileEx

【機能】

FTPサーバへファイルを転送します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPPutFileEx(RemoteFilePath As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPPutFileEx(LPCTSTR RemoteFilePath, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPPutFileEx(RemoteFilePath As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPPutFileEx(string RemoteFilePath, int TransPercent)

【引数】

名称 | 内容
RemoteFilePath | 転送先（FTPサーバ）ファイル名
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。FTPConnectメソッドでFTPサーバに接続してから使用します。TransPercentには転送単位を％で与えます。

転送ファイルはFileNameプロパティに設定されたファイルとなります。

コード例：

(1)Visual Basic

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

Call ImageKit1.File.FTPPutFileEx("images/001.jpg", 10)

Call ImageKit1.File.FTPDisconnect()

(2)Visual C++

if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User", "Password") == FALSE) return;

ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");

ImageKit1.GetFile().FTPPutFileEx("images/001.jpg", 10);

ImageKit1.GetFile().FTPDisconnect();

(3)VB.NET

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

ImageKit1.File.FTPPutFileEx("images/001.jpg", 10)

ImageKit1.File.FTPDisconnect()

(4)C#.NET

if (ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, true, "User", "Password") == false) return;

ImageKit1.File.FileName = @"C:\Images\001.jpg";

ImageKit1.File.FTPPutFileEx("images/001.jpg", 10);

ImageKit1.File.FTPDisconnect();


FTPPutFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPPutFile

【機能】

FTPサーバへファイルを転送します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPPutFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPPutFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPPutFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPPutFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteFilePath, string UserName, string Password, int TransPercent)

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトは21）
PassiveMode | パッシブモード接続の有無 [ False(0):アクティブモードで接続, True(0以外):パッシブモードで接続 ]
RemoteFilePath | 転送先（FTPサーバ）ファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドではFTPサーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。

転送ファイルはFileNameプロパティに設定されたファイルとなります。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。


FTPRenameFileEx（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPRenameFileEx

【機能】

FTPサーバに存在するファイルの名称を変更します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPRenameFileEx(RemoteOldFilePath As String, RemoteNewFile As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPRenameFileEx(LPCTSTR RemoteOldFilePath, LPCTSTR RemoteNewFile)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPRenameFileEx(RemoteOldFilePath As String, RemoteNewFile As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPRenameFileEx(string RemoteOldFilePath, string RemoteNewFile)

【引数】

名称 | 内容
RemoteOldFilePath | 変更前のファイル名
RemoteNewFile | 変更後のファイル名

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。FTPConnectメソッドでFTPサーバに接続してから使用します。

コード例：

(1)Visual Basic

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

Call ImageKit1.File.FTPRenameFileEx("images/001.jpg", "002.jpg")

Call ImageKit1.File.FTPDisconnect()

(2)Visual C++

if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User", "Password") == FALSE) return;

ImageKit1.GetFile().FTPRenameFileEx("images/001.jpg", "002.jpg");

ImageKit1.GetFile().FTPDisconnect();

(3)VB.NET

If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FTPRenameFileEx("images/001.jpg", "002.jpg")

ImageKit1.File.FTPDisconnect()

(4)C#.NET

if (ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, true, "User", "Password") == false) return;

ImageKit1.File.FTPRenameFileEx("images/001.jpg", "002.jpg");

ImageKit1.File.FTPDisconnect();


FTPRenameFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

FTPRenameFile

【機能】

FTPサーバに存在するファイルの名称を変更します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.FTPRenameFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteOldFilePath As String, RemoteNewFile As String, UserName As String, Password As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().FTPRenameFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteOldFilePath, LPCTSTR RemoteNewFile, LPCTSTR UserName, LPCTSTR Password)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.FTPRenameFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteOldFilePath As String, RemoteNewFile As String, UserName As String, Password As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.FTPRenameFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteOldFilePath, string RemoteNewFile, string UserName, string Password)

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトは21）
PassiveMode | パッシブモード接続の有無 [ False(0):アクティブモードで接続, True(0以外):パッシブモードで接続 ]
RemoteOldFilePath | 変更前のファイル名
RemoteNewFile | 変更後のファイル名
UserName | ユーザ名
Password | パスワード

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドではFTPサーバへの接続と切断を行います。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。


Gamma（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Gamma

【機能】

開発者作成UIで取り込む時のガンマを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Gamma [ = Single ]

(2)Visual C++ imagekitcontrolname.GetScan().SetGamma(float Val)

(3)VB.NET imagekitcontrolname.Scan.Gamma [ = Single ]

(4)C#.NET imagekitcontrolname.Scan.Gamma [ = float ]

【設定値】

デフォルトは2.2。

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

設定可能な値については、GetCapRange(Variant)メソッドもしくはGetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


GapSize（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

GapSize

【機能】

サムネイルのコマの間の間隔を設定します。

【書式】

(1)Visual Basic thumbcontrolname.GapSize [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetGapSize()

thumbcontrolname.SetGapSize(short Val)

(3)VB.NET thumbcontrolname.GapSize [ = Short ]

(4)C#.NET thumbcontrolname.GapSize [ = short ]

【設定値】

コマ間の隙間（ピクセル）

【値の設定】

デザイン時、実行時

【値の参照】

実行時


GetArrayNum（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetArrayNum

【機能】

指定されたプリンタ名からサポートされている項目を取得する際に必要な配列の要素数を取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.GetArrayNum(CapNo As PrinterCapabilityConstants)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().GetArrayNum(long CapNo)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.GetArrayNum(CapNo As ImageKit10(A)Lib.PrinterCapabilityConstants)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.GetArrayNum(ImageKit10(A)Lib.PrinterCapabilityConstants CapNo)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
CapNo | 取得する項目の種類（0：用紙サイズ、1：用紙トレイ、2：解像度）

定数(ikPrinterPaperSize = 0, ikPrinterPaperBin = 1, ikPrinterResolution = 2)を使用することも可能です。

【戻り値】

取得する配列に必要な要素数を返します（0は失敗）。

【解説】

EnumPaperSizes, EnumPaperBins, EnumResolutionsメソッドで引数として渡す配列の要素数を取得します。

コード例：

(1)Visual Basic

Dim Size As Long

Dim XResolutions() As Long

Dim YResolutions() As Long

Dim Ret As Long

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

ReDim XResolutions(Size)

ReDim YResolutions(Size)

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' 様々な処理

(2)Visual C++

long Size;

long *XResolutions;

long *YResolutions;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(2);

if (Size < 1) return;

XResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

YResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

__try {

ImageKit1.GetPrintDraw().EnumResolutions(XResolutions, YResolutions);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, XResolutions);

HeapFree(GetProcessHeap(), 0, YResolutions);

}

(3)VB.NET

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

Dim XResolutions As Integer() = New Integer(Size - 1) {}

Dim YResolutions As Integer() = New Integer(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' 様々な処理

(4)C#.NET

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

// ANSI版の場合はImageKit10ALib.PrinterCapabilityConstants.ikPrinterResolution

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterResolution);

if (Size < 1) return;

int Ret;

int[] XResolutions = new int[Size];

int[] YResolutions = new int[Size];

Ret = ImageKit1.PrintDraw.EnumResolutions(ref XResolutions[0], ref YResolutions[0]);

// 様々な処理


GetArrayPointsNum（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

GetArrayPointsNum

【機能】

イメージ編集ツールバーの範囲選択と自由範囲選択で選択されたポイントの数を取得します。

【書式】

(1)Visual Basic [ Long = ]imagekitcontrolname.Edit.GetArrayPointsNum

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetArrayPointsNum()

(3)VB.NET [ Integer = ]imagekitcontrolname.Edit.GetArrayPointsNum()

(4)C#.NET [ int = ]imagekitcontrolname.Edit.GetArrayPointsNum()

【引数】

ありません。

【戻り値】

ポイントの数（失敗した場合は0）。

【解説】

選択されたポイントの座標値を取得するには、当メソッドの戻り値の数を要素数とするXとYの配列を作成し、GetArrayPointsXYメソッドを実行します。


GetArrayPointsXY, GetArrayPointsXYVariant（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

GetArrayPointsXY, GetArrayPointsXYVariant

【機能】

イメージ編集ツールバーの範囲選択と自由範囲選択で選択されたポイントの座標値を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXY(x As Long, y As Long)

[ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXYVariant(x As Variant, y As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEdit().GetArrayPointsXY(long *x, long *y)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXY(ByRef x As Integer, ByRef y As Integer)

[ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXYVariant(ByRef x As Object, ByRef y As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Edit.GetArrayPointsXY(ref int x, ref int y)

[ bool = ]imagekitcontrolname.Edit.GetArrayPointsXYVariant(ref object x, ref object y)

【引数】

名称 | 内容
x, y | ポイントのx, y座標を取得する配列 GetArrayPointsXY (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0))を与える (4)C#.NET 引数にref x[0]を与える GetArrayPointsXYVariant Visual Basic/VB.NET Dim x の場合は、引数にxを与える C#.NET 引数にref xを与える

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

GetArrayPointsXY：

選択されたポイントの座標値を取得するには、GetArrayPointsNumメソッドの戻り値の数を要素数とするXとYの配列を作成し、当メソッドを実行します。

GetArrayPointsXYVariant：

事前にGetArrayPointsNumメソッドを実行する必要はございません。

取得される座標はピクセル単位です。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、GetArrayPointsXYVariantメソッドをご使用ください。

選択されたポイントの座標値を取得するコード例：

(1)Visual Basic

GetArrayPointsXY

Dim x() As Long

Dim y() As Long

Dim ret As Boolean

Dim count As Long

count = ImageKit1.Edit.GetArrayPointsNum()

If count = 0 Then Exit Sub

ReDim x(0 To count) As Long

ReDim y(0 To count) As Long

ret = ImageKit1.Edit.GetArrayPointsXY(x(0), y(0))

GetArrayPointsXYVariant

Dim x

Dim y

ImageKit1.GetArrayPointsXYVariant x, y

(2)Visual C++

long *x

long *y;

BOOL ret;

long count;

count = ImageKit1.GetEdit().GetArrayPointsNum();

if (count == 0) return;

x = new long[count];

y = new long[count];

ret = ImageKit1.GetEdit().GetArrayPointsXY(x, y);

// 様々な処理

delete[] x;

delete[] y;

(3)VB.NET

GetArrayPointsXY

Dim count As Integer

count = ImageKit1.Edit.GetArrayPointsNum()

If count = 0 Then Exit Sub

Dim x As Integer() = New Integer(count - 1) {}

Dim y As Integer() = New Integer(count - 1) {}

ImageKit1.Edit.GetArrayPointsXY(x(0), y(0));

GetArrayPointsXYVariant

Dim x As Object = Nothing

Dim y As Object = Nothing

ImageKit1.Edit.GetArrayPointsXYVariant(x, y)

(4)C#.NET

GetArrayPointsXY

int count;

count = ImageKit1.Edit.GetArrayPointsNum();

if (count == 0) return;

int []x = new int[count];

int []y = new int[count];

ImageKit1.Edit.GetArrayPointsXY(ref x[0], ref y[0]);

GetArrayPointsXYVariant

object x = null;

object y = null;

ImageKit1.Edit.GetArrayPointsXYVariant(ref x, ref y);


GetBitDepth, GetBitDepthVariant（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

GetBitDepth, GetBitDepthVariant

【機能】

データソースがサポートしている画素ビット数を取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.Scan.GetBitDepth(List As Integer, ListNum As Integer)

[ Long = ]imagekitcontrolname.Scan.GetBitDepthVariant(List As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetScan().GetBitDepth(short *List, short ListNum)

(3)VB.NET

[ Integer = ]imagekitcontrolname.Scan.GetBitDepth(ByRef List As Short, ListNum As Short)

[ Integer = ]imagekitcontrolname.Scan.GetBitDepthVariant(ByRef List As As Object)

(4)C#.NET

[ int = ]imagekitcontrolname.Scan.GetBitDepth(ref short List, short ListNum)

[ int = ]imagekitcontrolname.Scan.GetBitDepthVariant(ref object List)

【引数】

名称 | 内容
List | 画素ビット数を取得する配列 GetBitDepth (1)Visual Basic Dim List(0 To 3) As Integerの場合は、引数にList(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にList(0)を与える (4)C#.NET 引数にref List[0]を与える GetBitDepthVariant Visual Basic/VB.NET Dim List の場合は、引数にListを与える C#.NET 引数にref Listを与える
ListNum | Listの配列の数（GetBitDepthのみ）

【戻り値】

GetBitDepth

ListとListNumを設定した場合

取得した数を返します。0の場合はエラーとなりますのでエラーステータスを確認してください。

ListがNULL(Visual C++)もしくはListNumが0の場合

取得する際に必要な配列の要素数を返します。データソースによってはピクセルタイプの値に関係なく、サポートしている全ての画素ビット数を取得するものがあります。その場合は、実際の数よりも多い値が返されます。

GetBitDepthVariant

取得した数を返します。0の場合はエラーとなりますのでエラーステータスを確認してください。

【解説】

画素ビット数を取得するには、PixelType, DsNameプロパティを設定する必要があります。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

（OpenDSメソッドを事前に実行した場合はDsNameプロパティは無効で、オープンされたデータソースが有効）

PixelTypeプロパティにはデータソースがサポートしている値を設定してください。

スキャナによっては転送方法の値により設定可能な画素ビット数が異なる場合があります。そのため、TransferModeプロパティを事前に設定しておくとよいでしょう。

GetBitDepth(Variant)メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

GetBitDepth(Variant)メソッドを実行する前にOpenDSメソッドを実行すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、GetCapBitDepthVariantメソッドをご使用ください。

GetBitDepthメソッドは以前のImageKitで提供していたスキャンコントロールのScanGetBitDepthメソッドに相当します。

コード例（GetBitDepthVariant）:

VB.NET

Dim List As Object = Nothing

Dim Ret As Boolean

Dim Num As Integer

Ret = ImageKit1.Scan.Initialize(Handle.ToInt32(), 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample")

ImageKit1.Scan.PixelType = ImageKit10Lib.ScanPixelTypeConstants.ikScanPixelGray

Num = ImageKit1.GetDepthVariant(List)

Ret = ImageKit1.Scan.Terminate()

C#.NET

bool Ret;

object List = null;

Ret = ImageKit1.Scan.Initialize(Handle.ToInt32(), 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample");

ImageKit1.Scan.PixelType = ImageKit10Lib.ScanPixelTypeConstants.ikScanPixelGray;

int Num = ImageKit1.GetDepthVariant(ref List);

Ret = ImageKit1.Scan.Terminate();


GetCapEnum, GetCapEnumVariant（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

GetCapEnum, GetCapEnumVariant

【機能】

データソースから指定した項目の設定可能値を取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.Scan.GetCapEnum(CapNo As ScanCapabilityConstants, ConType As Integer, List As Single, CurrentIndex As Long, DefaultIndex As Long, ListNum As Long)

[ Long = ]imagekitcontrolname.Scan.GetCapEnumVariant(CapNo As ScanCapabilityConstants, ConType As Variant, List As Variant, CurrentIndex As Variant, DefaultIndex As Variant)

(2)Visual C++

[ long = ]imagekitcontrolname.GetScan().GetCapEnum(long CapNo, short *ConType, float *List, long *CurrentIndex, long *DefaultIndex, long ListNum)

(3)VB.NET

[ Integer = ]imagekitcontrolname.Scan.GetCapEnum(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef ConType As Short, ByRef List As Single, ByRef CurrentIndex As Integer, ByRef DefaultIndex As Integer, ListNum As Integer)

[ Integer = ]imagekitcontrolname.Scan.GetCapEnumVariant(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef ConType As Object, ByRef List As Object, ByRef CurrentIndex As Object, ByRef DefaultIndex As Object)

(4)C#.NET

[ int = ]imagekitcontrolname.Scan.GetCapEnum(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref short ConType, ref float List, ref int CurrentIndex, ref int DefaultIndex, int ListNum)

[ int = ]imagekitcontrolname.Scan.GetCapEnumVariant(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref object ConType, ref object List, ref object CurrentIndex, ref object DefaultIndex)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
CapNo 取得する項目番号（16進表記）
0x0100 圧縮方法
0x0101 ピクセルタイプ
0x0102 取り込み単位
0x0103 転送方法
0x1100 明るさの自動化(*1)
0x1101 明るさ
0x1103 コントラスト
0x1108 ガンマ
0x1109 ハーフトーン
0x110a ハイライト
0x110c ファイルフォーマット
0x110e ドロップアウトカラー
0x1110 用紙の向き
0x1113 シャドウ
0x1118 X方向解像度
0x1119 Y方向解像度
0x1121 回転角度
0x1122 用紙サイズ
0x1123 しきい値
0x1124 X方向スケーリング
0x1125 Y方向スケーリング
0x112c 色深度の減少方法
0x1147 イメージフィルタ
0x1148 ノイズフィルタ
0x1149 オーバースキャン
0x1153 JPEG品質係数
0x115c 両面合成
0xf001 読み取り速度
0xf002 モアレフィルタ
0xf004 シャープネス
0xf006 拡張UIモード
0xf007 ダイナミックスレッシュホールド
0xf00b 白紙ページ除去
0xf00e テキストエンハンスメント
※Visual Basic(.NET含む)は0xを&Hに置き換えてください。
定数(ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanAutoBright = 0x1100, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanImageMerge = 0x115c, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e, ikScanBorder = 0xf00f)を使用することも可能です。
ConType | 項目の型を取得する変数
List 項目値を取得する配列（CapNoがハーフトーン以外を表す場合に使用）
GetCapEnum
(1)Visual Basic Dim List(0 To 3) As Singleの場合は、引数にList(0)を与える
(2)Visual C++ 配列の先頭のポインタを渡す
(3)VB.NET 引数にList(0)を与える
(4)C#.NET 引数にref List[0]を与える
GetCapEnumVariant
Visual Basic/VB.NET Dim List の場合は、引数にListを与える
C#.NET 引数にref Listを与える
CurrentIndex 現在値を示すListへのインデックス（インデックスは0から始まります）
List[CurrentIndex] = 現在値
DefaultIndex デフォルト値を示すListへのインデックス（インデックスは0から始まります）
List[DefaultIndex] = デフォルト値
ListNum | Listの配列の数（GetCapEnumのみ）

【戻り値】

GetCapEnum

CapNoがハーフトーンを表す場合

取得した数を返します。

CapNoがハーフトーン以外を表す場合

ConType=3もしくは4の場合は取得した数を返します。

ConType=5の場合は1、ConType=6の場合は5を返します。（固定）

ListがNULL(Visual C++), Nothing(VB.NET)もしくはListNumが0の場合は、取得する際に必要な配列の要素数を返します。

GetCapEnumVariant

CapNoがハーフトーンを表す場合

取得した数を返します。

CapNoがハーフトーン以外を表す場合

ConType=3もしくは4の場合は取得した数を返します。

ConType=5の場合は1、ConType=6の場合は5を返します。（固定）

0の場合はエラーとなりますので、エラーステータスを確認してください。

【解説】

項目の設定可能値を取得するにはDsNameプロパティを設定する必要があります。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

（OpenDSメソッドを事前に実行した場合はDsNameプロパティは無効で、オープンされたデータソースが有効）

CapNoがハーフトーンを表す場合、List配列は使用しませんので、ダミー配列やNULL(Visual C++), Nothing(VB.NET)を引数として与えてください。

ListNumも使用しませんので0などを与えてください。

スキャナによってはピクセルタイプの値（白黒2値や24ビットカラー）により設定可能な解像度が異なる場合があります。また、転送方法の値（メモリやファイル）により設定可能な圧縮方法が異なる場合があります。そのため、X方向解像度とY方向解像度の設定可能値を取得する場合は、PixelTypeプロパティを、圧縮方法の設定可能値を取得する場合は、TransferModeプロパティを事前に設定しておくとよいでしょう。

GetCapEnum(Variant)メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

GetCapEnum(Variant)メソッドを実行する前にOpenDSメソッドを実行すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、GetCapEnumVariantメソッドをご使用ください。

GetCapEnumメソッドは以前のImageKitで提供していたスキャンコントロールのScanGetCapEnumメソッドに相当します。

ConTypeに設定される値について

（0：メソッドの戻り値が0の場合、3:配列型、4:列挙型、5：単一型、6：範囲型）

CapNoがハーフトーンを表す場合

ConType=3の場合、HalfToneListプロパティに値が設定され、CurrentIndexとDefaultIndexは無効となります。

ConType=4の場合、HalfToneListプロパティに値が設定されます。

ConType=5の場合、HalfToneListプロパティに現在値が設定されます。

ConType=6の場合はありません。

CapNoがハーフトーン以外を表す場合

ConType=3の場合、List配列に値が設定され、CurrentIndexとDefaultIndexは無効となります。

ConType=4の場合、List配列に値が設定されます。

ConType=5の場合、List[0]に現在値が設定されます。

ConType=6の場合、List[0]に最小値が、List[1]に最大値が、List[2]にステップ値が、List[3]にデフォルト値が、List[4]に現在値がそれぞれ設定されます。

Listに設定される値の内容

CapNoが圧縮方法を表す場合:

0:非圧縮、1：PACKBITS、2：GROUP3-1D、3:GROUP3-1DEOL、4:GROUP3-2D、5:GROUP4、6：JPEG

7：LZW、8:JBIG、9:PNG、10：RLE4、11: RLE8、12:BITFIELDS

（2, 3, 4, 5はFAX[CCITT]、10, 11, 12はBMP形式）

CapNoがピクセルタイプを表す場合:

0:白黒2値、1：グレースケール、2：RGBカラー、3:パレットカラー

（データソースによっては4～8が設定される場合もあります）

CapNoが取り込み単位を表す場合:

0:インチ、1:cm、2:パイカ、3:ポイント、4:twip、5:ピクセル、6：mm

CapNoが転送方法を表す場合：

0：ネイティブ、1：ファイル、2:メモリ、3：ファイル2

CapNoがファイルフォーマットを表す場合:

0：TIFF、1:PICT、2：BMP、3:XBM、4:JFIF(JPEG)、5:FPX、6：TIFF MULTI、7：PNG、8:SPIFF、9:EXIF、10:PDF

11:JP2(JPEG2000 Part1)、13:JPX(JPEG2000 Part2)、14:DEJAVU、15:PDF/A(Version 1)、16:PDF/A(Version 2)

CapNoがドロップアウトカラーを表す場合:

0：赤、1:緑、2：青、3:なし、4：白

（データソースによっては5, 6が設定される場合もあります）

CapNoが用紙の向きを表す場合:

0:0度（ポートレイト）、1:90度、2：180度、3：270度（ランドスケープ）

CapNoが用紙サイズを表す場合:

0：ユーザ定義サイズ、1：A4、2:JIS B5、3：USレター、4：USリーガル、5：A5、6：ISO B4、7：ISO B6、9：USレジャー

10：USエグゼクティブ、11:A3、12：ISO B3、13：A6、14：C4、15：C5、16：C6、17:4A0、18:2A0、19：A0、20：A1、21：A2

22：A7、23：A8、24：A9、25：A10、26：ISO B0、27：ISO B1、28：ISO B2、29：ISO B5、30：ISO B7、31：ISO B8

32：ISO B9、33：ISO B10、34：JIS B0、35：JIS B1、36：JIS B2、37：JIS B3、38：JIS B4、39：JIS B6、40：JIS B7、41：JIS B8

42：JIS B9、43：JIS B10、44：C0、45：C1、46：C2、47：C3、48：C7、49：C8、50：C9、51：C10、52：USステイトメント

53：ビジネスカード、54：最大サイズ

CapNoが色深度の減少方法を表す場合:

0：しきい値、1：ハーフトーン、2：カスタムハーフトーン、3：拡散、4：動的しきい値

CapNoがイメージフィルタを表す場合:

0：なし、1:自動、2：LOWPASS、3:BANDPASS、4: HIGHPASS

CapNoがノイズフィルタを表す場合:

0：なし、1:自動、2：LONEPIXEL、3:MAJORITYRULE

CapNoがオーバースキャンを表す場合:

0：指定されたサイズで読み取り、1:指定されたサイズを考慮して自動で読み取り

2：指定されたサイズを基に上下を広げて読み取り、3:指定されたサイズを基に左右を広げて読み取り

4:指定されたサイズを基に上下左右を広げて読み取り

CapNoが両面合成を表す場合:

0：なし（合成しない）、1:指定されたサイズを考慮して自動で読み取り

2：裏面が上で表面が下になる（上下の貼り合わせ）、3:表面が左で裏面が右になる（左右の貼り合わせ）

4:裏面が左で表面が右になる（左右の貼り合わせ）

CapNoが読み取り速度を表す場合:

エプソン製スキャナ用ドライバおよびパナソニック製スキャナ用ドライバご利用時に有効です。

(1)エプソン製スキャナ用ドライバ 0：品質優先、1:速度優先

(2)パナソニック製スキャナ用ドライバ 0：低速、1:通常、2：高速

CapNoがモアレフィルタを表す場合:

エプソン製スキャナ用ドライバ、キヤノン製DRスキャナ用ドライバ、PFU製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。

(1)エプソン製スキャナ用ドライバ

0：なし、1:標準、2:85lpi（新聞など）、3:133lpi（週刊誌やカタログなど）、4：175lpi（写真など）

(2)キヤノン製DRスキャナ用ドライバ

1：なし、2:高速、3:高画質

(3)PFU製スキャナ用ドライバ

0：なし、1：モアレ除去レベル1、2:モアレ除去レベル2、3:モアレ除去レベル3、4:モアレ除去レベル4

(4)パナソニック製スキャナ用ドライバ

0：なし、1:あり

CapNoがシャープネスを表す場合:

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

キヤノン製DRスキャナ用ドライバでは「エッジ強調」、エプソン製スキャナ用ドライバでは「アンシャープマスク」、パナソニック製スキャナ用ドライバでは「画質」、PFU製スキャナ用ドライバでは「輪郭強調」という表現を用いています。

(1)キヤノン製DRスキャナ用ドライバ 1から5

(2)エプソン製スキャナ用ドライバ 0：なし、1:小、2:中（デフォルト）、3:大

(3)パナソニック製スキャナ用ドライバ 0：なし、1:スムーズ、2:低、3:標準、4:高、5:自動

(4)PFU製スキャナ用ドライバ 0：なし、1:弱、2:中、3:強

CapNoが拡張UIモードを表す場合:

エプソン製スキャナ用ドライバご利用時に有効です。

0：前回設定のUIモードで起動、1:プロフェッショナルモードで起動、2:全自動モードで起動、3:ホームモードで起動

4：全自動モードで起動（エラーメッセージを除き、UI非表示）、5：オフィスモードで起動

CapNoがダイナミックスレッシュホールドを表す場合:

パナソニック製スキャナ用ドライバご利用時に有効です。

0：なし、1:明るい、2:少し明るい、3:標準、4：少し暗い、5：暗い

CapNoがテキストエンハンスメントを表す場合:

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。

(1)キヤノン製DRスキャナ用ドライバ

0:適用しない、1:テキストエンハンスメント、2:アドバンスドテキストエンハンスメント、3:高速テキストエンハンスメント

4, 5:アドバンスドテキストエンハンスメントⅡ

(2)エプソン製スキャナ用ドライバ

0：適用しない、1:文字くっきり（標準）、2:文字くっきり（強）

CapNoが明るさの自動化、明るさ、コントラスト、ガンマ、ハイライト、シャドウ、X方向解像度、Y方向解像度、回転角度、しきい値、X方向スケーリング、Y方向スケーリング、JPEG品質係数、白紙ページ除去を表す場合は設定可能な値となります。

ただし、ConType=6の場合はGetCapRange(Variant)メソッドを実行した結果と同じとなります。

(*1)データソースがTWAIN2.0以降に対応している場合は設定可能な値となりますが、それ以外は現在値となります。

HalfToneListプロパティに設定される文字列の内容

CapNoがハーフトーンを表す場合、ハーフトーンを表す名称が設定されます。

名称が1つの場合: "XXX,"

名称が複数の場合: "XXX,YYY,・・・・・・,"

XXXとYYYは名称を表し、名称の間はカンマで区切られ、終了を表すターミネータもカンマとなります。

コード例（GetCapEnumVariant）:

VB.NET

Dim Ret As Boolean

Dim Num As Integer

Dim ConType As Object = Nothing

Dim List As Object = Nothing

Dim CurrentIndex As Object = Nothing

Dim DefaultIndex As Object = Nothing

Ret = ImageKit1.Scan.Initialize(Handle.ToInt32(), 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample")

Num = ImageKit1.Scan.GetCapEnumVariant(ImageKit10Lib.ScanCapabilityConstants.ikScanTransferMode, ConType, List, CurrentIndex, DefaultIndex)

Ret = ImageKit1.Scan.Terminate()

C#.NET

bool Ret;

object ConType, List, CurrentIndex, DefaultIndex;

ConType = List = CurrentIndex = DefaultIndex = null;

Ret = ImageKit1.Scan.Initialize(Handle.ToInt32(), 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample");

int Num = ImageKit1.Scan.GetCapEnumVariant(ImageKit10Lib.ScanCapabilityConstants.ikScanTransferMode, ref ConType, ref List, ref CurrentIndex, ref DefaultIndex);

Ret = ImageKit1.Scan.Terminate();

【ImageKit7 ActiveXとの違い】

CapNoに回転角度、オーバースキャン、白紙ページ除去、テキストエンハンスメントの値が追加されました。

【ImageKit8 ActiveXとの違い】

CapNoに両面合成の値が追加されました。

【ImageKit9 ActiveXとの違い】

CapNoに明るさの自動化の値が追加されました。


GetCapRange, GetCapRangeVariant（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

GetCapRange, GetCapRangeVariant

【機能】

データソースから指定した項目の範囲を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Scan.GetCapRange(CapNo As ScanCapabilityConstants, ConType As Integer)

[ Boolean = ]imagekitcontrolname.Scan.GetCapRangeVariant(CapNo As ScanCapabilityConstants, ConType As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetScan().GetCapRange(long CapNo, short *ConType)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Scan.GetCapRange(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef ConType As Short)

[ Boolean = ]imagekitcontrolname.Scan.GetCapRangeVariant(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef ConType As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Scan.GetCapRange(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref short ConType)

[ bool = ]imagekitcontrolname.Scan.GetCapRangeVariant(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref object ConType)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
CapNo 取得する項目番号（16進表記）
0x1101 明るさ
0x1103 コントラスト
0x1108 ガンマ
0x110a ハイライト
0x1113 シャドウ
0x1118 X方向解像度
0x1119 Y方向解像度
0x1121 回転角度
0x1123 しきい値
0x1124 X方向スケーリング
0x1125 Y方向スケーリング
0x1153 JPEG品質係数
0xf004 シャープネス
0xf00b 白紙ページ除去
0xf00d 焦点位置
※Visual Basic(.NET含む)は0xを&Hに置き換えてください。
定数(ikikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanImageMerge = 0x115c, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e, ikScanBorder = 0xf00f)を使用することも可能です。
ConType | 項目の型を取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

項目の範囲を取得するにはDsNameプロパティを設定する必要があります。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

（OpenDSメソッドを事前に実行した場合はDsNameプロパティは無効で、オープンされたデータソースが有効）

スキャナによってはピクセルタイプの値（白黒2値や24ビットカラー）により設定可能な解像度が異なる場合があります。そのため、X方向解像度とY方向解像度の設定可能値を取得する場合は、PixelTypeプロパティを事前に設定しておくとよいでしょう。

GetCapRange(Variant)メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

GetCapRangeメソッドを実行する前にOpenDSメソッドを実行すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ASPでは、GetCapRangeVariantメソッドをご使用ください。

GetCapRangeメソッドは以前のImageKitで提供していたスキャンコントロールのScanGetCapRangeメソッドに相当します。

ConTypeに設定される値について

（0：メソッドの戻り値がFalse(0)の場合、3:配列型、4:列挙型、5：単一型、6：範囲型）

ConType=3または4の場合、RangeMaxプロパティに項目を取得する際に必要な要素数が設定されますので、その要素数を基にGetCapEnum(Variant)メソッドを実行してください。

ConType=5の場合、RangeCurrentプロパティに現在値が、RangeDefaultプロパティにデフォルト値が設定されます。

ConType=6の場合、RangeCurrent, RangeDefault, RangeMax, RangeMin, RangeStepプロパティに値が設定されます。

【ImageKit7 ActiveXとの違い】

CapNoに回転角度、シャープネス、白紙ページ除去、焦点位置の値が追加されました。


GetDefaultPrinter（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetDefaultPrinter

【機能】

通常使うプリンタ（デフォルトプリンタ）を取得します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.GetDefaultPrinter

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDefaultPrinter()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.GetDefaultPrinter()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.GetDefaultPrinter()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Windowsのプリンタフォルダに登録されている通常使うプリンタを取得します。成功すると、PrinerNameプロパティに通常使うプリンタの名称が設定されます。EnumPrinters(Variant)メソッドでも通常使うプリンタを取得できます。


GetDevModeHandle（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetDevModeHandle

【機能】

指定したプリンタのDEVMODE構造体へのポインタのハンドルとDEVNAMES構造体へのポインタのハンドルを取得します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeHandle

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDevModeHandle()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeHandle()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.GetDevModeHandle()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PrinterNameプロパティ（プリンタ名）もしくはPrintFileNameプロパティ（SaveDevModeHandleもしくはSavePrinterInfoメソッドで保存したプリンタ設定ファイル名）を設定して実行してください。両方のプロパティを設定した場合はPrinterNameプロパティが有効になります。

プリンタ名から取得する場合の例

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

ImageKit1.PrintDraw.PrintFileName = ""

ImageKit1.PrintDraw.GetDevModeHandle

'様々な処理

ImageKit1.PrintDraw.ReleaseDevModeHandle

プリンタ設定ファイルから取得する場合の例

ImageKit1.PrintDraw.PrinterName = ""

ImageKit1.PrintDraw.PrintFileName = "IkPrn.Ik"

ImageKit1.PrintDraw.GetDevModeHandle

'様々な処理

ImageKit1.PrintDraw.ReleaseDevModeHandle

成功すると、DevModeプロパティにDEVMODE構造体へのポインタのハンドルが設定され、DevNamesプロパティにDEVNAMSE構造体へのポインタのハンドルが設定されます。

DevModeプロパティとDevNamesプロパティはPrintCreateDCメソッドなどで使用します。DEVMODE構造体やDEVNAMES構造体についてはWindowsAPI関連の書籍などをご覧ください。

なお、DEVMODE構造体のハンドルとDEVNAMES構造体のハンドルはReleaseDevModeHandleメソッドで解放します。

【ImageKit7/8/9 ActiveXとの違い】

当メソッドが成功するとDevModeプロパティに加えDevNamesプロパティの値が更新されます。


GetDevModeInfo（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetDevModeInfo

【機能】

DEVMODE構造体のハンドルから印刷情報を取得します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeInfo

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDevModeInfo()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeInfo()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.GetDevModeInfo()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

GetDevModeInfoメソッドを実行するには、GetDevModeHandleメソッドでDevModeプロパティを取得する必要があります。

成功した場合、Collate, ColorMode, Copies, CustomPaperHeight, CustomPaperWidth, Duplex, Orientation, PaperBin, PaperSize, XResolution, YResolution,Zoomプロパティに値が設定されます。

このメソッドを実行しなくてもGetDevModeHandleメソッドを実行して成功すると各種情報は自動的に設定されます。


GetDevNamesInfo（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetDevNamesInfo

【機能】

DEVNAMES構造体のハンドルからプリンタ名とポート名を取得します

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevNamesInfo

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDevNamesInfo()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevNamesInfo()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.GetDevNamesInfo()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

GetDevNamesInfoメソッドを実行するには、GetDevModeHandleメソッドでDevNamesプロパティを取得する必要があります。

成功した場合、PrinterName, PortNameプロパティに値が設定されます。

このメソッドを実行しなくてもGetDevModeHandleメソッドを実行して成功すると文字列情報は自動的に設定されます。


GetDibPixel, GetDibPixelVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

GetDibPixel, GetDibPixelVariant

【機能】

DIBから指定したピクセルのRGBやパレット番号を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.GetDibPixel(DibNo As Integer, x As Long, y As Long, PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.GetDibPixelVariant(DibNo As Integer, x As Long, y As Long, PalNo As Variant, Red As Variant, Green As Variant, Blue As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().GetDibPixel(short DibNo, long x, long y, short *PalNo, short *Red, short *Green, short *Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.GetDibPixel(DibNo As Short, x As Integer, y As Integer, ByRef PalNo As Short, ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.GetDibPixelVariant(DibNo As Short, x As Integer, y As Integer, ByRef PalNo As Object, ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.GetDibPixel(short DibNo, int x, int y, ref short PalNo, ref short Red, ref short Green, ref short Blue)

[ bool = ]imagekitcontrolname.Effect.GetDibPixelVariant(short DibNo, int x, int y, ref object PalNo, ref object Red, ref object Green, ref object Blue)

【引数】

名称 | 内容
DibNo | StartDibAccessメソッドで取得したラスタイメージの管理番号
x, y | 取得するピクセルのX, Y座標
PalNo | パレット番号を取得する変数
Red | RGBの赤を取得する変数
Green | RGBの緑を取得する変数
Blue | RGBの青を取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

DibNoはStartDibAccess(Variant)メソッドで取得した値と同じでなければなりません。

1, 4, 8ビットイメージの場合はPalNoに、16, 24, 32ビットイメージの場合はRed, Green, Blueに有効な値が設定されます。

処理の流れとしては

StartDibAccess(Variant)

|

GetDibPixel(Variant), SetDibPixel(Variant)

|

EndDibAccess(Variant)

となります。

コード例についてはStartDibAccess(Variant)メソッドを参照してください。

ASPでは、GetDibPixelVariantメソッドをご使用ください。

※DLLの関数を使用した方が処理速度は速くなります。


GetDpiF, GetDpiVariant（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetDpiF, GetDpiVariant

【機能】

イメージの解像度を取得します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.GetDpiF(Xdpi As Single, Ydpi As Single)

[ Boolean = ]imagekitcontrolname.GetDpiVariant(Xdpi As Variant, Ydpi As Variant)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetDpiF(float *Xdpi, float *Ydpi)

(3)VB.NET [ Boolean = ]imagekitcontrolname.GetDpiF(ByRef Xdpi As Single, ByRef Ydpi As Single)

[ Boolean = ]imagekitcontrolname.GetDpiVariant(ByRef Xdpi As Object, ByRef Ydpi As Object)

(4)C#.NET [ bool = ]imagekitcontrolname.GetDpiF(ref float Xdpi, ref float Ydpi)

[ bool = ]imagekitcontrolname.GetDpiVariant(ref object Xdpi, ref object Ydpi)

【引数】

名称 | 内容
Xdpi | 取得するX（横）方向の1インチあたりのピクセル数
Ydpi | 取得するY（縦）方向の1インチあたりのピクセル数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）のイメージの解像度を取得します。成功すると引数Xdpi, Ydpiに値が設定されます。

GetDpiメソッドとの違いは取得する解像度が整数型ではなく浮動小数点型もしくはバリアント型だということです。

ASPでは、GetDpiVariantメソッドをご使用ください。

コード例（GetDpiVariant）:

VB.NET

Dim Xdpi As Object = Nothing

Dim Ydpi As Object = Nothing

Dim ret As Boolean= ImageKit1.GetDpiVariant(Xdpi, Ydpi)

C#.NET

object Xdpi, Ydpi；

Xdpi = Ydpi = null;

bool ret = ImageKit1.GetDpiVariant(ref Xdpi, ref Ydpi);


GetDpiFromHdc, GetDpiFromHdcVariant（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetDpiFromHdc, GetDpiFromHdcVariant

【機能】

デバイスコンテキストの解像度を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.GetDpiFromHdc(hDC As LONG_PTR, Xdpi As Long, Ydpi As Long)

[ Boolean = ]imagekitcontrolname.GetDpiFromHdcVariant(hDC As LONG_PTR, Xdpi As Variant, Ydpi As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetDpiFromHdc(LONG_PTR hDC, long *Xdpi, long *Ydpi)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.GetDpiFromHdc(hDC As Integer(x86) or Long(x64), ByRef Xdpi As Integer, ByRef Ydpi As Integer)

[ Boolean = ]imagekitcontrolname.GetDpiFromHdcVariant(hDC As Integer(x86) or Long(x64), ByRef Xdpi As Object, ByRef Ydpi As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.GetDpiFromHdc(int(x86) or long(x64) hDC, ref int Xdpi, ref int Ydpi)

[ bool = ]imagekitcontrolname.GetDpiFromHdcVariant(int(x86) or long(x64) hDC, ref object Xdpi, ref object Ydpi)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | デバイスコンテキスト
Xdpi | 取得するX（横）方向の1インチあたりのピクセル数
Ydpi | 取得するY（縦）方向の1インチあたりのピクセル数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ASPでは、GetDpiFromHdcVariantメソッドをご使用ください。

コード例（GetDpiFromHdcVariant）:

VB.NET

Dim Xdpi As Object = Nothing

Dim Ydpi As Object = Nothing

Dim ret As Boolean= ImageKit1.GetDpiFromHdcVariant(ImageKit1.hDC, Xdpi, Ydpi)

C#.NET

object Xdpi, Ydpi；

Xdpi = Ydpi = null;

bool ret = ImageKit1.GetDpiFromHdcVariant(ImageKit1.hDC, ref Xdpi, ref Ydpi);

【ImageKit7/8 ActiveXとの違い】

引数hDCの型が変更されました。


GetDpi（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetDpi

【機能】

イメージの解像度を取得します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.GetDpi

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetDpi()

(3)VB.NET [ Boolean = ]imagekitcontrolname.GetDpi()

(4)C#.NET [ bool = ]imagekitcontrolname.GetDpi()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）のイメージの解像度を取得します。

成功するとImageHandleプロパティであればXdpi, Ydpiプロパティに、Layer(LayerNo).ImageHandleプロパティであればLayer(LayerNo).Xdpi, Layer(LayerNo).Ydpiプロパティに値が設定されます。

このメソッドを実行しなくてもImageHandleプロパティやLayer(LayerNo).ImageHandleプロパティに値が設定された段階で解像度は自動的に設定されます。


GetDragDropFileName（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

GetDragDropFileName

【機能】

ドラッグ＆ドロップでイメージキットコントロール上にファイルをドロップすると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_GetDragDropFileName(ByVal FileName As String, ByVal Page As Integer)

(2)Visual C++

OnGetDragDropFileName imagekitcontrolname(LPCTSTR FileName, short Page)

(3)VB.NET

imagekitcontrolname_GetDragDropFileName(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_GetDragDropFileNameEvent)

(4)C#.NET

imagekitcontrolname_GetDragDropFileName(object sender, AxImageKit10(A)Lib._IImageKitEvents_GetDragDropFileNameEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
FileName | イメージキットコントロール上にドロップしたファイル名
Page | マルチイメージファイルのページ番号（0～）

※VB.NET/C#.NETでは二番目の引数eにFileName, Pageが含まれます（先頭の文字が小文字になります）。

【解説】

エクスプローラやサムネイルコントロールからイメージファイルをイメージキットコントロール上にドラッグ＆ドロップするとイベントが発生します。


GetDSInfo（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

GetDSInfo

【機能】

指定したデータソースの情報を取得します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.GetDSInfo

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().GetDSInfo()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.GetDSInfo()

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.GetDSInfo()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

データソースの情報を取得するにはDsNameプロパティを設定する必要があります。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

成功した場合、Manufacturer, ProductFamily, ProductName, ProtocolMajor, ProtocolMinor, SourceMajor, SourceMinor, SourceVersionInfoプロパティにデータソースの情報が設定されます。

GetDSInfo メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

GetDSInfoメソッドは以前のImageKitで提供していたスキャンコントロールのScanGetDSInfoメソッドに相当します。


GetFiles（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

GetFiles

【機能】

サムネイル画像を取得します。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.GetFiles

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetFiles()

(3)VB.NET [ Boolean = ]thumbcontrolname.GetFiles()

(4)C#.NET [ bool = ]thumbcontrolname.GetFiles()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、予めReadModeプロパティと下記のプロパティを設定する必要があります。

(1)フォルダ名とファイルの拡張子を指定する場合

FilePath、FileExtension プロパティに有効な値を設定

(2)ファイル名を指定する場合

ListOfFileNames プロパティにファイル名のリストを設定し、FilePath プロパティに空文字列を設定

また、サムネイルファイル(ThumbnailFileプロパティ)が存在しない場合や存在しても使用せずにサムネイル画像を取得する場合はSort、SortDate、SortOrderプロパティを使用してソートを行うことができます。


GetFromClipBrd（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetFromClipBrd

【機能】

クリップボードからラスタイメージやベクトルイメージを取り込みます。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.GetFromClipBrd

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFromClipBrd()

(3)VB.NET [ Boolean = ]imagekitcontrolname.GetFromClipBrd()

(4)C#.NET [ bool = ]imagekitcontrolname.GetFromClipBrd()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

成功するとLayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にラスタイメージやベクトルイメージのメモリハンドルが設定されます。

取得するイメージがベクトルの場合、EMF形式として扱います。


GetImageFileTypeMem（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

GetImageFileTypeMem

【機能】

Rawデータからイメージの各種情報を次のプロパティに設定します。

Comment, Exif, FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi, Interlace。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.GetImageFileTypeMem

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetImageFileTypeMem()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.GetImageFileTypeMem()

(4)C#.NET [ bool = ]imagekitcontrolname.File.GetImageFileTypeMem()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行するには、予めImageHandleRawDataプロパティとLoadPageプロパティに適切な値が設定されている必要があります。

FileMaxPage, FileSize以外のプロパティは、LoadPageプロパティで設定されたページの情報となります。ただし、TIFF形式を除くCommentプロパティはファイル単位の情報となります。

対応しているファイル形式であっても、ファイルに該当する情報が保存されていない場合はプロパティに0もしくは空文字列が設定されます。設定されるプロパティについては、各プロパティの説明を参照してください。

ファイルあるいはRawデータから情報を取得する違いはありますが、動作としてはGetImageFileTypeメソッドと同じです。ただし、ファイルの作成日時・アクセス日時・更新日時を示すプロパティには0が設定されます。


GetImageFileType（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

GetImageFileType

【機能】

ファイルからイメージの各種情報を次のプロパティに設定します。

Comment, CreationTimeDay, CreationTimeHour, CreationTimeMinute, CreationTimeMonth, CreationTimeSecond, CreationTimeYear, Exif, FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi, Interlace, LastAccessTimeDay, LastAccessTimeHour, LastAccessTimeMinute, LastAccessTimeMonth, LastAccessTimeSecond, LastAccessTimeYear, LastWriteTimeDay, LastWriteTimeHour, LastWriteTimeMinute, LastWriteTimeMonth, LastWriteTimeSecond, LastWriteTimeYear。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.GetImageFileType

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetImageFileType()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.GetImageFileType()

(4)C#.NET [ bool = ]imagekitcontrolname.File.GetImageFileType()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行するには、予めFileNameプロパティとLoadPageプロパティに適切な値が設定されている必要があります。

FileMaxPage, FileSize以外のプロパティは、LoadPageプロパティで設定されたページの情報となります。ただし、TIFF形式を除くCommentプロパティはファイル単位の情報となります。

対応しているファイル形式であっても、ファイルに該当する情報が保存されていない場合はプロパティに0もしくは空文字列が設定されます。設定されるプロパティについては、各プロパティの説明を参照してください。


GetImageFromHdc（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetImageFromHdc

【機能】

スクリーンのデバイスコンテキストに描画されたイメージを取得します。

【書式】

(1)Visual Basic

[ Long = ]imagekitcontrolname.PrintDraw.GetImageFromHdc(hDC As LONG_PTR, Width As Long, Height As Long, BitCount As Integer)

(2)Visual C++

[ long = ]imagekitcontrolname.GetPrintDraw().GetImageFromHdc(LONG_PTR hDC, long Width, long Height, short BitCount)

(3)VB.NET

[ Integer = ]imagekitcontrolname.PrintDraw.GetImageFromHdc(hDC As Integer(x86) or Long(x64), Width As Integer, Height As Integer, BitCount As Short)

(4)C#.NET

[ int = ]imagekitcontrolname.PrintDraw.GetImageFromHdc(int(x86) or long(x64) hDC, int Width, int Height, short BitCount)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | スクリーンのデバイスコンテキスト
Width | 取得するイメージの幅（ピクセル）
Height | 取得するイメージの高さ（ピクセル）
BitCount | 作成したいイメージのビット数

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合はヌル(0)が返されます）。

【解説】

スクリーンのデバイスコンテキストに描画されたイメージを取得し、メモリハンドルとして返します。

実際のイメージの幅と高さが取得できないコンポーネントからのイメージの取得は、上手くいかない場合があります。

【ImageKit7/8 ActiveXとの違い】

引数hDCの型が変更されました。


GetImageType（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetImageType

【機能】

イメージの各種情報をプロパティに設定します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.GetImageType

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetImageType()

(3)VB.NET [ Boolean = ]imagekitcontrolname.GetImageType()

(4)C#.NET [ bool = ]imagekitcontrolname.GetImageType()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）のイメージの各種情報を取得します。成功すると次のプロパティに値が設定されます。

ImageHandle プロパティが対象の場合

BitCount, Gray, ImageKind, ImageSize, ImageHeight, ImageWidth, ImageWidthByte, Mask1632, PalCount, Xdpi, Ydpi

Layer(LayerNo).ImageHandle プロパティが対象の場合

Layer(LayerNo).BitCount, Layer(LayerNo).Gray, Layer(LayerNo).Height, Layer(LayerNo).ImageKind, Layer(LayerNo).ImageSize, Layer(LayerNo).Mask1632, Layer(LayerNo).PalCount, Layer(LayerNo).Width, Layer(LayerNo).WidthByte, Layer(LayerNo).Xdpi, Layer(LayerNo).Ydpi

このメソッドを実行しなくてもImageHandleプロパティやLayer(LayerNo).ImageHandleプロパティに値が設定された段階で各種情報は自動的に設定されます。

設定されるプロパティについては、各プロパティの説明を参照してください。


GetMemorySize（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetMemorySize

【機能】

イメージの使用しているメモリサイズを取得します。

【書式】

(1)Visual Basic [ Long = ]imagekitcontrolname.GetMemorySize(ImageHandle As LONG_PTR)

(2)Visual C++ [ long = ]imagekitcontrolname.GetMemorySize(LONG_PTR ImageHandle)

(3)VB.NET [ Integer = ]imagekitcontrolname.GetMemorySize(ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET [ int = ]imagekitcontrolname.GetMemorySize(int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
ImageHandle | イメージのメモリハンドル

【戻り値】

使用しているメモリサイズ（バイト単位）を返します。（失敗した場合は0）

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

【ImageKit7/8 ActiveXとの違い】

引数の型が変更されました。


GetMinimumSize, GetMinimumSizeVariant, GetPhysicalSize, GetPhysicalSizeVariant（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

GetMinimumSize, GetMinimumSizeVariant, GetPhysicalSize, GetPhysicalSizeVariant

【機能】

GetMinimumSize(Variant):データソースから取り込める最小サイズを取得します。

GetPhysicalSize(Variant):データソースから取り込める最大物理サイズを取得します。

【書式】

※GetMinimumSize(Variant)にて説明（GetPhysicalSize(Variant)も同様な使い方）

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Scan.GetMinimumSize(Width As Single, Height As Single)

[ Boolean = ]imagekitcontrolname.Scan.GetMinimumSizeVariant(Width As Variant, Height As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetScan().GetMinimumSize(float *Width, float *Height)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Scan.GetMinimumSize(ByRef Width As Single, ByRef Height As Single)

[ Boolean = ]imagekitcontrolname.Scan.GetMinimumSizeVariant(ByRef Width As Object, ByRef Height As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Scan.GetMinimumSize(ref float Width, ref float Height)

[ bool = ]imagekitcontrolname.Scan.GetMinimumSizeVariant(ref object Width, ref object Height)

【引数】

名称 | 内容
Width | 取り込める最大物理幅、もしくは最小幅を取得する変数
Height | 取り込める最大物理高さ、もしくは最小高さを取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

最大物理サイズもしくは最小サイズを取得するには、DsName, ScanMode, UnitModeプロパティを設定する必要があります。UnitModeプロパティに5(ikScanPixel)を設定する場合は、XResolution, YResolutionプロパティに解像度（DPI）を設定してください。該当する解像度に応じたサイズが取得できます。XResolution, YResolutionプロパティが共に0の場合は、現在の解像度（DPI）に応じたサイズとなります。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

（OpenDSメソッドを事前に実行した場合はDsNameプロパティは無効で、オープンされたデータソースが有効）

ScanModeには0～2（GetPhysicalSize(Variant)の場合は7と8も可）、UnitModeにはデータソースがサポートしている値を設定してください。

Width、HeightにはScanModeおよびUnitModeに応じた値が設定されます。

GetPhysicalSize(Variant), GetMinimumSize(Variant)メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

GetMinimumSize(Variant), GetPhysicalSize(Variant)メソッドを実行する前にOpenDSメソッドを実行すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ASPでは、GetMinimumSizeVariant, GetPhysicalSizeVariantメソッドをご使用ください。

GetMinimumSize, GetPhysicalSizeメソッドは以前のImageKitで提供していたスキャンコントロールのScanGetMinimumSize, ScanGetPhysicalSizeメソッドに相当します。

【ImageKit7 ActiveXとの違い】

UnitModeプロパティが5(ikScanPixel)の場合、指定した解像度に応じたサイズが取得できるようになりました。


GetOneBitPalCount, GetOneBitPalCountVariant（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetOneBitPalCount, GetOneBitPalCountVariant

【機能】

1ビットカラーイメージのパレット0とパレット1のピクセル数を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.GetOneBitPalCount(Pal0 As Long, Pal1 As Long, ImageHandle As LONG_PTR)

[ Boolean = ]imagekitcontrolname.GetOneBitPalCountVariant(Pal0 As Variant, Pal1 As Variant, ImageHandle As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetOneBitPalCount(long *Pal0, long *Pal1, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.GetOneBitPalCount(ByRef Pal0 As Integer, ByRef Pal1 As Integer, ImageHandle As Integer(x86) or Long(x64))

[ Boolean = ]imagekitcontrolname.GetOneBitPalCountVariant(ByRef Pal0 As Object, ByRef Pal1 As Object, ImageHandle As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.GetOneBitPalCount(ref int Pal0, ref int Pal1, int(x86) or long(x64) ImageHandle)

[ bool = ]imagekitcontrolname.GetOneBitPalCountVariant(ref object Pal0, ref object Pal1, object ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Pal0 | 取得する1ビットカラーイメージのパレット0のピクセル数
Pal1 | 取得する1ビットカラーイメージのパレット1のピクセル数
ImageHandle | ラスタイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

1ビットカラーイメージが対象です。

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合(GetOneBitPalCount)、または引数のImageHandleを省略した場合(GetOneBitPalCountVariant)

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

パレットの色については、GetPaletteメソッドを参照してください。

ASPでは、GetOneBitPalCountVariantメソッドをご使用ください。

コード例（GetOneBitPalCountVariant）:

VB.NET

Dim Pal0 As Object = Nothing

Dim Pal1 As Object = Nothing

Dim ret As Boolean= ImageKit1.GetOneBitPalCountVariant(Pal0, Pal1)

C#.NET

object Pal0, Pal1；

Pal0 = Pal1 = null;

bool ret = ImageKit1.GetOneBitPalCountVariant(ref Pal0, ref Pal1);

【ImageKit7/8 ActiveXとの違い】

GetOneBitPalCountの引数ImageHandleの型が変更されました。


GetPalette, GetPaletteVariant（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetPalette, GetPaletteVariant

【機能】

ラスタイメージのパレット情報を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.GetPalette(Red As Integer, Green As Integer, Blue As Integer, ImageHandle As LONG_PTR)

[ Boolean = ]imagekitcontrolname.GetPaletteVariant(Red As Variant, Green As Variant, Blue As Variant, ImageHandle As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPalette(short *Red, short *Green, short *Blue, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.GetPalette(ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short, ImageHandle As Integer(x86) or Long(x64))

[ Boolean = ]imagekitcontrolname.GetPaletteVariant(ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object, ImageHandle As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.GetPalette(ref short Red, ref short Green, ref short Blue, int(x86) or long(x64) ImageHandle)

[ bool = ]imagekitcontrolname.GetPaletteVariant(ref object Red, ref object Green, ref object Blue, object ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Red | 取得する赤のパレット情報の配列
Green | 取得する緑のパレット情報の配列
Blue | 取得する青のパレット情報の配列 GetPalette (1)Visual Basic 引数にRed(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にRed(0)を与える (4)C#.NET 引数にref Red[0]を与える GetPaletteVariant Visual Basic/VB.NET 引数にRedを与える C#.NET 引数にref Redを与える
ImageHandle | ラスタイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合(GetPalette)、または引数のImageHandleを省略した場合(GetPaletteVariant)

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

パレット情報を取得するRGBのそれぞれの配列の数はPalCountプロパティの値になります。

PalCountプロパティはImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに値が設定された段階で更新されます。また、GetImageTypeメソッドでも取得できます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、GetPaletteVariantメソッドをご使用ください。

コード例：

(1)Visual Basic

GetPalette

Dim r() As Integer

Dim g() As Integer

Dim b() As Integer

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

ReDim r(0 To ImageKit1.PalCount - 1)

ReDim g(0 To ImageKit1.PalCount - 1)

ReDim b(0 To ImageKit1.PalCount - 1)

ImageKit1.GetPalette r(0), g(0), b(0), 0

' r, g, bを使用した処理

ImageKit1.SetPalette r(0), g(0), b(0), 0

GetPaletteVariant

Dim r

Dim g

Dim b

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

ImageKit1.GetPaletteVariant r, g, b

' r, g, bを使用した処理

ImageKit1.SetPaletteVariant r, g, b

(2)Visual C++

ImageKit1.SetLayerNo(-1);

if (ImageKit1.GetPalCount() < 1) return;

short *r = new short[ImageKit1.GetPalCount()];

short *g = new short[ImageKit1.GetPalCount()];

short *b = new short[ImageKit1.GetPalCount()];

ImageKit1.GetPalette(r, g, b, 0);

// r, g, bを使用した処理

ImageKit1.SetPalette(r, g, b, 0);

delete[] r;

delete[] g;

delete[] b;

(3)VB.NET

GetPalette

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

Dim r As Short() = New Short(ImageKit1.PalCount - 1) {}

Dim g As Short() = New Short(ImageKit1.PalCount - 1) {}

Dim b As Short() = New Short(ImageKit1.PalCount - 1) {}

ImageKit1.GetPalette(r(0), g(0), b(0), 0);

' r, g, bを使用した処理

ImageKit1.SetPalette(r(0), g(0), b(0), 0);

GetPaletteVariant

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

Dim r As Object = Nothing

Dim g As Object = Nothing

Dim b As Object = Nothing

ImageKit1.GetPaletteVariant(r, g, b)

' r, g, bを使用した処理

ImageKit1.SetPaletteVariant(r, g, b)

(4)C#.NET

GetPalette

ImageKit1.LayerNo = -1;

if (ImageKit1.PalCount < 1) return;

short []r = new short[ImageKit1.PalCount];

short []g = new short[ImageKit1.PalCount];

short []b = new short[ImageKit1.PalCount];

ImageKit1.GetPalette(ref r[0], ref g[0], ref b[0], 0);

// r, g, bを使用した処理

ImageKit1.SetPalette(ref r[0], ref g[0], ref b[0], 0);

GetPaletteVariant

ImageKit1.LayerNo = -1;

if (ImageKit1.PalCount < 1) return;

object r = null;

object g = null;

object b = null;

ImageKit1.GetPaletteVariant(ref r, ref g, ref b);

// r, g, bを使用した処理

ImageKit1.SetPaletteVariant(ref r, ref g, ref b);

【ImageKit7/8 ActiveXとの違い】

GetPaletteの引数ImageHandleの型が変更されました。


GetPaperSize, GetPaperSizeVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetPaperSize, GetPaperSizeVariant

【機能】

プリンタのデバイスコンテキストから印刷有効領域と用紙サイズを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSize(hDC As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, Width As Long, Height As Long, UnitMode As DeviceUnitModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSizeVariant(hDC As LONG_PTR, left As Variant, top As Variant, right As Variant, bottom As Variant, Width As Variant, Height As Variant, UnitMode As DeviceUnitModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPaperSize(LONG_PTR hDC, long *left, long *top, long *right, long *bottom, long *Width, long *Height, long UnitMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSize(hDC As Integer(x86) or Long(x64), ByRef left As Integer, ByRef top As Integer, ByRef right As Integer, ByRef bottom As Integer, ByRef Width As Integer, ByRef Height As Integer, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSizeVariant(hDC As Integer(x86) or Long(x64), ByRef left As Object, ByRef top As Object, ByRef right As Object, ByRef bottom As Object, ByRef Width As Object, ByRef Height As Object, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.GetPaperSize(int(x86) or long(x64) hDC, ref int left, ref int top, ref int right, ref int bottom, ref int Width, ref int Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

[ bool = ]imagekitcontrolname.PrintDraw.GetPaperSizeVariant(int(x86) or long(x64) hDC, ref object left, ref object top, ref object right, ref object bottom, ref object Width, ref object Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | プリンタのデバイスコンテキスト
left, top | 印刷有効領域の左上の位置を取得する変数
right, bottom | 印刷有効領域の右下の位置を取得する変数
Width | 用紙の幅を取得する変数
Height | 用紙の高さを取得する変数
UnitMode | 取得する単位（0:ピクセル単位、1:0.1mm単位）

定数(ikPrinterPixel = 0, ikPrinterMM = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

プリンタのデバイスコンテキストから印刷有効領域と用紙サイズを取得します。

ASPでは、GetPaperSizeVariantメソッドをご使用ください。

left, top, right, bottom, Width, Heightをピクセル単位として扱う場合

UnitModeが0(ikPrinterPixel)

left, top, right, bottom, Width, Heightを0.1mm単位として扱う場合

UnitModeが1(ikPrinterMM)

【ImageKit7/8 ActiveXとの違い】

引数hDCの型が変更されました。


GetPixel, GetPixelVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetPixel, GetPixelVariant

【機能】

描画先オブジェクトの指定したピクセルからRGB値を取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPixel(DeviceValue As LONG_PTR, x As Long, y As Long, Red As Integer, Green As Integer, Blue As Integer, DeviceMode As OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPixelVariant(DeviceValue As LONG_PTR, x As Long, y As Long, Red As Variant, Green As Variant, Blue As Variant, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPixel(LONG_PTR DeviceValue, long x, long y, short *Red, short *Green, short *Blue, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPixel(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.GetPixelVariant(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.GetPixel(int(x86) or long(x64) DeviceValue, int x, int y, ref short Red, ref short Green, ref short Blue, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

[ bool = ]imagekitcontrolname.PrintDraw.GetPixelVariant(int(x86) or long(x64) DeviceValue, int x, int y, ref object Red, ref object Green, ref object Blue, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | ピクセルの座標
Red | RGBの赤のパレット
Green | RGBの緑のパレット
Blue | RGBの青のパレット
DeviceMode | 描画対象（0:スクリーン、2:メモリハンドル）

定数(ikScreen = 0, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

x, yで指定したピクセルからRGB値を取得します。（対象はスクリーン、メモリハンドル）

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)の場合に有効になります。x, yの値はピクセル単位で設定してください。

Visual BasicのPictureBoxで使用する場合は、AutoRedrawプロパティをTrueに設定してください。

ASPでは、GetPixelVariantメソッドをご使用ください。

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


GetPrinterPort（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetPrinterPort

【機能】

プリンタのポートを取得します。

【書式】

(1)Visual Basic Boolean = ]imagekitcontrolname.PrintDraw.GetPrinterPort

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPrinterPort()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.GetPrinterPort()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.GetPrinterPort()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

メソッドを実行する前にPrinterNameプロパティにプリンタ名を設定する必要があります。

成功した場合、PortNameプロパティにポート名が設定されます。

プリンタが複数のポートに接続されている場合、各ポート名はカンマで区切られます。

例："LPT1:,LPT2:"


GetStreamFormats（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

GetStreamFormats

【機能】

フォーマット機能セットを取得します。

【書式】

(1)Visual Basic [ Long = ]previewcontrolname.GetStreamFormats

(2)Visual C++ [ long = ]previewcontrolname.GetStreamFormats()

(3)VB.NET [ Integer = ]previewcontrolname.GetStreamFormats()

(4)C#.NET [ int = ]previewcontrolname.GetStreamFormats()

【引数】

ありません。

【戻り値】

取得した数を返します。

【解説】

戻り値が1以上の場合、GetStreamFormatメソッドを実行することにより、対応している出力サイズなどの情報を取得できます。

戻り値が0の場合、ErrorStatusプロパティには2や11が設定されます。

GetStreamFormats メソッドを実行するには、事前にOpenメソッドを実行しておかなければなりません。


GetStreamFormats（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

GetStreamFormats

【機能】

フォーマット機能セットを取得します。

【書式】

(1)Visual Basic [ Long = ]recordcontrolname.GetStreamFormats

(2)Visual C++ [ long = ]recordcontrolname.GetStreamFormats()

(3)VB.NET [ Integer = ]recordcontrolname.GetStreamFormats()

(4)C#.NET [ int = ]recordcontrolname.GetStreamFormats()

【引数】

ありません。

【戻り値】

取得した数を返します。

【解説】

戻り値が1以上の場合、GetStreamFormatメソッドを実行することにより、対応している出力サイズなどの情報を取得できます。

戻り値が0の場合、ErrorStatusプロパティには2や11が設定されます。

GetStreamFormats メソッドを実行するには、事前にOpenメソッドを実行しておかなければなりません。


GetStreamFormat（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

GetStreamFormat

【機能】

指定したインデックスのフォーマット機能を取得します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.GetStreamFormat(Index As Long)

(2)Visual C++ [ BOOL = ]previewcontrolname.GetStreamFormat(long Index)

(3)VB.NET [ Boolean = ]previewcontrolname.GetStreamFormat(Index As Integer)

(4)C#.NET [ bool = ]previewcontrolname.GetStreamFormat(int Index)

【引数】

名称 | 内容
Index | インデックス（-1からGetStreamFormatsメソッドの戻り値-1の範囲内）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のIndexに-1を渡した場合は現在選択されているフォーマット機能を取得します。Indexに0からGetStreamFormatsメソッドの戻り値-1までの値を渡した場合は、そのインデックスに見合ったフォーマット機能を取得します。

戻り値がTrue(0以外)の場合、BitCount, Compression, FrameRate, MaximumFrameRate, MinimumFrameRate, VideoHeight, VideoSubType, VideoWidthプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには5や11が設定されます。

GetStreamFormat メソッドを実行するには、事前にOpenとGetStreamFormatsメソッドを実行しておかなければなりません。


GetStreamFormat（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

GetStreamFormat

【機能】

指定したインデックスのフォーマット機能を取得します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.GetStreamFormat(Index As Long)

(2)Visual C++ [ BOOL = ]recordcontrolname.GetStreamFormat(long Index)

(3)VB.NET [ Boolean = ]recordcontrolname.GetStreamFormat(Index As Integer)

(4)C#.NET [ bool = ]recordcontrolname.GetStreamFormat(int Index)

【引数】

名称 | 内容
Index | インデックス（-1からGetStreamFormatsメソッドの戻り値-1の範囲内）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のIndexに-1を渡した場合は現在選択されているフォーマット機能を取得します。Indexに0からGetStreamFormatsメソッドの戻り値-1までの値を渡した場合は、そのインデックスに見合ったフォーマット機能を取得します。

戻り値がTrue(0以外)の場合、BitCount, Compression, FrameRate, MaximumBitRate, MaximumFrameRate, MinimumBitRate, MinimumFrameRate, VideoHeight, VideoSubType, VideoWidthプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには5や11が設定されます。

GetStreamFormat メソッドを実行するには、事前にOpenとGetStreamFormatsメソッドを実行しておかなければなりません。


GetSystemPalette（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

GetSystemPalette

【機能】

現在のPCのシステムパレットを取得します。

【書式】

(1)Visual Basic [ Integer = ]imagekitcontrolname.GetSystemPalette

(2)Visual C++ [ short = ]imagekitcontrolname.GetSystemPalette()

(3)VB.NET [ Short = ]imagekitcontrolname.GetSystemPalette()

(4)C#.NET [ short = ]imagekitcontrolname.GetSystemPalette()

【引数】

ありません。

【戻り値】

内容
現在のコンピュータのシステムパレットを返します。
2：2色（1ビットカラー）
16：16色（4ビットカラー）
256：256色（8ビットカラー）
0：16ビットカラー、24ビットカラー、32ビットカラー

【解説】

現在のコンピュータのシステムパレットを取得します。


GetTextExtent, GetTextExtentVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

GetTextExtent, GetTextExtentVariant

【機能】

テキストの情報から文字列の幅と高さを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtent(hDC As LONG_PTR, Width As Long, Height As Long, UnitMode As DeviceUnitModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtentVariant(hDC As LONG_PTR, Width As Variant, Height As Variant, UnitMode As DeviceUnitModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().GetTextExtent(LONG_PTR hDC, long *Width, long *Height, long UnitMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtent(hDC As Integer(x86) or Long(x64), ByRef Width As Integer, ByRef Height As Integer, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtentVariant(hDC As Integer(x86) or Long(x64), ByRef Width As Object, ByRef Height As Object, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.GetTextExtent(int(x86) or long(x64) hDC, ref int Width, ref int Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

[ bool = ]imagekitcontrolname.PrintDraw.GetTextExtentVariant(int(x86) or long(x64) hDC, ref object Width, ref object Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | デバイスコンテキスト
Width | 文字列の幅を取得する変数
Height | 文字列の高さを取得する変数
UnitMode | 取得する単位（0:ピクセル単位、1:0.1mm単位）

定数(ikPrinterPixel = 0, ikPrinterMM = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

テキストの情報から文字列の幅と高さを取得します。（単一行のみ対応）

CharSet, FontName, FontSize, Direction, CharAngle, RotateStringプロパティに値を設定する必要があります。

CharExtraプロパティに1以上の値が設定されていた場合は、文字間を考慮した値になります。

RotateStringプロパティがFalseの場合は文字列の方向と文字の回転に関わらず、文字列を描画する横方向が幅で縦方向が高さとなります。RotateStringプロパティがTrueの場合は文字列を描画する方向が幅となり、垂直方向が高さとなります。RotateStringプロパティがFalseの場合、CharAngleプロパティは0, 90, 180, 270以外は無効です。

ASPでは、GetTextExtentVariantメソッドをご使用ください。

Width, Heightをピクセル単位として返す場合

UnitModeが0(ikPrinterPixel)

Width, Heightを0.1mm単位として返す場合

UnitModeが1(ikPrinterMM)

【ImageKit7/8 ActiveXとの違い】

引数hDCの型が変更されました。


GetVideoDevices（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

GetVideoDevices

【機能】

ビデオデバイスの名称を取得します。

【書式】

(1)Visual Basic [ Long = ]previewcontrolname.GetVideoDevices

(2)Visual C++ [ long = ]previewcontrolname.GetVideoDevices()

(3)VB.NET [ Integer = ]previewcontrolname.GetVideoDevices()

(4)C#.NET [ int = ]previewcontrolname.GetVideoDevices()

【引数】

ありません。

【戻り値】

取得した数を返します。

【解説】

戻り値が1以上の場合、VideoDevicesプロパティにビデオデバイスの名称が設定されます。ビデオデバイスが複数接続されている場合、文字列は"XXX,XXX,････････"となり、カンマで区切られて設定されます。単一の場合は文字列にカンマは含まれません。

戻り値が0の場合、ErrorStatusプロパティには201や202が設定されます。


GetVideoDevices（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

GetVideoDevices

【機能】

ビデオデバイスの名称を取得します。

【書式】

(1)Visual Basic [ Long = ]recordcontrolname.GetVideoDevices

(2)Visual C++ [ long = ]recordcontrolname.GetVideoDevices()

(3)VB.NET [ Integer = ]recordcontrolname.GetVideoDevices()

(4)C#.NET [ int = ]recordcontrolname.GetVideoDevices()

【引数】

ありません。

【戻り値】

取得した数を返します。

【解説】

戻り値が1以上の場合、VideoDevicesプロパティにビデオデバイスの名称が設定されます。ビデオデバイスが複数接続されている場合、文字列は"XXX,XXX,････････"となり、カンマで区切られて設定されます。単一の場合は文字列にカンマは含まれません。

戻り値が0の場合、ErrorStatusプロパティには201や202が設定されます。


GifAnimeDelay（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

GifAnimeDelay

【機能】

マルチイメージGIFのイメージ間の表示する時間を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.GifAnimeDelay [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetGifAnimeDelay()

imagekitcontrolname.GetFile().SetGifAnimeDelay(short Val)

(3)VB.NET imagekitcontrolname.File.GifAnimeDelay [ = Short ]

(4)C#.NET imagekitcontrolname.File.GifAnimeDelay [ = short ]

【設定値】

画像を表示した後、次の画像を表示するまでの時間（1/100秒単位）。

【解説】

イメージをGIFファイルに保存する際に設定します。デフォルトは0です。

ただし、GifAnimeプロパティがTrueの場合のみ有効になります。

【値の設定】

実行時

【値の参照】

実行時


GifAnime（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

GifAnime

【機能】

マルチイメージGIFかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.GifAnime [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetGifAnime()

imagekitcontrolname.GetFile().SetGifAnime(BOOL Val)

(3)VB.NET imagekitcontrolname.File.GifAnime [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.GifAnime [ = bool ]

【設定値】

値 | 説明
True | アニメーション（マルチイメージ）
False | シングルイメージ

【解説】

イメージをGIFファイルに保存する際に設定します。デフォルトはFalseです。

【値の設定】

実行時

【値の参照】

実行時


GlassTile, GlassTileVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

GlassTile, GlassTileVariant

【機能】

ラスタイメージにガラスタイル効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.GlassTile(x As Long, y As Long, Points As Long, xSize As Long, ySize As Long)

[ Boolean = ]imagekitcontrolname.Effect.GlassTileVariant(x As Variant, y As Variant, xSize As Long, ySize As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().GlassTile(long *x, long *y, long Points, long xSize, long ySize)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.GlassTile(ByRef x As Integer, ByRef y As Integer, Points As Integer, xSize As Integer, ySize As Integer)

[ Boolean = ]imagekitcontrolname.Effect.GlassTileVariant(ByRef x As Object, ByRef y As Object, xSize As Integer, ySize As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.GlassTile(ref int x, ref int y, int Points, int xSize, int ySize)

[ bool = ]imagekitcontrolname.Effect.GlassTileVariant(ref object x, ref object y, int xSize, int ySize)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） GlassTile (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える GlassTileVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（GlassTileのみ）
xSize | ガラスタイルの横サイズ（10～100）
ySize | ガラスタイルの縦サイズ（10～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、GlassTileVariantメソッドをご使用ください。


Grad, Grid, ToolTip（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Grad, Grid, ToolTip

【機能】

目盛、グリッド、マウスの座標値の表示単位を設定します。

【書式】

※Gradにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Grad [ = UnitConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetGrad()

imagekitcontrolname.SetGrad(long Val)

(3)VB.NET imagekitcontrolname.Grad [ = ImageKit10(A)Lib.UnitConstants ]

(4)C#.NET imagekitcontrolname.Grad [ = ImageKit10(A)Lib.UnitConstants ]

※ANSI版がImageKit10ALib、Unicode版がImageKit10Libとなります。

【設定値】

値 | 説明
0 | なし
1 | ピクセル
2 | ミリメートル
3 | インチ

定数(ikNone = 0, ikPixel = 1, ikmm = 2, ikInch = 3)を使用することも可能です。

【解説】

Gradプロパティは目盛（イメージキットコントロールの左と上に付加）、Gridプロパティはグリッド（描画領域に格子の線を描画）、ToolTipプロパティはマウスを移動させた時の座標値を表します。

値が0の場合は何も表示しませんが、1～3の場合は目盛（グリッドもしくはマウス座標値）を表示する単位を表します。

（注意）

Grad, Gridプロパティについては2（ikmm）を設定しても表示はセンチメートル単位となります。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


GradBackColor, GradColor, GridColor, InvalidHatchColor, RectColor1, RectColor2, ToolTipColor（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

GradBackColor, GradColor, GridColor, InvalidHatchColor, RectColor1, RectColor2, ToolTipColor

【機能】

色情報を取得または設定します。

【書式】

※GradColorにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.GradColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]imagekitcontrolname.GetGradColor()

imagekitcontrolname.SetGradColor(unsigned long Val)

(3)VB.NET imagekitcontrolname.GradColor [ = Color ]

(4)C#.NET imagekitcontrolname.GradColor [ = Color ]

【設定値】

GradBackColorは目盛の背景色。

GradColorは目盛の色。

GridColorはグリッドの色。

InvalidHatchColorはハッチパターンの色。

RectColor1は矩形選択領域を表す点線の最初の色。

RectColor2は矩形選択領域を表す点線の2番目の色。

ToolTipColorはマウス移動時の座標値を表示する色。

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

GradBackColor, GradColorプロパティはGradプロパティが1以上の場合に有効です。

GridColorプロパティはGridプロパティが1以上の場合に有効です。

InvalidHatchColorプロパティはInvalidHatchPatternプロパティが1以上の場合に有効です。

RectColor1, RectColor2プロパティはRectDrawプロパティがTrueの場合に有効です。

ToolTipColorプロパティはToolTipプロパティが1以上の場合に有効です。

【値の設定】

デザイン時（RectColor1, RectColor2, ToolTipColorは除く）、実行時

【値の参照】

実行時


Gray（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

Gray

【機能】

ImageHandleプロパティに設定されたイメージがグレースケールであるかどうかを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).Gray [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetGray()

(3)VB.NET imagekitcontrolname.get_Layer(Index).Gray [ = Boolean ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).Gray [ = bool ]

※Indexは0～99

【参照値】

値 | 説明
True | グレースケール
False | グレースケールでない

【解説】

ImageHandleプロパティに値が設定されると、Grayプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


Gray（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Gray

【機能】

ImageHandleプロパティに設定されたイメージがグレースケールであるかどうかを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Gray [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetGray()

(3)VB.NET imagekitcontrolname.Gray [ = Boolean ]

(4)C#.NET imagekitcontrolname.Gray [ = bool ]

【参照値】

値 | 説明
True | グレースケール
False | グレースケールでない

【解説】

ImageHandleプロパティに値が設定されると、Grayプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


GridSpace（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

GridSpace

【機能】

グリッドの間隔を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.GridSpace [ = Double ]

(2)Visual C++ [ double = ]imagekitcontrolname.GetGridSpace()

imagekitcontrolname.SetGridSpace(double Val)

(3)VB.NET imagekitcontrolname.GridSpace [ = Double ]

(4)C#.NET imagekitcontrolname.GridSpace [ = double ]

【設定値】

Gridプロパティで設定された単位に基づく値。

【解説】

Gridプロパティが1(ikPixel)の場合はピクセル単位となります。

小さい値を設定した場合や実寸表示の縮小率によっては自動的に調整されます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


HalfToneList（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

HalfToneList

【機能】

GetCapEnum(Variant)メソッドでハーフトーンを指定した時に取得されるハーフトーンのリストを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.HalfToneList [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetScan().GetHalfToneList()

(3)VB.NET imagekitcontrolname.Scan.HalfToneList [ = String ]

(4)C#.NET imagekitcontrolname.Scan.HalfToneList [ = string ]

【参照値】

ハーフトーンのリスト。

【解説】

GetCapEnum(Variant)メソッドが成功した場合はハーフトーンを表す名称が設定されます。

名称が1つの場合: "XXX,"

名称が複数の場合: "XXX,YYY,・・・・・・,"

XXXとYYYは名称を表し、名称の間はカンマで区切られ、終了を表すターミネータもカンマとなります。

【値の設定】

不可

【値の参照】

実行時


HalfTone（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

HalfTone

【機能】

開発者作成UIで取り込む時のハーフトーンを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.HalfTone [ = String ]

(2)Visual C++ imagekitcontrolname.GetScan().SetHalfTone(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Scan.HalfTone [ = String ]

(4)C#.NET imagekitcontrolname.Scan.HalfTone [ = string ]

【設定値】

ハーフトーン名。

【解説】

UiModeプロパティが2(ikScanNONUI)、PixelTypeプロパティが0(ikScanPixelBW)、BitDepthReductionプロパティが1(ikBitDepthReductionHalfTone)の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

設定可能な値については、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


HCentering, VCentering（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

HCentering, VCentering

【機能】

文字列のセンタリングを設定します。

【書式】

※HCenteringにて説明（VCenteringも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.HCentering [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetHCentering(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.HCentering [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.HCentering [ = short ]

【設定値】

HCenteringは水平センタリングを設定。

VCenteringは垂直センタリングを設定。

値 | 説明
0 | 左（HCentering）、上（VCentering）
1 | 中央
2 | 右（HCentering）、下（VCentering）

【解説】

設定したプロパティの情報はDrawString, DrawText, MeasureStringメソッドで有効になります。

【値の設定】

実行時

【値の参照】

不可


Hdc（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Hdc

【機能】

プリンタのデバイスコンテキストを示します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Hdc [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetPrintDraw().GetHdc()

(3)VB.NET imagekitcontrolname.PrintDraw.hDC [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.PrintDraw.hDC [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

プリンタのデバイスコンテキスト

【解説】

PrintCreateDC, PrintDialogメソッドを実行すると（成功した場合）、プリンタのデバイスコンテキストを取得できます。

取得したデバイスコンテキストはPrintDeleteDCメソッドで削除します。（プロパティ値は0もしくはNULLになります。）

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


Hdc（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Hdc

【機能】

イメージキットコントロールのデバイスコンテキストを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Hdc [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetHdc()

(3)VB.NET imagekitcontrolname.hDC [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.hDC [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

イメージキットコントロールのデバイスコンテキスト。

【解説】

Hdcプロパティはイメージキットコントロールのデバイスコンテキストを示すので、PrintDrawプロパティに実装されているメソッドを使用してイメージキットコントロール上に描画することができます。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


Hdc（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Hdc

【機能】

サムネイルコントロールのデバイスコンテキストを示します。

【書式】

(1)Visual Basic thumbcontrolname.Hdc [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]thumbcontrolname.GetHdc()

(3)VB.NET thumbcontrolname.Hdc [ = Integer(x86) or Long(x64) ]

(4)C#.NET thumbcontrolname.Hdc [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

サムネイルコントロールのデバイスコンテキスト。

【値の設定】

不可

【値の参照】

実行時

【ImageKit6/7/8 ActiveXとの違い】

プロパティの型が変更されました。


Height, Width（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

Height, Width

【機能】

ImageHandleプロパティに設定されたイメージの縦横のサイズをピクセル数で示します。

【書式】

※Heightにて説明（Widthも同様な使い方）

(1)Visual Basic imagekitcontrolname.Layer(Index).Height [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetLayer(Index).GetHeight()

(3)VB.NET imagekitcontrolname.get_Layer(Index).Height [ = Integer ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).Height [ = int ]

※Indexは0～99

【参照値】

Heightは縦方向のピクセル数。

Widthは横方向のピクセル数。

【解説】

ImageHandleプロパティに値が設定されると、Height, Widthプロパティは自動的に更新されます。

【値の設定】

不可

【値の参照】

実行時


Height, Width（イメージキットコントロール／Magnifierプロパティ）

（イメージキットコントロール／Magnifierプロパティ）

Height, Width

【機能】

虫眼鏡ウィンドウの縦方向と横方向のサイズを取得または設定します。

【書式】

※Heightにて説明（Widthも同様な使い方）

(1)Visual Basic imagekitcontrolname.Magnifier.Height [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetMagnifier().GetHeight()

imagekitcontrolname.GetMagnifier().SetHeight(short Val)

(3)VB.NET imagekitcontrolname.Magnifier.Height [ = Short ]

(4)C#.NET imagekitcontrolname.Magnifier.Height [ = short ]

【設定値】

Heightは縦方向のサイズ（ピクセル）

Widthは横方向のサイズ（ピクセル）

【解説】

デフォルトは両方とも100です。

【値の設定】

実行時

【値の参照】

実行時


Highlight, Shadow, Threshold（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Highlight, Shadow, Threshold

【機能】

開発者作成UIで取り込む時のハイライト・シャドウ・しきい値を設定します。

【書式】

※Highlightにて説明（Shadow, Thresholdも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.Highlight [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetHighlight(short Val)

(3)VB.NET imagekitcontrolname.Scan.Highlight [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.Highlight [ = short ]

【設定値】

0～255。

Highlightはハイライト。（デフォルトは255）

Shadowはシャドウ。（デフォルトは0）

Thresholdはしきい値。（デフォルトは128）

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

Highlight, Shadowプロパティは、PixelTypeプロパティが0(ikScanPixelBW)以外の場合に有効です。

Thresholdプロパティは、PixelTypeプロパティが0(ikScanPixelBW)、BitDepthReductionプロパティが0(ikBitDepthReductionThreshold)の場合に有効ですが、しきい値の機能を明るさで表すデータソースの場合はThresholdプロパティではなくBrightnessプロパティをご使用ください。

上記のプロパティは、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

設定可能な値については、GetCapRange(Variant)メソッドもしくはGetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


HotkeyPrefix（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

HotkeyPrefix

【機能】

プリフィックス文字をどう扱うかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.HotkeyPrefix [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetHotkeyPrefix(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.HotkeyPrefix [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.HotkeyPrefix [ = short ]

【設定値】

値 | 説明
0 | プリフィックスなし
1 | プリフィックス表示
2 | プリフィックス非表示（DrawStringメソッドのみ）

【解説】

DrawString, DrawTextメソッドで有効です。

例：

HotkeyPrefix = 0: &Aは&Aと描画されます。

HotkeyPrefix = 1: &AはAと描画されます。

HotkeyPrefix = 2: &AはAと描画されます。

【値の設定】

実行時

【値の参照】

不可


HTTPConnect（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

HTTPConnect

【機能】

HTTP(S)サーバに接続します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.HTTPConnect(ServerName As String, ProxyName As String, PortNo As Integer, HTTPS As Boolean, UserName As String, Password As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().HTTPConnect(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL HTTPS, LPCTSTR UserName, LPCTSTR Password)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.HTTPConnect(ServerName As String, ProxyName As String, PortNo As Short, HTTPS As Boolean, UserName As String, Password As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.HTTPConnect(string ServerName, string ProxyName, short PortNo, bool HTTPS, string UserName, string Password)

【引数】

名称 | 内容
ServerName | HTTP(S)サーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトはHTTPが80、HTTPSが443）
HTTPS | 接続先サーバの種類 [ False(0):HTTP, True(0以外):HTTPS ]
UserName | ユーザ名
Password | パスワード

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドでHTTP(S)サーバへ接続し、HTTPGetFileEx, HTTPPutFileExメソッドを使用します。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。


HTTPDisconnect（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

HTTPDisconnect

【機能】

接続しているHTTP(S)サーバを切断します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.HTTPDisconnect

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().HTTPDisconnect()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.HTTPDisconnect()

(4)C#.NET [ bool = ]imagekitcontrolname.File.HTTPDisconnect()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。HTTPConnectメソッドで接続したHTTP(S)サーバを切断します。


HTTPGetFile,HTTPSGetFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

HTTPGetFile, HTTPSGetFile

【機能】

HTTPまたはHTTPSサーバからファイルを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.HTTPGetFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)

[ Boolean = ]imagekitcontrolname.File.HTTPSGetFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().HTTPGetFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)

[ BOOL = ]imagekitcontrolname.GetFile().HTTPSGetFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.HTTPGetFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)

[ Boolean = ]imagekitcontrolname.File.HTTPSGetFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.HTTPGetFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

[ bool = ]imagekitcontrolname.File.HTTPSGetFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

【引数】

名称 | 内容
ServerName | HTTP(S)サーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトはHTTPが80、HTTPSが443）
RemoteFilePath | HTTP(S)サーバから取得するファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドではHTTP(S)サーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。

取得したファイルはFileNameプロパティに設定されたファイルに保存されます。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。

HTTPサーバを利用する場合はHTTPGetFileメソッドを、HTTPSサーバを利用する場合はHTTPSGetFileメソッドを使用してください。


HTTPGetFileEx（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

HTTPGetFileEx

【機能】

HTTP(S)サーバからファイルを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.HTTPGetFileEx(RemoteFilePath As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().HTTPGetFileEx(LPCTSTR RemoteFilePath, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.HTTPGetFileEx(RemoteFilePath As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.HTTPGetFileEx(string RemoteFilePath, int TransPercent)

【引数】

名称 | 内容
RemoteFilePath | HTTP(S)サーバから取得するファイル名
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。HTTPConnectメソッドでHTTP(S)サーバに接続してから使用します。TransPercentには転送単位を％で与えます。

取得したファイルはFileNameプロパティに設定されたファイルに保存されます。

コード例：

(1)Visual Basic

If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

Call ImageKit1.File.HTTPGetFileEx("images/001.jpg", 10)

Call ImageKit1.File.HTTPDisconnect()

(2)Visual C++

if (ImageKit1.GetFile().HTTPConnect("www.newtone.co.jp", "", 443, TRUE, "User", "Password") == FALSE) return;

ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");

ImageKit1.GetFile().HTTPGetFileEx("images/001.jpg", 10);

ImageKit1.GetFile().HTTPDisconnect();

(3)VB.NET

If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

ImageKit1.File.HTTPGetFileEx("images/001.jpg", 10)

ImageKit1.File.HTTPDisconnect()

(4)C#.NET

if (ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, true, "User", "Password") == false) return;

ImageKit1.File.FileName = @"C:\Images\001.jpg";

ImageKit1.File.HTTPGetFileEx("images/001.jpg", 10);

ImageKit1.File.HTTPDisconnect();


HTTPPutFile,HTTPSPutFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

HTTPPutFile, HTTPSPutFile

【機能】

HTTPまたはHTTPSサーバへファイルを転送します

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.HTTPPutFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)

[ Boolean = ]imagekitcontrolname.File.HTTPSPutFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().HTTPPutFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)

[ BOOL = ]imagekitcontrolname.GetFile().HTTPSPutFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.HTTPPutFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)

[ Boolean = ]imagekitcontrolname.File.HTTPSPutFile(ServerName As String, ProxyName As String, PortNo As short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.HTTPPutFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

[ bool = ]imagekitcontrolname.File.HTTPSPutFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

【引数】

名称 | 内容
ServerName | HTTP(S)サーバの名称もしくはIPアドレス
ProxyName | プロキシサーバのIPアドレス
PortNo | ポート番号（デフォルトはHTTPが80、HTTPSが443）
RemoteFilePath | 転送先（HTTP(S)サーバ）ファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。当メソッドではHTTP(S)サーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。

転送ファイルはFileNameプロパティに設定されたファイルとなります。

プロキシサーバを使用しない場合は、ProxyNameに空文字列やNULL(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), null(C#.NET)を渡してください。

HTTPサーバを利用する場合はHTTPPutFileメソッドを、HTTPSサーバを利用する場合はHTTPSPutFileメソッドを使用してください。


HTTPPutFileEx（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

HTTPPutFileEx

【機能】

HTTP(S)サーバへファイルを転送します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.HTTPPutFileEx(RemoteFilePath As String, TransPercent As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().HTTPPutFileEx(LPCTSTR RemoteFilePath, long TransPercent)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.HTTPPutFileEx(RemoteFilePath As String, TransPercent As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.HTTPPutFileEx(string RemoteFilePath, int TransPercent)

【引数】

名称 | 内容
RemoteFilePath | 転送先（HTTP(S)サーバ）ファイル名
TransPercent | 転送単位％（1～100）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

クライアントからの使用に限ります。HTTPConnectメソッドでHTTP(S)サーバに接続してから使用します。TransPercentには転送単位を％で与えます。

転送ファイルはFileNameプロパティに設定されたファイルとなります。

コード例：

(1)Visual Basic

If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

Call ImageKit1.File.HTTPPutFileEx("images/001.jpg", 10)

Call ImageKit1.File.HTTPDisconnect()

(2)Visual C++

if (ImageKit1.GetFile().HTTPConnect("www.newtone.co.jp", "", 443, TRUE, "User", "Password") == FALSE) return;

ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");

ImageKit1.GetFile().HTTPPutFileEx("images/001.jpg", 10);

ImageKit1.GetFile().HTTPDisconnect();

(3)VB.NET

If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub

ImageKit1.File.FileName = "C:\Images\001.jpg"

ImageKit1.File.HTTPPutFileEx("images/001.jpg", 10)

ImageKit1.File.HTTPDisconnect()

(4)C#.NET

if (ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, true, "User", "Password") == false) return;

ImageKit1.File.FileName = @"C:\Images\001.jpg";

ImageKit1.File.HTTPPutFileEx("images/001.jpg", 10);

ImageKit1.File.HTTPDisconnect();


Hwnd（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

Hwnd

【機能】

イメージ編集ツールバーのウィンドウハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Hwnd [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetEdit().GetHwnd()

(3)VB.NET imagekitcontrolname.Edit.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.Edit.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

イメージ編集ツールバーのウィンドウハンドル。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


Hwnd（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

Hwnd

【機能】

パンウィンドウのウィンドウハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.Hwnd [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetPanWindow().GetHwnd()

(3)VB.NET imagekitcontrolname.PanWindow.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.PanWindow.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

パンウィンドウのウィンドウハンドル。

【解説】

Hwndプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowHandleプロパティに相当します。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


Hwnd（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

HWND

【機能】

イメージキットコントロールのウィンドウハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.HWND [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetHWND()

(3)VB.NET imagekitcontrolname.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

イメージキットコントロールのウィンドウハンドル。

【解説】

HWNDプロパティはイメージキットコントロールのウィンドウハンドルを示すので、この値からウィンドウハンドルを引数にとる、各種WindowsAPIを呼び出すことができます。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの名称が全て大文字に、またプロパティの型が変更されました。


Hwnd（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

HWND

【機能】

サムネイルコントロールのウィンドウハンドルを示します。

【書式】

(1)Visual Basic thumbcontrolname.HWND [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]thumbcontrolname.GetHWND()

(3)VB.NET thumbcontrolname.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET thumbcontrolname.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

サムネイルコントロールのウィンドウハンドル。

【値の設定】

不可

【値の参照】

実行時

【ImageKit5/6/7/8 ActiveXとの違い】

プロパティの名称が全て大文字に、またプロパティの型が変更されました。


HWND（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

HWND

【機能】

プレイコントロールのウィンドウハンドルを示します。

【書式】

(1)Visual Basic playcontrolname.HWND [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]playcontrolname.GetHWND()

(3)VB.NET playcontrolname.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET playcontrolname.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

プレイコントロールのウィンドウハンドル。

【値の設定】

不可

【値の参照】

実行時


HWND（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

HWND

【機能】

プレビューコントロールのウィンドウハンドルを示します。

【書式】

(1)Visual Basic previewcontrolname.HWND [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]previewcontrolname.GetHWND()

(3)VB.NET previewcontrolname.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET previewcontrolname.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

プレビューコントロールのウィンドウハンドル。

【値の設定】

不可

【値の参照】

実行時


HWND（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

HWND

【機能】

レコードコントロールのウィンドウハンドルを示します。

【書式】

(1)Visual Basic recordcontrolname.HWND [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]recordcontrolname.GetHWND()

(3)VB.NET recordcontrolname.HWND [ = Integer(x86) or Long(x64) ]

(4)C#.NET recordcontrolname.HWND [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

レコードコントロールのウィンドウハンドル。

【値の設定】

不可

【値の参照】

実行時


IgnoreBackColor（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

IgnoreBackColor

【機能】

開発者作成UIで取り込む時の白黒/カラー自動判別時に原稿の背景色を無視するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.IgnoreBackColor [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetScan().SetIgnoreBackColor(BOOL Val)

(3)VB.NET imagekitcontrolname.Scan.IgnoreBackColor [ = Boolean ]

(4)C#.NET imagekitcontrolname.Scan.IgnoreBackColor [ = bool ]

【設定値】

値 | 説明
True | 背景色を無視する
False | 背景色を無視しない（デフォルト）

【解説】

パナソニック製スキャナ用ドライバご利用時に有効です。

UiModeプロパティが2(ikScanNONUI)、PixelTypeプロパティが1000(ikScanPixelAutomation)の場合に有効です。

【値の設定】

実行時

【値の参照】

不可


IKAffine

【機能】

歪んだラスタイメージを修正します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKAffine(HANDLE Handle, int Px1, int Py1, int Px2, int Py2, int Px3, int Py3, int Px4, int Py4, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKAffine(Handle: THandle; Px1, Py1, Px2, Py2, Px3, Py3, Px4, Py4: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKAffine(ByVal Handle As Long, ByVal Px1 As Long, ByVal Py1 As Long, ByVal Px2 As Long, ByVal Py2 As Long, ByVal Px3 As Long, ByVal Py3 As Long, ByVal Px4 As Long, ByVal Py4 As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージが対象となります）
Px1～Px4 | アフィン変換する四点のX座標（ピクセル）
Py1～Py4 | アフィン変換する四点のY座標（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

(Px1, Py1)、(Px2, Py2)、(Px3, Py3)、(Px4, Py4)で囲まれたイメージをその点に内接する四角形に変換します。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKAntiAlias

【機能】

ラスタイメージのエッジを滑らかにします。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKAntiAlias(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKAntiAlias(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKAntiAlias(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合は、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKArc

【機能】

描画先オブジェクトに弧を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKArc(LPVOID DeviceValue, LPRECT PrintRect, int x1, int y1, int x2, int y2, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKArc(DeviceValue: THandle; var PrintRect: TRect; x1, y1, x2, y2: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKArc(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 境界矩形を指定する構造体変数
x1, y1 | 弧の始点のx, y座標
x2, y2 | 弧の終点のx, y座標
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した矩形に含まれる楕円弧を2点間で描画します。始点と終点が弧の上にある必要はなく、指定の点から境界矩形までの中心までの直線が計算され、弧とその直線との交点が用いられます。

（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外の場合に有効です。

PrintRectのメンバー変数とx1, y1, x2, y2の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数とx1, y1, x2, y2の値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Arc | DeviceValue, PrintRect, x1, y1, x2, y2, PrintInfo
IKArc | DeviceValue, PrintRect, x1, y1, x2, y2, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKAutoSelectImage, IKAutoSelectImageEx

【機能】

指定したRGB値に近似している部分を選択し、ラスタイメージとマスクを生成します。

【関数書式】

(1)C++Builder

BOOL IKAutoSelectImageEx(HANDLE Handle, PTR_IKSELECT_IMAGE DstHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Mode, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKAutoSelectImageEx(Handle: THandle; var DstHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue, Mode, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKAutoSelectImage(ByVal Handle As Long, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Mode As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE

(4)Visual C++

IKSELECT_IMAGE IKAutoSelectImage(HANDLE Handle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Mode, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること）
DstHandle | 処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ） （実行に失敗した場合はそれぞれのメンバーに、0が返されます） ※DstHandleはIKAutoSelelctImageExの場合に使用
SelectMode | 選択範囲の種類の指定（1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | 選択対象となる赤の値(0～255)
Green | 選択対象となる緑の値(0～255)
Blue | 選択対象となる青の値(0～255)
Mode | 比較モード（0:RGB, 1:CrCb, 2:Y）
Level | 許容誤差（0～255）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

IKAutoSelectImage:

処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ）

（実行に失敗した場合はそれぞれのメンバーに、0が返されます）

IKAutoSelectImageEx:

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

Modeが0以外(CrCb:色相 Y:輝度)の場合には、設定されたRGB値をYCrCbに変換して比較します。

Level（許容誤差）は指定したRGBにどの程度近いピクセルを選択するかを制御します。値が0の場合は、指定したRGB値そのものを選択し、値を大きくすると許容誤差が大きくなり、より多くのピクセルを選択します。引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

C++Builder、Delphiでご利用の場合は、必ずIKAutoSelectImageExをご使用ください。


IKBitBlt

【機能】

コピー元からコピー先のデバイスコンテキストへ、指定された矩形内の各ピクセルの色データをコピーします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKBitBlt(HDC hDCDst, long XDst, long YDst, long Width, long Height, HDC hDCSrc, long XSrc, long YSrc, DWORD dwRop);

(2)Delphi

function IKBitBlt(hDCDst: HDC; XDst, YDst, Width, Height: Longint; hDCSrc: HDC; XSrc, YSrc: Longint; dwRop: DWORD): LongBool;

(3)Visual Basic

Function IKBitBlt(ByVal hDCDst As Long, ByVal XDst As Long, ByVal YDst As Long, ByVal Width As Long, ByVal Height As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long

【引数】

名称 | 内容
hDCDst | コピー先のデバイスコンテキスト
XDst | コピー先矩形の左上隅のx座標（ピクセル）
YDst | コピー先矩形の左上隅のy座標（ピクセル）
Width | コピー先矩形の幅（ピクセル）
Height | コピー先矩形の高さ（ピクセル）
hDCSrc | コピー元のデバイスコンテキスト
XSrc | コピー元矩形の左上隅のx座標（ピクセル）
YSrc | コピー元矩形の左上隅のy座標（ピクセル）
dwRop | ラスタオペレーションコード

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ラスタオペレーションモードはデバイスコンテキストにどのようにコピーするかを指定します。

値 | 説明
0x00000042 | コピー先の矩形を黒色で塗りつぶします。 (BLACKNESS)
0x00550009 | コピー先の矩形の色を反転します。 (DSTINVERT)
0x00C000CA | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (MERGECOPY)
0x00BB0226 | 論理OR演算子を使って、コピー元の色を反転した色と、コピー先の色を組み合わせます。 (MERGEPAINT)
0x00330008 | コピー元の色を反転して、コピー先へコピーします。 (NOTSRCCOPY)
0x001100A6 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせ、さらに反転します。 (NOTSRCERASE)
0x00F00021 | 指定したパターンをコピー先へコピーします。 (PATCOPY)
0x005A0049 | 論理XOR演算子を使って、指定したパターンの色と、コピー先の色を組み合わせます。 (PATINVERT)
0x00FB0A09 | 論理OR演算子を使って、指定したパターンの色と、コピー元の色を反転した色を組み合わせます。 さらに論理OR演算子を使って、その結果と、コピー先の色を組み合わせます。 (PATPAINT)
0x008800C6 | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCAND)
0x00CC0020 | コピー元の矩形をコピー先の矩形へそのままコピーします。 (SRCCOPY)
0x00440328 | 論理AND演算子を使って、コピー先の色を反転した色と、コピー元の色を組み合わせます。 (SRCERASE)
0x00660046 | 論理XOR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCINVERT)
0x00EE0086 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCPAINT)
0x00FF0062 | コピー先の矩形を白色で塗りつぶします。 (WHITENESS)

通常は0x00CC0020(SRCCOPY)を指定します。

※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。

（）内の説明はWindowsAPIで使用する定数と同じ意味です。


IKBitmapFromDib

【機能】

デバイス独立ビットマップ（DIB）からデバイス依存ビットマップ（DDB）に変換します。

【関数書式】

(1)C++Builder/Visual C++

HBITMAP IKBitmapFromDib(HANDLE Handle);

(2)Delphi

function IKBitmapFromDib(Handle: THandle): HBitmap;

(3)Visual Basic

Function IKBitmapFromDib(ByVal Handle As Long) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル

【戻り値】

ビットマップハンドル（実行に失敗した場合は0もしくはNULL）

【解説】

C++Builder/DelphiのTBitmapへのイメージの受け渡しなどに使用します。引数として与えたHandleは解放されずにそのまま残ります。

Delphiの例：

{ TBitmapにラスタイメージを設定 }

var

Bitmap1: TBitmap;

ImageHandle: THandle;

begin

ImageHandle := IKFileLoad('C:\Png\001.png', 0, 0, 0, 0, nil, nil, nil);

Bitmap1 := TBitmap.Create;

try

Bitmap1.Handle := IKBitmapFromDib(ImageHandle);

{ イメージ処理 }

finally

Bitmap1.Free;

IKFreeMemory(ImageHandle);

end;

end;


IKBlur

【機能】

ラスタイメージにぼかしを施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKBlur(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKBlur(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKBlur(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Level | ぼかしの強さ(1～20 数が大きいほど強い)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

Levelを大きくすればするほど、イメージはぼやけていきます。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKBmpFileLoad

【機能】

BMP形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKBmpFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKBmpFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKBmpFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは1, 4, 8, 16, 24, 32ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKBmpFileLoadMem

【機能】

BMP形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKBmpFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKBmpFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKBmpFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | BMP形式のRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは1, 4, 8, 16, 24, 32ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKBmpFileLoad関数と同じです。


IKBmpFileSave

【機能】

ラスタイメージをBMP形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKBmpFileSave(LPCTSTR FileName, HANDLE Handle, BOOL Comp, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKBmpFileSave(FileName: PChar; Handle: THandle; Comp: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKBmpFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Comp As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
Comp | 圧縮フラグ（False(0):圧縮しない、True(0以外):圧縮する） 圧縮対象は4ビットカラー、8ビットカラーのイメージのみ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 16（グレーは除く）, 24, 32ビットカラーです。

CompをTrueに設定して圧縮する場合はWindowsランレングス形式で圧縮を行いますが、その仕様ではイメージによっては圧縮しないファイルより大きくなる場合があります。当コマンドでは、約1.6倍以上の大きさになると保存を中止し、戻り値としてFalse(0)を返します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKBmpFileSave("c:\abc.bmp",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKBmpFileSave("ftp://www.newtone.co.jp/image/abc.bmp;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKBmpFileSave("http://www.newtone.co.jp/image/abc.bmp;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKBmpFileSaveMem

【機能】

ラスタイメージをBMP形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKBmpFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Comp, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKBmpFileSaveMem(InHandle: THandle; var OutHandle: THandle; Comp: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKBmpFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Comp As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
Comp | 圧縮フラグ（False(0):圧縮しない、True(0以外):圧縮する） 圧縮対象は4ビットカラー、8ビットカラーのイメージのみ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 16（グレーは除く）, 24, 32ビットカラーです。

CompをTrueに設定して圧縮する場合はWindowsランレングス形式で圧縮を行いますが、その仕様ではイメージによっては圧縮しないファイルより大きくなる場合があります。当コマンドでは、約1.6倍以上の大きさになると保存を中止し、戻り値としてFalse(0)を返します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKBmpFileSave関数と同じです。


IKCanvas

【機能】

ラスタイメージにキャンバス地効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCanvas(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Direction, BYTE Depth, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKCanvas(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Direction, Depth: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKCanvas(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Direction As Byte, ByVal Depth As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Direction | 目地の方向（0：上から右、1:上から左、2：下から左、3：下から右）
Depth | 目地の深さ（0～255）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

Depthが大きいほど彫りが深くなります。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKCheckSecretImage

【機能】

ラスタイメージから透かし情報を取り出します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCheckSecretImage(HANDLE Handle1, HANDLE Handle2, int Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKCheckSecretImage(Handle1, Handle2: THandle; Level: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKCheckSecretImage(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Level As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle1 | キーとなるラスタイメージのメモリハンドル(24ビットイメージが対象)
Handle2 | 透かしが埋め込まれたラスタイメージのメモリハンドル(24ビットイメージが対象)
Level | 透かしの取り出しレベル(-20～20)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル(1ビットイメージ)。実行に失敗した場合は0が返されます

【解説】

IKSetSecretImageで設定した透かし情報を取得します。

Levelには、IKSetSecretImageで設定したLevel付近、すなわち＋で埋め込んだ場合は埋め込み値より小さめな値を、－で埋め込んだ場合は埋め込み値より大きめな値を設定します。それ以外の値を設定した場合は、すかし情報が抽出されない場合があります。正常に処理が終了した場合の戻されるイメージは、黒の背景に白いすかし情報となります。（イメージの大きさはHandle1、Handle2と同じ）

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKChord

【機能】

描画先オブジェクトに弓形を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKChord(LPVOID DeviceValue, LPRECT PrintRect, int x1, int y1, int x2, int y2, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKChord(DeviceValue: THandle; var PrintRect: TRect; x1, y1, x2, y2: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKChord(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 境界矩形を指定する構造体変数
x1, y1 | 最初の径の端点のx, y座標
x2, y2 | 次の径の端点のx, y座標
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した矩形に含まれる楕円弧を(x1, y1), (x2, y2)の間を通る線によって2等分された領域を描画します。アウトラインはPenStyleの値で描画され、内部はBrushStyleの値で塗りつぶされます。

（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

PrintRectのメンバー変数とx1, y1, x2, y2の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数とx1, y1, x2, y2の値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Chord | DeviceValue, PrintRect, x1, y1, x2, y2, PrintInfo
IKChord | DeviceValue, PrintRect, x1, y1, x2, y2, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKChroma

【機能】

ラスタイメージの彩度を調整します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKChroma(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKChroma(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Level: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKChroma(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Level As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Level | 彩度の加減 (-100～1000)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Levelが0の場合には何も行わず、-100の場合は見かけ上グレースケールと同じになります。

－に設定すると色は相対的に淡くなり、＋に設定すると鮮やかになります。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKClearClipBrd

【機能】

クリップボードをクリアします。

【関数書式】

(1)C++Builder/Visual C++

void IKClearClipBrd(HWND hWnd);

(2)Delphi

procedure IKClearClipBrd(hWnd: HWND);

(3)Visual Basic

Sub IKClearClipBrd(ByVal hWnd As Long)

【引数】

名称 | 内容
hWnd | 呼び出す側のウィンドウハンドル

【戻り値】

ありません。


IKCMYKBmpPlaneFileLoad

【機能】

CMYKプレーン毎に保存してあるBMPファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCMYKBmpPlaneFileLoad(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName);

(2)Delphi

function IKCMYKBmpPlaneFileLoad(CFileName, MFileName, YFileName, KFileName: PChar): THandle;

(3)Visual Basic

Function IKCMYKBmpPlaneFileLoad(ByVal CFileName As String, ByVal MFileName As String, ByVal YFileName As String, ByVal KFileName As String) As Long

【引数】

名称 | 内容
CFileName | Cプレーンとして読み込むファイル名
MFileName | Mプレーンとして読み込むファイル名
YFileName | Yプレーンとして読み込むファイル名
KFileName | Kプレーンとして読み込むファイル名

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

CMYKそれぞれのプレーンを表すイメージは8ビットグレーで、出力イメージは24ビットカラーです。


IKCMYKBmpPlaneFileSave

【機能】

ラスタイメージをCMYKプレーン毎にBMP形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKCMYKBmpPlaneFileSave(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName, HANDLE Handle);

(2)Delphi

function IKCMYKBmpPlaneFileSave(CFileName, MFileName, YFileName, KFileName: PChar; Handle: THandle): LongBool;

(3)Visual Basic

Function IKCMYKBmpPlaneFileSave(ByVal CFileName As String, ByVal MFileName As String, ByVal YFileName As String, ByVal KFileName As String, ByVal Handle As Long) As Long

【引数】

名称 | 内容
CFileName | Cプレーンとして保存するファイル名
MFileName | Mプレーンとして保存するファイル名
YFileName | Yプレーンとして保存するファイル名
KFileName | Kプレーンとして保存するファイル名
Handle | ラスタイメージのメモリハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

保存対象イメージは24ビットカラーです。HandleをCMYKのそれぞれのプレーン毎にファイルに保存します。保存されるイメージは8ビットグレーとなります。


IKConvertColor

【機能】

メモリ上のラスタイメージの色数を変更します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKConvertColor(HANDLE Handle, short PixelType, BOOL FixedPal, BOOL Dither, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKConvertColor(Handle: THandle; PixelType: Smallint; FixedPal, Dither: LongBool; Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKConvertColor(ByVal Handle As Long, ByVal PixelType As Integer, ByVal FixedPal As Long, ByVal Dither As Long, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージ）
PixelType 変更後のピクセル当たりのビット数(1, 4, 8, 16, 24, 32, 40, 80)
※4は4ビットカラー、40は4ビットグレー、8は8ビットカラー、80は8ビットグレーとなります。
FixedPal 固定パレットの使用設定（1, 4, 8ビットカラーに減色および増色する際に使用）
False(0):イメージに合わせたパレットを作成し使用
True(0以外):固定パレットを使用
Dither ディザリング（誤差拡散法）の設定（1, 4, 8ビットカラーおよび4ビットグレーに減色する際に使用）
False(0):ディザリングを行わない
True(0以外):ディザリングを行う
Level しきい値の設定（1ビットイメージに減色する際に使用）
0～255
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

色数変更後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

1ビットイメージに減色した場合に、ピクセルのRGBの輝度がLevelで設定された値以上の場合はパレット1を、それ未満の場合はパレット0として処理を行います。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKCopyImage

【機能】

メモリ上のラスタイメージやベクトルイメージを別のメモリ上にコピーします。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCopyImage(HANDLE Handle);

(2)Delphi

function IKCopyImage(Handle: THandle): THandle;

(3)Visual Basic

Function IKCopyImage(ByVal Handle As Long) As Long

【引数】

名称 | 内容
Handle | コピー元のラスタイメージやベクトルイメージのメモリハンドル （ラスタイメージは1, 4, 8, 16, 24, 32, 48ビットイメージが対象）

【戻り値】

コピー先のラスタイメージやベクトルイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

IKCopyImageを実行しても、コピー元のイメージはそのまま残ります。

48ビットイメージはIk10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dllのいずれかを使用してスキャンデバイスから36, 42, 48ビットカラーで取り込んだイメージのコピーなどに使用します。

（注意）

引数のHandleにベクトルイメージを指定する場合は、Ik10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのいずれかが別途必要です。

【ImageKit6との違い】

引数UserProc, Caption, Message, Buttonが削除されました。


IKCreateImage

【機能】

新規にラスタイメージを作成します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCreateImage(long Width, long Height, short BitCount, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKCreateImage(Width, Height: Longint; BitCount: Smallint; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKCreateImage(ByVal Width As Long, ByVal Height As Long, ByVal BitCount As Integer, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Width | 作成するイメージの幅（ピクセル）
Height | 作成するイメージの高さ（ピクセル）
BitCount | 作成したいイメージのビット数(1, 4, 8, 16, 24, 32, 40, 80) ※4は4ビットカラー、40は4ビットグレー、8は8ビットカラー、80は8ビットグレーとなります。
Red | 作成するイメージカラーの赤 (0～255)
Green | 作成するイメージカラーの緑 (0～255)
Blue | 作成するイメージカラーの青 (0～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

作成したラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

ラスタイメージをメモリ上に作成します。

作成するイメージのビット数により、設定したRGB値が有効にならない場合は、その値に一番近い値を割り当てます。（24ビット以上のイメージの場合は設定した値がそのまま有効となります。）

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll」のユーザ関数の定義をご覧ください。


IKCreateVectImage, IKCreateVectImageEx

【機能】

新規にベクトルイメージを作成します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCreateVectImage(long Width, long Height, long Xdpi, long Ydpi);

HANDLE IKCreateVectImageEx(long Type, long Width, long Height, long Xdpi, long Ydpi);

(2)Delphi

function IKCreateVectImage(Width, Height, Xdpi, Ydpi: Longint): THandle;

function IKCreateVectImageEx(Type, Width, Height, Xdpi, Ydpi: Longint): THandle;

(3)Visual Basic

Function IKCreateVectImage(ByVal Width As Long, ByVal Height As Long, ByVal Xdpi As Long, ByVal Ydpi As Long) As Long

Function IKCreateVectImageEx(ByVal Type As Long, ByVal Width As Long, ByVal Height As Long, ByVal Xdpi As Long, ByVal Ydpi As Long) As Long

【引数】

名称 | 内容
Type | 作成するベクトルイメージのタイプ（0：WMF, 1:EMF, 2:DXF, 3:SVG, 4:SXF） ※IKCreateVectImageExの場合に使用
Width | 作成するイメージの幅（ピクセル）
Height | 作成するイメージの高さ（ピクセル）
Xdpi | 作成するイメージの横方向の1インチあたりのピクセル数
Ydpi | 作成するイメージの縦方向の1インチあたりのピクセル数

【戻り値】

作成したベクトルイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

ベクトルイメージをメモリ上に作成します。

IKCreateVectImageはEMFイメージの作成ですが、IKCreateVectImageExでは指定したベクトルイメージを作成できます。


IKCustomFilter

【機能】

ラスタイメージに対してユーザ独自のフィルタ処理を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCustomFilter(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, LPINT Matrix, BYTE Div, BYTE Level, BOOL Red, BOOL Green, BOOL Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKCustomFilter(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; var Matrix: Integer; Div, Level: Byte; Red, Green, Blue: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKCustomFilter(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, Matrix As Long, ByVal Div As Byte, ByVal Level As Byte, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Matrix | 9×9行列の係数（配列、項目数は81で添字は0～80） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Mt: array [0..80] of Integer 引数にMt[0]を与える (3)Visual Basic Dim Mt(0 To 80) As Long 引数にMt(0)を与える
Div | 行列に対する除数
Level | 行列に対する加減(0～255 大きいほど明るい)
Red | 赤のプレーンに対する処理(False(0):しない、True(0以外):する)
Green | 緑のプレーンに対する処理(False(0):しない、True(0以外):する)
Blue | 青のプレーンに対する処理(False(0):しない、True(0以外):する)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

グレースケールのイメージを処理する場合は、Red、Green、Blueで設定された値は無効となります。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

出力するピクセルの計算式は以下のようになります。

Piはピクセルの値、CiはMatrixの係数の値を表します。

簡単なエンボスフィルタの例を示します。

Div = 1、Level = 128

上の表の値はMatrixの配列のデータを示します。（左から右へ、上から下へいく毎に添字が増える）


IKCutRectImage

【機能】

ラスタイメージから指定した矩形領域を切り出します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKCutRectImage(HANDLE Handle, LPRECT Rect, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKCutRectImage(Handle: THandle; var Rect: TRect; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKCutRectImage(ByVal Handle As Long, Rect As IKRECT, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージが対象）
Rect | 矩形の座標を指定する構造体変数
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクイメージを必要としない矩形の切り出しに使用できます。（マスクイメージが必要な場合はIKSelectImage(Ex)関数をご使用ください。）

処理速度はIKSelectImage(Ex)と比較して高速です。

引数として与えたHandleのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll.dll」のユーザ関数の定義をご覧ください。


IKDeleteBitmapObject

【機能】

ビットマップオブジェクトを削除します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDeleteBitmapObject(HBITMAP hBm);

(2)Delphi

function IKDeleteBitmapObject(hBm: HBitmap): LongBool;

(3)Visual Basic

Function IKDeleteBitmapObject(ByVal hBm As Long) As Long

【引数】

名称 | 内容
hBm | ビットマップハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKBitmapFromDibで取得したビットマップハンドルが不要になった場合に使用します。


IKDibFromBitmap

【機能】

デバイス依存ビットマップ（DDB）からデバイス独立ビットマップ（DIB）に変換します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKDibFromBitmap(HBITMAP hBm, HPALETTE hPal);

(2)Delphi

function IKDibFromBitmap(hBm: HBitmap; hPal: HPalette): THandle;

(3)Visual Basic

Function IKDibFromBitmap(ByVal hBm As Long, ByVal hPal As Long) As Long

【引数】

名称 | 内容
hBm | ビットマップハンドル
hPal | ビットマップのパレット（パレットがない場合は0）

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0もしくはNULL）

【解説】

C++Builder/DelphiのTBitmapやVisual Basicのピクチャ ボックスからイメージを取得する場合などに使用します。引数として与えたhBmは削除されません。

Delphiの例：

{ TBitmapからラスタイメージを取得 }

var

Bitmap1: TBitmap;

ImageHandle: THandle;

begin

Bitmap1 := TBitmap.Create;

try

Bitmap1.LoadFromFile('C:\Bmp\001.bmp');

{ イメージ処理1 }

ImageHandle := IKDibFromBitmap(Bitmap1.Handle, Bitmap1.Palette);

{ イメージ処理2 }

finally

Bitmap1.Free;

end;

end;

Visual Basicの例：

' PictureBoxからラスタイメージを取得

Dim ImageHandle As Long

Set Picture1.Picture = LoadPicture("C:\Bmp\001.bmp")

' イメージ処理1

ImageHandle = IKDibFromBitmap(Picture1.Picture.Handle, Picture1.Picture.hPal)

' イメージ処理2


IKDrawFocusRect

【機能】

画面にフォーカスを示す矩形を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDrawFocusRect(HDC hDC, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE UnitMode);

(2)Delphi

function IKDrawFocusRect(hDC: HDC; var PrintRect: Trect; var DrawInfo: IKPRINT_DRAWINFO; UnitMode: Byte): LongBool;

(3)Visual Basic

Function IKDrawFocusRect(ByVal hDC As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal UnitMode As Byte) As Long

【引数】

名称 | 内容
hDC | デバイスコンテキスト
PrintRect | 境界矩形を指定する構造体変数
DrawInfo | 描画する情報を指定する構造体変数
UnitMode | PrintRectの単位（0:ピクセル単位、1:0.1mm単位）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

XOR機能を使用して矩形を描画するため、同じ矩形を引数にして2回呼び出すと画面から矩形が消去されます。描画した矩形を含む領域をスクロールするには、再度矩形を描画して画面から消去し、領域をスクロールした後にもう一度新しい位置に同じ矩形を描画します。

描画するにはDrawInfoのBrushStyle, BrushColorに値を設定する必要があります。

PrintRectのメンバー変数をピクセル単位として扱う場合

UnitModeが0

PrintRectのメンバー変数を0.1mm単位として扱う場合

UnitModeが1


IKDrawString

【機能】

GDI+の機能を利用して描画先オブジェクトにテキストを描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDrawString(LPVOID DeviceValue, LPRECT PrintRect, short BrushType, short Style, HANDLE imgHandle, short TextRenderingHint, int FormatFlags, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BYTE DeviceMode);

(2)Delphi

function IKDrawString(DeviceValue: THandle; var PrintRect: TRect; BrushType, Style: Smallint; imgHandle: THandle; TextRenderingHint: Smallint; FormatFlags: Integer; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKDrawString(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal BrushType As Integer, ByVal Style As Integer, ByVal imgHandle As Long, ByVal TextRenderingHint As Integer, ByVal FormatFlags As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 描画開始位置あるいは描画領域を指定する構造体
BrushType | ブラシの種類（0：ソリッド、1：ハッチ、2：テクスチャ、4：グラデーション）
Style | ブラシ毎のスタイル（BrushTypeが0以外の場合に有効）
imgHandle | テクスチャブラシ（BrushType=4）の時に使用するラスタイメージのメモリハンドル
TextRenderingHint | テキストのレンダリングモード（デフォルトは0）
FormatFlags | 文字列の書式情報（デフォルトは0）
TextInfo | 描画情報を指定する構造体
Text | 描画する文字列（終端はヌル）
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectのrightあるいはbottomを0に設定するとleftとtopを始点としてテキストを描画します。それ以外の場合はPrintRectで囲まれる矩形の内部にテキストが描画され、内部に収まらないテキストは切り捨てられます。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはTextInfoのTextColor1, Alpha1, TextColor2, Alpha2, FontName, FontSize, CharAngle, HCentering, VCentering, HotkeyPrefixに値を設定する必要があります。

HotkeyPrefixに1以外を設定するとプリフィックス文字の処理を行いません（&AはAにはならず、&AもしくはAと描画されます）。

TextColor1, Alpha1は「ソリッドブラシ：ブラシの色」「ハッチブラシ：描画される線の色」「グラデーションブラシ:線形グラデーションの開始色」を表します。

TextColor2, Alpha2は「ハッチブラシ：線間の領域の色」「グラデーションブラシ:線形グラデーションの終了色」を表します。

グラデーションブラシ（BrushType=4）を使用する場合は、PrinRectに矩形領域を設定してください。

当関数を実行する場合は、事前にIKPrintGdipStart関数を実行する必要があります。

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1

「ブラシ毎のスタイル（Styleに設定する値）」

ハッチブラシの場合：

値 | 説明
0 | 水平線のパターン。
1 | 垂直線のパターン。
2 | 左上から右下への対角線のパターン。
3 | 右上から左下への対角線のパターン。
4 | 交差する水平および垂直の線を指定します。
5 | 交差する右上がりと左上がりの対角線を指定します。線はアンチエイリアス処理されます。
6 | 5%のハッチを指定します。前景色の背景色に対する割合は、5: 100です。
7 | 10%のハッチを指定します。前景色の背景色に対する割合は、10: 100です。
8 | 20%のハッチを指定します。前景色の背景色に対する割合は、20: 100です。
9 | 25%のハッチを指定します。前景色の背景色に対する割合は、25: 100です。
10 | 30%のハッチを指定します。前景色の背景色に対する割合は、30: 100です。
11 | 40%のハッチを指定します。前景色の背景色に対する割合は、40: 100です。
12 | 50%のハッチを指定します。前景色の背景色に対する割合は、50: 100です。
13 | 60%のハッチを指定します。前景色の背景色に対する割合は、60: 100です。
14 | 70%のハッチを指定します。前景色の背景色に対する割合は、70: 100です。
15 | 75%のハッチを指定します。前景色の背景色に対する割合は、75: 100です。
16 | 80%のハッチを指定します。前景色の背景色に対する割合は、80: 100です。
17 | 90%のハッチを指定します。前景色の背景色に対する割合は、90: 100です。
18 | 上の点から下の点へ右に傾斜し、2よりも間隔が50%狭く、アンチエイリアス処理されない対角線。
19 | 上の点から下の点へ左に傾斜し、3よりも間隔が50%狭く、アンチエイリアス処理されない対角線。
20 | 上の点から下の点へ右に傾斜し、2よりも間隔が50%狭く、幅が2倍の対角線。このハッチパターンはアンチエイリアス処理されません。
21 | 上の点から下の点へ左に傾斜し、3よりも間隔が50%狭く、幅が2倍で、線がアンチエイリアス処理されない対角線。
22 | 上の点から下の点へ右に傾斜し、2と間隔が等しく、幅が3倍で、アンチエイリアス処理されない対角線。
23 | 上の点から下の点へ左に傾斜し、3と間隔が等しく、幅が3倍で、アンチエイリアス処理されない対角線。
24 | 間隔が1よりも50%狭い垂直線を指定します。
25 | 間隔が0よりも50%狭い水平線を指定します。
26 | 間隔が1よりも75%狭い(または24よりも25%狭い)垂直線を指定します。
27 | 間隔が0よりも75%狭い(または25よりも25%狭い)水平線を指定します。
28 | 1よりも間隔が50%狭く、幅が2倍の垂直線を指定します。
29 | 0よりも間隔が50%狭く、幅が2倍の水平線を指定します。
30 | 上の点から下の点へ右に傾斜した、破線の対角線を指定します。
31 | 上の点から下の点へ左に傾斜した、破線の対角線を指定します。
32 | 破線の水平線を指定します。
33 | 破線の垂直線を指定します。
34 | 紙吹雪のように見えるハッチを指定します。
35 | 34よりも大きいピースから構成される、紙吹雪のように見えるハッチを指定します。
36 | ジグザグに構成された水平線を指定します。
37 | ティルダで構成された水平線を指定します。
38 | 上の点から下の点へ左に傾斜した、積み重ねたレンガ状のハッチを指定します。
39 | レンガを水平に積み上げたように見えるハッチを指定します。
40 | 織物のように見えるハッチを指定します。
41 | 格子柄の生地のように見えるハッチを指定します。
42 | 芝生のように見えるハッチを指定します。
43 | それぞれがドットで構成されて交差する、水平線と垂直線を指定します。
44 | それぞれがドットで構成されて交差する、右上がりと左上がりの対角線を指定します。
45 | 上の点から下の点へ右に傾斜した、対角線状に積み重ねた板屋根のように見えるハッチを指定します。
46 | 四目格子のように見えるハッチを指定します。
47 | 交互に並べた球体のように見えるハッチを指定します。
48 | 間隔が4よりも50%狭い、交差する水平線と垂直線を指定します。
49 | チェッカーボードのように見えるハッチを指定します。
50 | 49の2倍のサイズの正方形による、チェッカーボードのように見えるハッチを指定します。
51 | 交差する右上がりと左上がりの線で、アンチエイリアス処理されない対角線を指定します。
52 | 斜めに置かれたチェッカーボードのように見えるハッチを指定します。

テクスチャブラシの場合：

値 | 説明
0 | グラデーションまたはテクスチャを並べて表示します。
1 | テクスチャまたはグラデーションを水平方向に反転し、それを並べて表示します。
2 | テクスチャまたはグラデーションを垂直方向に反転し、それを並べて表示します。
3 | テクスチャまたはグラデーションを水平および垂直方向に反転し、それを並べて表示します。
4 | テクスチャまたはグラデーションをオブジェクトの端に揃えます。

グラデーションブラシの場合：

値 | 説明
0 | 左から右へのグラデーションを指定します。
1 | 上から下へのグラデーションを指定します。
2 | 左上から右下へのグラデーションを指定します。
3 | 右上から左下へのグラデーションを指定します。

「テキストのレンダリングモード」

値 | 説明
0 | グリフビットマップを使用し、システム既定のレンダリングヒントで各文字を描画することを指定します。
1 | グリフビットマップを使用して、各文字を描画することを指定します。ヒンティングを使用して、文字のステム部分と曲線部分の見た目を向上します。
2 | グリフビットマップを使用して、各文字を描画することを指定します。ヒンティングは使用されません。
3 | アンチエイリアス処理されたグリフビットマップを使用して、ヒンティングありで各文字を描画することを指定します。アンチエイリアスによってより高い品質が得られますが、パフォーマンスは大きく低下します。
4 | アンチエイリアス処理されたグリフビットマップを使用して、ヒンティングなしに各文字を描画することを指定します。アンチエイリアスによって品質が向上します。ヒンティングがオフにされるため、ステム幅の違いが目立ちます。
5 | グリフCTビットマップを使用して、ヒンティングありで各文字を描画することを指定します。最高の品質設定です。ClearTypeテキストフォント機能を利用するときに使用します。

「文字列の書式情報」

設定値は次の値の論理和となります。

値 | 説明
0x00000001 | テキストの方向を右から左に指定します。
0x00000002 | テキストが縦書きになるよう指定します。
0x00000004 | グリフが外接する四角形にかからないよう指定します。既定では、端に表示する必要がある場合、一部のグリフが若干四角形にかかるよう設定されます。
0x00000020 | 左から右を指示するマークなどの制御文字をグリフで表現します。
0x00000400 | フォールバックを無効にして、要求されたフォントでサポートされていない文字のフォントを切り替えます。欠落文字は、グリフの欠落したフォント(通常は空白の正方形)で表示されます。
0x00000800 | 既定では、各行末の空白が除外されます。各行末の空白を計測に含める場合はこの値を設定します。
0x00001000 | 四角形内の書式指定時に、行間のテキストのラップを無効にします。この値は、四角形ではなく点が渡された場合、または長さゼロの行の四角形が指定された場合に暗黙的に指定されます。
0x00002000 | 書式指定用の四角形には、完全な直線だけがレイアウトされます。既定では、クリッピングの結果、テキストの末尾が表示された状態、または行が表示されなくなった状態のうち、いずれか早い方の状態になるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、なるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、最後の行の一部が隠れることがあります。必ず行全体が表示されるようにするには、この値を指定した上で、少なくとも1つの行と高さが同じの書式指定用の四角形をご使用ください。
0x00004000 | 論理グリフの突出部と書式指定用の四角形からはみ出すラップされていないテキストを表示できます。既定では、書式指定用の四角形からはみ出たテキストとグリフ部はすべてクリップされます。

※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。

コード例：

(1)C++Builder/Visual C++

IKPRINT_TEXTINFO TextInfo;

float Str_Width, Str_Height;

int charactersFitted, linesFilled;

RECT PrintRect;

ULONG_PTR token;//DWORD token;

token = IKPrintGdipStart();

if (token == 0) return;

memset(&TextInfo, 0, sizeof(IKPRINT_TEXTINFO));

TextInfo.FontSize = 20;

lstrcpy(TextInfo.FontName, "ＭＳ ゴシック");

TextInfo.HotkeyPrefix = 0;

IKMeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, &TextInfo, "テキスト", 0);

PrintRect.left = 10;

PrintRect.top = 10;

PrintRect.right = PrintRect.left + (long)Str_Width - 1;

PrintRect.bottom = PrintRect.top + (long)Str_Height - 1;

TextInfo.CharAngle = 0;

TextInfo.TextColor1 = RGB(255, 0, 0);

TextInfo.Alpha1 = 255;

TextInfo.TextColor2 = RGB(255, 255, 255);

TextInfo.Alpha2 = 255;

//グラデーションブラシを使用

IKDrawString(hDC, &PrintRect, 4, 0, 0, 0, 0, &TextInfo, "テキスト", 0);

IKPrintGdipEnd(token)

(2)Delphi

TextInfo: IKPRINT_TEXTINFO;

Str_Width, Str_Height: Single;

CharactersFitted, linesFilled: Integer;

PrintRect: TRect;

token: DWORD;

token := IKPrintGdipStart();

if token = 0 then Exit;

FillChar(TextInfo, SizeOf(TextInfo), 0);

TextInfo.FontSize := 20;

StrPCopy(TextInfo.FontName, 'ＭＳ ゴシック');

TextInfo.HotkeyPrefix := 0;

IKMeasureString(DC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, 'テキスト', 0);

PrintRect.Left := 10;

PrintRect.Top := 10;

PrintRect.Right := PrintRect.Left + Trunc(Str_Width) - 1;

PrintRect.Bottom := PrintRect.Top + Trunc(Str_Height) - 1;

TextInfo.CharAngle := 0;

TextInfo.TextColor1 := clRed;

TextInfo.Alpha1 := 255;

TextInfo.TextColor2 := clWhite;

TextInfo.Alpha2 := 255;

//グラデーションブラシを使用

IKDrawString(DC, PrintRect, 4, 0, 0, 0, 0, TextInfo, 'テキスト', 0);

IKPrintGdipEnd(token)

(3)Visual Basic

Dim TextInfo As IKPRINT_TEXTINFO

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim PrintRect As IKRECT

Dim token As Long

token = IKPrintGdipStart()

If token = 0 Then Exit Sub

TextInfo.FontSize = 20

TextInfo.FontName = "ＭＳ ゴシック" & Chr$(0)

TextInfo.HotkeyPrefix = 0

Call IKMeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, "テキスト", 0)

PrintRect.Left = 10

PrintRect.Top = 10

PrintRect.Right = PrintRect.Left + CLng(Str_Width) - 1

PrintRect.Bottom = PrintRect.Top + CLng(Str_Height) - 1

TextInfo.CharAngle = 0

TextInfo.TextColor1 = vbRed

TextInfo.Alpha1 = 255

TextInfo.TextColor2 = vbWhite

TextInfo.Alpha2 = 255

'グラデーションブラシを使用

Call IKDrawString(hDC, PrintRect, 4, 0, 0, 0, 0, TextInfo, "テキスト", 0)

IKPrintGdipEnd(token)


IKDrawText

【機能】

描画先オブジェクトにテキストを描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDrawText(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BOOL EnableFontScale, BOOL Clip, BYTE DeviceMode);

(2)Delphi

function IKDrawText(DeviceValue: THandle; var PrintRect: TRect; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; EnableFontScale, Clip: LongBool; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKDrawText(ByVal DeviceValue As Long, PrintRect As IKRECT, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal EnableFontScale As Long, ByVal Clip As Long, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 始点(left, top)、終点(right, bottom)を指定する構造体変数
TextInfo | 描画する情報を指定する構造体変数
Text | 描画する文字列（終端はヌル）
EnableFontScale | フォントのスケーリング [True(0以外):する、False(0):しない]
Clip | クリッピング [True(0以外):する、False(0):しない]
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した座標を矩形とし、その中にテキストを描画します。（対象はスクリーン、プリンタ、メモリハンドル）

EnableFontScaleがTrue(0以外)の場合は、文字列が矩形内に収まりきらない場合にフォントをスケーリングします。ただし、スケーリングを行っても文字列が矩形内に収まりきらない場合は、Clipによって状態が変わります。（例えば、一番小さいフォントサイズを使用しても文字列が矩形内に収まりきらない場合など。）

EnableFontScaleがFalse(0)の場合は、指定されたフォントをそのまま使用し、文字列が境界矩形に収まりきらない場合は収まる最後の単語の切れ目で折り返し、CRLFでも折り返しを行います。（複数行の描画可）

ClipがTrue(0以外)の場合は、矩形内に収まりきらない文字列をカットしますが、False(0)の場合は収まりきらない文字列も描画します。矩形内に文字列が収まる場合は、Clipは意味を持ちません。文字列の描画方向は、文字列の方向と文字の回転に関わらず、与えられた開始位置から右もしくは下方向に描画します。

描画するにはTextInfoのCharSet, TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, CharExtra, HCentering, VCentering,HotkeyPrefixに値を設定する必要があります。CharAngleは0,90,180,270のみ有効です。EnableFontScaleがFalse(0)の場合はCharAngle,Direction,VCenteringの設定は無効です。HotkeyPrefixを0に設定するとプリフィックス文字の処理を行いません（&AはAにはならず、&Aと描画されます）。

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5DrawText | DeviceValue, PrintRect, PrintInfo
IKDrawText | DeviceValue, PrintRect, TextInfo, Text, EnableFontScale, Clip, DeviceMode

PrintInfoとTextInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。

IK5PRINT_DATA --> IKPRINT_TEXTINFO

CharExtra, CharSet, RotateString, Alpha1, Alpha2, HotkeyPrefixが新たに追加され、Textが構造体から削除されました。

TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。

PrintInfo.Textを引数のText、IK5SetDeviceModeで設定した値を引数のDeviceMode、TextInfoのCharSetを-1、CharExtraを0、HotkeyPrefixを1に設定し、TextForeColor, TextBackColorをTextColor1, TextColor2にそれぞれ変更するとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_TEXTINFO構造体にAlpha1, Alpha2, HotkeyPrefixが追加され、TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。HotkeyPrefixを1に設定し、TextForeColor, TextBackColorをTextColor1, TextColor2にそれぞれ変更するとIK6と同じ動作となります。


IKDrawVectObject

【機能】

ベクトルイメージをデバイスコンテキストに描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDrawVectObject(HDC hDC, HANDLE hMbh, int DstOrgX, int DstOrgY, int SrcOrgX, int SrcOrgY, double XScale, double YScale, BOOL Black);

(2)Delphi

function IKDrawVectObject(hDC: HDC; hMbh: THandle; DstOrgX, DstOrgY, SrcOrgX, SrcOrgY: Integer; XScale, YScale: Double; Black: LonBool): LongBool;

(3)Visual Basic

Function IKDrawVectObject(ByVal hDC As HDC, ByVal hMbh As Long, ByVal DstOrgX As Long, ByVal DstOrgY Long, ByVal SrcOrgX As Long, ByVal SrcOrgY As Long, ByVal XScale As Double, ByVal YScale As Double, ByVal Black As Long) As Long

【引数】

名称 | 内容
hDC | 描画先のデバイスコンテキスト
hMbh | ベクトルイメージのメモリハンドル
DstOrgX | デバイスコンテキストに対する描画開始X座標
DstOrgY | デバイスコンテキストに対する描画開始Y座標
SrcOrgX | 描画対象となるベクトルイメージの開始X座標
SrcOrgY | 描画対象となるベクトルイメージの開始Y座標
XScale | X方向のスケール（実寸は1.0）
YScale | Y方向のスケール（実寸は1.0）
Black | hMbhがDXFを表す場合、白を黒に置き換えて描画 [ True(0以外)：する False(0)：しない ]

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

DstOrgX, DstOrgY, SrcOrgX, SrcOrgYはピクセル単位で与えます。

hMbhを全て描画する場合はSrcOrgX, SrcOrgYに0を設定してください。

hMbhがDXFを表す場合、Blackが有効になります。

当関数を実行する場合は、事前にIKVectorGdipStart関数を実行する必要があります。


IKDxfFileLoad

【機能】

DXF形式のファイルからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKDxfFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKDxfFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKDxfFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合は幅800 高さ600に設定します。

エンティティタイプは、LINE・POINT・CIRCLE・TEXT・3DFACE・POLYLINE・ARC・SOLID・INSERTに対応しています。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKDxfFileLoadMem

【機能】

DXF形式のRawデータからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKDxfFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKDxfFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKDxfFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | DXF形式のRawデータ
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合は幅800 高さ600に設定します。

エンティティタイプは、LINE・POINT・CIRCLE・TEXT・3DFACE・POLYLINE・ARC・SOLID・INSERTに対応しています。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKDxfFileLoad関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKDxfFileSave

【機能】

ベクトルイメージのメモリハンドルをDXF形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDxfFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKDxfFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKDxfFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ベクトルイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

エンティティタイプは、LINE・POINT・ELLIPSE・TEXT・POLYLINE・ARCに対応しています。

保存する際の色については、赤・黄色・緑・水色・青・紫・白の7色のいずれかに置き換えられます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKDxfFileSave("c:\abc.dxf",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKDxfFileSave("ftp://www.newtone.co.jp/image/abc.dxf;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKDxfFileSave("http://www.newtone.co.jp/image/abc.dxf;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKDxfFileSaveMem

【機能】

ベクトルイメージのメモリハンドルをDXF形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKDxfFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKDxfFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKDxfFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ベクトルイメージのメモリハンドル
OutHandle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

エンティティタイプは、LINE・POINT・ELLIPSE・TEXT・POLYLINE・ARCに対応しています。

保存する際の色については、赤・黄色・緑・水色・青・紫・白の7色のいずれかに置き換えられます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKDxfFileSave関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKEllipse

【機能】

描画先オブジェクトに楕円を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKEllipse(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKEllipse(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKEllipse(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 矩形を指定する構造体変数
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した矩形に内接する円を描画します。アウトラインはPenStyleの値で描画され、内部はBrushStyleの値で塗りつぶされます。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Ellipse | DeviceValue, PrintRect, PrintInfo
IKEllipse | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKEmboss

【機能】

ラスタイメージにエンボス（浮き彫り）処理を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKEmboss(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE MskPattern, BYTE Edge, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKEmboss(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; MskPattern, Edge, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKEmboss(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal MskPattern As Byte, ByVal Edge As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
MskPattern | フィルタマスクのパターン(0～7)
Edge | エッジの強調(1～5 大きいほど強い)
Level | 背景の輝度(0～255 大きいほど明るい)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

MskPatternによって浮き彫り方向が変わります。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKEmfFileLoad

【機能】

EMF形式のファイルからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKEmfFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKEmfFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKEmfFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合はEMFファイルに格納されているサイズで読み込みます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKEmfFileLoadMem

【機能】

EMF形式のRawデータからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKEmfFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKEmfFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKEmfFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | EMF形式のRawデータ
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合はEMF形式のRawデータに格納されているサイズで読み込みます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKEmfFileLoad関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKEmfFileSave

【機能】

ベクトルイメージのメモリハンドルをEMF形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKEmfFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKEmfFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKEmfFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ベクトルイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKEmfFileSave("c:\abc.emf",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKEmfFileSave("ftp://www.newtone.co.jp/image/abc.emf;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKEmfFileSave("http://www.newtone.co.jp/image/abc.emf;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKEmfFileSaveMem

【機能】

ベクトルイメージのメモリハンドルをEMF形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKEmfFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKEmfFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKEmfFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ベクトルイメージのメモリハンドル
OutHandle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKEmfFileSave関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKEndDibAccess

【機能】

DIBへのアクセス処理を終了します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKEndDibAccess(HANDLE hDib, PTR_IKDIB_INFO stpDibInfo);

(2)Delphi

function IKEndDibAccess(hDib: THandle; var stpDibInfo: IKDIB_INFO): LongBool;

(3)Visual Basic

Function IKEndDibAccess(ByVal hDib As Long, stpDibInfo As IKDIB_INFO) As Long

【引数】

名称 | 内容
hDib | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージ）
stpDibInfo | IKStartDibAccess関数で取得した構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKStartDibAccessと対で使用します。

hDibとstpDibInfoはIKStartDibAccessで使用した引数と同じでなければなりません。

IKDIB_INFOについては、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のIKDIB_INFOのメンバー変数の説明をご覧ください。

処理の流れとしては

IKStartDibAccess

|

IKGetDibPixel, IKSetDibPixel

|

IKEndDibAccess

となります。

コード例についてはIKStartDibAccessを参照してください。


IKEnumPaperBins

【機能】

指定されたプリンタ名からサポートされている用紙トレイの名前、トレイの番号を取得します。

【関数書式】

(1)C++Builder/Visual C++

int IKEnumPaperBins(LPCTSTR PrinterName, LPTSTR BinNames, LPWORD BinNumbers);

(2)Delphi

function IKEnumPaperBins(PrinterName, BinNames: PChar; var BinNumbers: Word): Integer;

(3)Visual Basic

Function IKEnumPaperBins(ByVal PrinterName As String, ByVal BinNames As String, BinNumbers As Integer) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
BinNames | 用紙トレイの名前を取得する文字列 NULL(C++Builder/Visual C++), nil(Delphi), vbNullString(Visual Basic)を設定した場合は、戻り値として配列に必要な要素数を返します。
BinNumbers | 用紙トレイの番号を取得する配列 (1)C++Builder/Visual C++配列の先頭のポインタを渡す (2)DelphiBnum: array [0..2] of Wordの場合は、Bnum[0]を与える (3)Visual BasicDim Bnum(0 To 2) As Integerの場合は、Bnum(0)を与える

【戻り値】

取得した項目数、あるいは配列に必要な要素数を返します。（0は失敗）

【解説】

BinNamesにNULL(C++Builder/Visual C++), nil(Delphi), vbNullString(Visual Basic)を設定した場合の戻り値はそのままBinNumbersの配列の要素数になりますが、BinNamesはその要素数×（24＋1）＋1の領域を割り当てなければなりません。配列に必要な要素数はIKPrintGetArrayNum関数でも取得可能です。

BinNames文字列は"xxxxx,xxxxx,xxxxx,････････,"となり、名称はカンマで区切られて設定されます（終了は","です）。

コード例：

(1)C++Builder/Visual C++

int Size;

TCHAR *BinNames;

LPWORD BinNumbers;

Size = IKEnumPaperBins("EPSON LP-8200C", NULL, NULL);

if (Size < 1) return;

BinNames = (TCHAR *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Size * (sizeof(TCHAR) * (24 + 1)) + sizeof(TCHAR));

BinNumbers = (LPWORD)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WORD) * Size);

__try {

IKEnumPaperBins("EPSON LP-8200C", BinNames, BinNumbers);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, BinNames);

HeapFree(GetProcessHeap(), 0, BinNumbers);

}

(2)Delphi

Size: Integer;

BinNames: PChar;

BinNumbers: array of Word;

Size := IKEnumPaperBins('EPSON LP-8200C', nil, PWord(nil)^);

if Size < 1 then Exit;

GetMem(BinNames, Size * (SizeOf(Char) * (24 + 1)) + SizeOf(Char));

SetLength(BinNumbers, Size);

try

IKEnumPaperBins('EPSON LP-8200C', BinNames, BinNumbers[0]);

// 様々な処理

・・・・・・・

finally

FreeMem(BinNames);

end;

(3)Visual Basic

Dim Size As Long

Dim BinNames As String * 1024

Dim BinNumbers() As Integer

Size = IKPrintGetArrayNum("EPSON LP-8200C", 1)

If Size < 1 Then Exit Sub

ReDim BinNumbers(Size)

Call IKEnumPaperBins("EPSON LP-8200C", BinNames, BinNumbers(0))

' 様々な処理


IKEnumPaperSizes

【機能】

指定されたプリンタ名からサポートされている用紙の名前、サイズ番号、寸法を取得します。

【関数書式】

(1)C++Builder/Visual C++

int IKEnumPaperSizes(LPCTSTR PrinterName, LPTSTR PaperNames, LPWORD PaperNumbers, LPPOINT PaperSizes);

(2)Delphi

function IKEnumPaperSizes(PrinterName, PaperNames: PChar; var PaperNumbers: Word; var PaperSizes: TPoint): Integer;

(3)Visual Basic

Function IKEnumPaperSizes(ByVal PrinterName As String, ByVal PaperNames As String, PaperNumbers As Integer PaperSizes As IKPOINT) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
PaperNames | 用紙の名前を取得する文字列 NULL(C++Builder/Visual C++), nil(Delphi), vbNullString(Visual Basic)を設定した場合は、戻り値として配列に必要な要素数を返します。
PaperNumbers | 用紙のサイズ番号を取得する配列 (1)C++Builder/Visual C++配列の先頭のポインタを渡す (2)DelphiPnum: array [0..2] of Wordの場合は、Pnum[0]を与える (3)Visual BasicDim Pnum(0 To 2) As Integerの場合は、Pnum(0)を与える
PaperSizes | 用紙の寸法を取得する配列 (1)C++Builder/Visual C++配列の先頭のポインタを渡す (2)DelphiPs: array [0..2] of TPointの場合は、Ps[0]を与える (3)Visual BasicDim Ps(0 To 2) As IKPOINTの場合は、Ps(0)を与える

【戻り値】

取得した項目数、あるいは配列に必要な要素数を返します。（0は失敗）

【解説】

PaperNamesにNULL(C++Builder/Visual C++), nil(Delphi), vbNullString(Visual Basic)を設定した場合の戻り値はそのままPaperNumbersとPaperSizesの配列の要素数になりますが、PaperNamesはその要素数×（64＋1）＋1の領域を割り当てなければなりません。配列に必要な要素数はIKPrintGetArrayNum関数でも取得可能です。

PaperNames文字列は"xxxxx,xxxxx,xxxxx,････････,"となり、名称はカンマで区切られて設定されます（終了は","です）。

PaperSizesは各用紙サイズの寸法を0.1mm単位で取得します。印刷の向きを縦方向としてxに用紙の幅、yに用紙の長さを格納します。

コード例：

(1)C++Builder/Visual C++

int Size;

TCHAR *PaperNames;

LPWORD PaperNumbers;

LPPOINT PaperSizes;

Size = IKEnumPaperSizes("EPSON LP-8200C", NULL, NULL, NULL);

if (Size < 1) return;

PaperNames = (TCHAR *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Size * (sizeof(TCHAR) * (64 + 1)) + sizeof(TCHAR));

PaperNumbers = (LPWORD)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WORD) * Size);

PaperSizes = (LPPOINT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POINT) * Size);

__try {

IKEnumPaperSizes("EPSON LP-8200C", PaperNames, PaperNumbers, PaperSizes);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, PaperNames);

HeapFree(GetProcessHeap(), 0, PaperNumbers);

HeapFree(GetProcessHeap(), 0, PaperSizes);

}

(2)Delphi

Size: Integer;

PaperNames: PChar;

PaperNumbers: array of Word;

PaperSizes: array of TPoint;

Size := IKEnumPaperSizes('EPSON LP-8200C', nil, PWord(nil)^, PPoint(nil)^);

if Size < 1 then Exit;

GetMem(PaperNames, Size * (SizeOf(Char) * (64 + 1)) + SizeOf(Char));

SetLength(PaperNumbers, Size);

SetLength(PaperSizes, Size);

try

IKEnumPaperSizes('EPSON LP-8200C', PaperNames, PaperNumbers[0], PaperSizes[0]);

// 様々な処理

・・・・・・・

finally

FreeMem(PaperNames);

end;

(3)Visual Basic

Dim Size As Long

Dim PaperNames As String * 2048

Dim PaperNumbers() As Integer

Dim PaperSizes() As IKPOINT

Size = IKPrintGetArrayNum("EPSON LP-8200C", 0)

If Size < 1 Then Exit Sub

ReDim PaperNumbers(Size)

ReDim PaperSizes(Size)

Call IKEnumPaperSizes("EPSON LP-8200C", PaperNames, PaperNumbers(0), PaperSizes(0))

' 様々な処理


IKEnumPorts

【機能】

ポートを列挙します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKEnumPorts(LPTSTR Ports);

(2)Delphi

function IKEnumPorts(Ports: PChar): DWORD;

(3)Visual Basic

Function IKEnumPorts(ByVal Ports As String) As Long

【引数】

名称 | 内容
Ports | ポート名を取得する文字列

【戻り値】

PortsにNULL(C++Builder/Visual C++), nil(Delphi), vbNullString(Visual Basic)を設定した場合は、ポート名を取得する際に必要な文字列のサイズを返します（終端のヌルは除く）。Ansi版はバイト数でUnicode版は文字数となります。

Portsに文字列を設定した場合は、取得したポートの数を返します。

【解説】

※ポート名を取得する場合はサイズを指定して確保してください。

(1)C++Builder/Visual C++

TCHAR Ports[1024];

(2)Delphi

Ports: array[0..1023] of Char;

(3)Visual Basic

Dim Ports As String * 1024

Ports文字列は"xxxxx,xxxxx,xxxxx,････････,"となり、名称はカンマで区切られて設定されます（終了は","です）。


IKEnumPrinters

【機能】

インストールされているプリンタを列挙します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKEnumPrinters(LPTSTR Printers, short *DefaultPrinterNo);

(2)Delphi

function IKEnumPrinters(Printers: PChar; var DefaultPrinterNo: Smallint): DWORD;

(3)Visual Basic

Function IKEnumPrinters(ByVal Printers As String, DefaultPrinterNo As Integer) As Long

【引数】

名称 | 内容
Printers | プリンタ名を取得する文字列
DefaultPrinterNo | 通常使うプリンタ（デフォルトプリンタ）の番号（0～）

【戻り値】

PrintersにNULL(C++Builder/Visual C++), nil(Delphi), vbNullString(Visual Basic)を設定した場合は、プリンタ名を取得する際に必要な文字列のサイズを返します（終端のヌルは除く）。Ansi版はバイト数でUnicode版は文字数となります。

Printersに文字列を設定した場合は、取得したプリンタの数を返します。

【解説】

※プリンタ名を取得する場合はサイズを指定して確保してください。

(1)C++Builder/Visual C++

TCHAR Printers[1024];

(2)Delphi

Printers: array[0..1023] of Char;

(3)Visual Basic

Dim Printers As String * 1024

Printers文字列は"xxxxx,xxxxx,xxxxx,････････,"となり、名称はカンマで区切られて設定されます（終了は","です）。

DefaultPrinterNoはPrinters文字列に設定されたプリンタの中で、通常使うプリンタの番号が何番かを示します。最初のプリンタを示す場合は0となります。


IKEnumResolutions

【機能】

指定されたプリンタ名からサポートされている解像度のリストを取得します。

【関数書式】

(1)C++Builder/Visual C++

int IKEnumResolutions(LPCTSTR PrinterName, LPPOINT Resolutions);

(2)Delphi

function IKEnumResolutions(PrinterName: PChar; var Resolutions: TPoint): Integer;

(3)Visual Basic

Function IKEnumResolutions(ByVal PrinterName As String, Resolutions As IKPOINT) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
Resolutions | 解像度のリストを取得する配列 NULL(C++Builder/Visual C++), nil(Delphi)を設定した場合は、戻り値として配列に必要な要素数を返します。 (1)C++Builder/Visual C++配列の先頭のポインタを渡す (2)DelphiRes: array [0..2] of Wordの場合は、Res[0]を与える (3)Visual BasicDim Res(0 To 2) As Integerの場合は、Res(0)を与える

【戻り値】

取得した項目数、あるいは配列に必要な要素数を返します。（0は失敗）

【解説】

ResolutionsにNULL(C++Builder/Visual C++), nil(Delphi)を設定した場合の戻り値はそのまま配列の要素数になります。配列に必要な要素数はIKPrintGetArrayNum関数でも取得可能です。

Resolutionsには1インチ当たりのドット数（dpi）単位で水平解像度と垂直解像度を示す値が格納されます。xが水平解像度、yが垂直解像度になります。

コード例：

(1)C++Builder/Visual C++

int Size;

LPPOINT Resolutions;

Size = IKEnumResolutions("EPSON LP-8200C", NULL);

if (Size < 1) return;

Resolutions = (LPPOINT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POINT) * Size);

__try {

IKEnumResolutions("EPSON LP-8200C", Resolutions);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, Resolutions);

}

(2)Delphi

Size: Integer;

Resolutions: array of TPoint;

Size := IKEnumResolutions('EPSON LP-8200C', PPoint(nil)^);

if Size < 1 then Exit;

SetLength(Resolutions, Size);

IKEnumResolutions('EPSON LP-8200C', Resolutions[0]);

// 様々な処理

・・・・・・・

(3)Visual Basic

Dim Size As Long

Dim Resolutions() As IKPOINT

Size = IKPrintGetArrayNum("EPSON LP-8200C", 2)

If Size < 1 Then Exit Sub

ReDim Resolutions(Size)

Call IKEnumResolutions("EPSON LP-8200C", Resolutions(0))

' 様々な処理


IKFileLoad

【機能】

イメージファイルからイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKFileLoad(LPCTSTR FileName, int Page, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFileLoad(FileName: PChar; Page: Integer; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Page | 読み込むファイルのページ番号（0～）
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージまたはベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

BMP, DXF, EMF, FPX, GIF, JPEG, JPEG200, PCX, PNG, SXF, SVG, TIFF, WMFなどの各ファイル形式を自動的に判断してメモリ上に読み込みます。ただし、TIFFのJPEG形式については読み込みに失敗するファイルも存在しますのでご了承ください。複数のイメージが存在する場合やFPXのように解像度単位でイメージを持つ場合は、Pageで指定されたイメージを読み込みます。1イメージしかないファイルはPageに指定した値は無効となります。

ラスタイメージを読む込む場合には、WidthとHeightは無効ですが（何の値でも可）、ベクトルイメージを読み込む場合にはWidthとHeightの値が有効になります。WidthもしくはHeightが0以下の場合、DXF, SXF, WMFの場合は幅800高さ600に、EMFとSVGの場合はファイルに格納されているサイズとなります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ベクトルイメージを読む込む場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（ベクトルイメージ読み込み時の注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに配置されているファイルを直接読み込むことができます。

(1)ローカルドライブやネットワークドライブのファイルを読み込む場合

IKFileLoad("c:\abc.jpg",・・・・・)

(2)FTPサーバーに配置されているファイルを読み込む場合

IKFileLoad("ftp://www.newtone.co.jp/image/abc.jpg;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーに配置されているファイルを読み込む場合

IKFileLoad("http://www.newtone.co.jp/image/abc.jpg;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit5との違い】

関数名 | 引数の並び
IK5FileLoad | FileName, Page, FileUserProc, Caption, Message, Button
IKFileLoad | FileName, Page, Width, Height, UserProc, Caption, Message, Button

WidthとHeightが引数に追加されていますが、ラスタイメージをメモリ上に読む込む場合は、WidthとHeightは無視されますので、何の値を与えてもIK5と同様に動作します。

※FileUserProcとUserProcは同じユーザ関数を表します。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに配置されているファイルを直接読み込みできるようになりました。


IKFileLoadAsRawData

【機能】

イメージファイルからそのままの状態でメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKFileLoadAsRawData(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFileLoadAsRawData(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKFileLoadAsRawData(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

Rawデータのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

読み込んだデータはファイルに保存されているデータと同じ構造です。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ベクトルイメージを読む込む場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKFileLoadMem

【機能】

Rawデータからイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKFileLoadMem(HANDLE Handle, int Page, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFileLoadMem(Handle: THandle; Page: Integer; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | 読み込むRawデータ
Page | 読み込むファイルのページ番号（0～）
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージまたはベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

BMP, DXF, EMF, FPX, GIF, JPEG, JPEG200, PCX, PNG, SXF, SVG, TIFF, WMFなどの各イメージ形式を自動的に判断してメモリ上に読み込みます。ただし、TIFFのJPEG形式については読み込みに失敗する場合がありますのでご了承ください。複数のイメージが存在する場合やFPXのように解像度単位でイメージを持つ場合は、Pageで指定されたイメージを読み込みます。1イメージしかないRawデータはPageに指定した値は無効となります。

ラスタイメージを読む込む場合には、WidthとHeightは無効ですが（何の値でも可）、ベクトルイメージを読み込む場合にはWidthとHeightの値が有効になります。WidthもしくはHeightが0以下の場合、DXF, SXF, WMFの場合は幅800高さ600に、EMFとSVGの場合はRawデータに格納されているサイズとなります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKFileLoad関数と同じです。

ベクトルイメージを読む込む場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（ベクトルイメージ読み込み時の注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKFileSaveAsRawData

【機能】

Rawデータをファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFileSaveAsRawData(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFileSaveAsRawData(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKFileSaveAsRawData(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ベクトルイメージを保存する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKFileType

【機能】

ファイルからイメージの各種情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFileType(LPCTSTR FileName, int Page, PTR_IKFILE_INFO FileType);

(2)Delphi

function IKFileType(FileName: PChar; Page: Integer; var FileType: IKFILE_INFO): LongBool;

(3)Visual Basic

Function IKFileType(ByVal FileName As String, ByVal Page As Long, FileType As IKFILE_INFO) As Long

【引数】

名称 | 内容
FileName | 情報を取得するファイル名
Page | ファイルのページ番号（0～）
FileType | 取得するファイル情報の構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、FileTypeにファイル情報が設定されます。

対応しているファイル形式であっても、ファイルに該当する情報が保存されていない場合はFileTypeのメンバー変数に0もしくは空文字列が設定されます。

IKFILE_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のIKFILE_INFOのメンバー変数の説明をご覧ください。

【ImageKit6との違い】

IKFILE_INFO構造体にメンバー変数が追加されました。


IKFileTypeMem

【機能】

Rawデータからイメージの各種情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFileTypeMem(HANDLE Handle, int Page, PTR_IKFILE_INFO FileType);

(2)Delphi

function IKFileTypeMem(Handle: THandle; Page: Integer; var FileType: IKFILE_INFO): LongBool;

(3)Visual Basic

Function IKFileTypeMem(ByVal Handle As Long, ByVal Page As Long, FileType As IKFILE_INFO) As Long

【引数】

名称 | 内容
Handle | 情報を取得するRawデータ
Page | ファイルのページ番号（0～）
FileType | 取得するファイル情報の構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、FileTypeにファイル情報が設定されます。

対応しているファイル形式であっても、Rawデータに該当する情報が保存されていない場合はFileTypeのメンバー変数に0もしくは空文字列が設定されます。ファイルの作成日時・アクセス日時・更新日時を示すメンバー変数には0が設定されます。

IKFILE_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のIKFILE_INFOのメンバー変数の説明をご覧ください。

ファイルあるいはRawデータから情報を取得する違いはありますが、動作としてはIKFileType関数と同じです。


IKFillRect

【機能】

描画先オブジェクトに対して指定した矩形を塗りつぶします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFillRect(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKFillRect(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKFillRect(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 矩形を指定する構造体変数
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した矩形をBrushStyleの値で塗りつぶします。ただし、矩形の左と上の端は領域に含まれますが、右と下の端は含まれません。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのBrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でハッチパターンブラシの場合に有効です。Transparentが0以外でハッチパターンブラシを選択した場合、線と線の間は透過されません（既定の色で塗りつぶされます）。線と線の間を透過する場合はIKRectangleなどをご使用ください。

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5FillRect | DeviceValue, PrintRect, PrintInfo
IKFillRect | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKFpxFileLoad

【機能】

FPX形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKFpxFileLoad(LPCTSTR FileName, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFpxFileLoad(FileName: PChar; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKFpxFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Page | 読み込むファイルのページ（解像度）番号（0～） 0がオリジナルイメージで、1以降が一つ前のイメージの縦横の解像度をそれぞれ半分にしたものになります。最後のページは64x64以下のイメージとなります。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Pageで指定されたイメージをメモリ上に読み込みます。対応イメージは8ビットグレースケールと24ビットカラーです。イメージファイルのページ数はIKFileType関数で取得できます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

＜FlashPixについて＞

FlashPixの最大の特徴は、マルチ・レゾリューション(複数解像度）で、さらにタイル構造を持つファイル・フォーマットであり、基画像から最小画像までの、画素数の異なる複数画面を一つのファイルの中に持つことができ、編集・印刷など異なった用途に最適な解像度で対応することができます。それぞれの解像度の画面は、64x64のブロック(タイル)に分割されています。タイル内は、非圧縮・JPEG 圧縮・単色圧縮のいずれかが可能です。


IKFpxFileLoadMem

【機能】

FPX形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKFpxFileLoadMem(HANDLE Handle, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFpxFileLoadMem(Handle: THandle; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKFpxFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | FPX形式のRawデータ
Page | 読み込むファイルのページ（解像度）番号（0～） 0がオリジナルイメージで、1以降が一つ前のイメージの縦横の解像度をそれぞれ半分にしたものになります。最後のページは64x64以下のイメージとなります。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Pageで指定されたイメージをメモリ上に読み込みます。対応イメージは8ビットグレースケールと24ビットカラーです。イメージファイルのページ数はIKFileType関数で取得できます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKFpxFileLoad関数と同じです。

（注意）

内部で一時的にテンポラリファイルを作成します。


IKFpxFileSave

【機能】

ラスタイメージをFPX形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFpxFileSave(LPCTSTR FileName, HANDLE Handle, int Comp, int Quality, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFpxFileSave(FileName: PChar; Handle: THandle; Comp, Quality: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKFpxFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Comp As Long, ByVal Quality As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
Comp | 圧縮フラグ（0:非圧縮 1:Single Color 2:JPEG） Single Colorは全て同じRGBのピクセルで構成されているイメージが対象となります。 JPEGはJPEG形式で圧縮します。
Quality | JPEG圧縮品質係数（0～100/推奨75） ※Compが2の時有効となります。
Comment | 保存するコメント文字列（MAX:1023バイト） 次のように設定してください。「Title + 0x0d + Subject + ・・・ + 0x0d」 Title:タイトル Subject:サブタイトル Author:作成者 Comment:コメント ※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは8ビットグレースケールと24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKFpxFileSave("c:\abc.fpx",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKFpxFileSave("ftp://www.newtone.co.jp/image/abc.fpx;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKFpxFileSave("http://www.newtone.co.jp/image/abc.fpx;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKFpxFileSaveMem

【機能】

ラスタイメージをFPX形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFpxFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, int Comp, int Quality, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFpxFileSaveMem(InHandle: THandle; var OutHandle: THandle; Comp, Quality: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKFpxFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Comp As Long, ByVal Quality As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
Comp | 圧縮フラグ（0:非圧縮 1:Single Color 2:JPEG） Single Colorは全て同じRGBのピクセルで構成されているイメージが対象となります。 JPEGはJPEG形式で圧縮します。
Quality | JPEG圧縮品質係数（0～100/推奨75） ※Compが2の時有効となります。
Comment | 保存するコメント文字列（MAX:1023バイト） 次のように設定してください。「Title + 0x0d + Subject + ・・・ + 0x0d」 Title:タイトル Subject:サブタイトル Author:作成者 Comment:コメント ※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは8ビットグレースケールと24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKFpxFileSave関数と同じです。

（注意）

内部で一時的にテンポラリファイルを作成します。


IKFrameRect

【機能】

描画先オブジェクトに対して指定した矩形の境界を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFrameRect(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKFrameRect(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKFrameRect(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 矩形を指定する構造体変数
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した矩形の境界をBrushStyleの値で描画します。境界の内部は塗りつぶされません。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのBrushStyle,BrushColor,Transparent,BackColorに値を設定する必要があります。BackColorはTransparent = 0でハッチパターンブラシの場合に有効です。Transparentが0以外でハッチパターンブラシを選択した場合、線と線の間は透過されません（既定の色で塗りつぶされます）。線と線の間を透過する場合はIKRectangleなどをご使用ください。

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1


IKFreeMemory

【機能】

イメージデータが占有するメモリを解放します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFreeMemory(HANDLE Handle);

(2)Delphi

function IKFreeMemory(Handle: THandle): LongBool;

(3)Visual Basic

Function IKFreeMemory(ByVal Handle As Long) As Long

【引数】

名称 | 内容
Handle | 解放するイメージデータのメモリハンドル（ラスタイメージとベクトルイメージおよびRawデータが対象）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

使用可能なメモリサイズには限りがありますので、適宜不要になったイメージのメモリを解放してください。

また、メモリの2重解放を防ぐため、関数実行後引数のHandleに0を設定するようにしてください。

Visual Basicの例：

IKFreeMemory(Handle)

Handle = 0

（注意）

引数のHandleにベクトルイメージを指定する場合は、Ik10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのいずれかが別途必要です。


IKFTPConnect

【機能】

FTPサーバに接続します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPConnect(LPCTSTR ServerName, LPCTSTR UserName, LPCTSTR Password, HINTERNET *hOpen, HINTERNET *hConnect);

(2)Delphi

function IKFTPConnect(ServerName, UserName, Password: LPCTSTR; hOpen: PHINTERNET; hConnect: PHINTERNET): LongBool;

(3)Visual Basic

Function IKFTPConnect(ByVal ServerName As String, ByVal UserName As String, ByVal Password As String, ByRef hOpen As Long, ByRef hConnect As Long) As Long

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス (*1)
UserName | ユーザ名
Password | パスワード
hOpen | ＦTPサーバへのオープンハンドル
hConnect | FTPサーバへのセッションハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。

当関数でFTPサーバへ接続し、IKFTPDeleteFileEx,IKFTPGetFileEx,IKFTPPutFileEx,IKFTPRenameFileEx関数を使用します。

(*1)

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合は、引数のServerNameに「FTPサーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無を省略するとパッシブモード接続となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;;22"

C.パッシブモードではなくアクティブモードで接続する例:

ServerName = "www.newtone.co.jp;;;FALSE"

D.プロキシサーバを設定し、ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"

E.プロキシサーバを設定し、ポート番号を22に変更し、アクティブモードで接続する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPDeleteFile

【機能】

FTPサーバに存在するファイルを削除します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPDeleteFile(LPCTSTR ServerName, LPCTSTR DeleteFile, LPCTSTR UserName, LPCTSTR Password);

(2)Delphi

function IKFTPDeleteFile(ServerName, DeleteFile, UserName, Password: PChar): LongBool;

(3)Visual Basic

Function IKFTPDeleteFile(ByVal ServerName As String, ByVal DeleteFile As String, ByVal UserName As String, ByVal Password As String) As Long

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス (*1)
DeleteFile | 削除するファイル名
UserName | ユーザ名
Password | パスワード

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。当関数ではFTPサーバへの接続と切断を行います。

(*1)

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合は、引数のServerNameに「FTPサーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無を省略するとパッシブモード接続となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;;22"

C.パッシブモードではなくアクティブモードで接続する例:

ServerName = "www.newtone.co.jp;;;FALSE"

D.プロキシサーバを設定し、ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"

E.プロキシサーバを設定し、ポート番号を22に変更し、アクティブモードで接続する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPDeleteFileEx

【機能】

FTPサーバに存在するファイルを削除します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPDeleteFileEx(HINTERNET hConnect, LPCTSTR DeleteFile);

(2)Delphi

function IKFTPDeleteFileEx(hConnect: HINTERNET; DeleteFile: LPCTSTR): LongBool;

(3)Visual Basic

Function IKFTPDeleteFileEx(ByVal hConnect As Long, ByVal DeleteFile As String) As Long

【引数】

名称 | 内容
hConnect | IKFTPConnect関数で取得したセッションハンドル
DeleteFile | 削除するファイル名

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKFTPConnect関数でFTPサーバに接続してから使用します。

コード例：

(1)C++Builder/Visual C++

HINTERNET hOpen, hConnect;

if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) == FALSE) return;

IKFTPDeleteFileEx(hConnect, "images/001.jpg");

IKFTPDisconnect(hOpen, hConnect);

(2)Delphi

hOpen, hConnect: HINTERNET;

if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) = False) then Exit;

IKFTPDeleteFileEx(hConnect, 'images/001.jpg');

IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic

Dim hOpen As Long

Dim hConnect As Long

If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub

Call IKFTPDeleteFileEx(hConnect, "images/001.jpg")

Call IKFTPDisconnect(hOpen, hConnect)


IKFTPDisconnect

【機能】

接続しているFTPサーバを切断します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPDisconnect(HINTERNET hOpen, HINTERNET hConnect);

(2)Delphi

function IKFTPDisconnect(hOpen, hConnect: HINTERNET): LongBool;

(3)Visual Basic

Function IKFTPDisconnect(ByVal hOpen As Long, ByVal hConnect As Long) As Long

【引数】

名称 | 内容
hOpen | IKFTPConnect関数で取得したオープンハンドル
hConnect | IKFTPConnect関数で取得したセッションハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKFTPConnect関数で接続したFTPサーバを切断します。


IKFTPGetFile

【機能】

FTPサーバからファイルを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPGetFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFTPGetFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKFTPGetFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス (*1)
RemoteFile | FTPサーバから取得するファイル名
LocalFile | ローカルに保存するファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。当関数ではFTPサーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

(*1)

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合は、引数のServerNameに「FTPサーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無を省略するとパッシブモード接続となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;;22"

C.パッシブモードではなくアクティブモードで接続する例:

ServerName = "www.newtone.co.jp;;;FALSE"

D.プロキシサーバを設定し、ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"

E.プロキシサーバを設定し、ポート番号を22に変更し、アクティブモードで接続する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPGetFileEx

【機能】

FTPサーバからファイルを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPGetFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);

(2)Delphi

function IKFTPGetFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: Longint): LongBool;

(3)Visual Basic

Function IKFTPGetFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

【引数】

名称 | 内容
hConnect | IKFTPConnect関数で取得したセッションハンドル
RemoteFile | FTPサーバから取得するファイル名
LocalFile | ローカルに保存するファイル名
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKFTPConnect関数でFTPサーバに接続してから使用します。

TransPercentには転送単位を％で与えます。

コード例：

(1)C++Builder/Visual C++

HINTERNET hOpen, hConnect;

if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) == FALSE) return;

IKFTPGetFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);

IKFTPDisconnect(hOpen, hConnect);

(2)Delphi

hOpen, hConnect: HINTERNET;

if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) = False) then Exit;

IKFTPGetFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);

IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic

Dim hOpen As Long

Dim hConnect As Long

If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub

Call IKFTPGetFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)

Call IKFTPDisconnect(hOpen, hConnect)


IKFTPPutFile

【機能】

FTPサーバへファイルを転送します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPPutFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKFTPPutFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKFTPPutFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス (*1)
RemoteFile | 転送先（FTPサーバ）ファイル名
LocalFile | 転送元（ローカル）ファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。当関数ではFTPサーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

(*1)

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合は、引数のServerNameに「FTPサーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無を省略するとパッシブモード接続となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;;22"

C.パッシブモードではなくアクティブモードで接続する例:

ServerName = "www.newtone.co.jp;;;FALSE"

D.プロキシサーバを設定し、ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"

E.プロキシサーバを設定し、ポート番号を22に変更し、アクティブモードで接続する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPPutFileEx

【機能】

FTPサーバへファイルを転送します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPPutFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);

(2)Delphi

function IKFTPPutFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: Longint): LongBool;

(3)Visual Basic

Function IKFTPPutFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

【引数】

名称 | 内容
hConnect | IKFTPConnect関数で取得したセッションハンドル
RemoteFile | 転送先（FTPサーバ）ファイル名
LocalFile | 転送元（ローカル）ファイル名
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKFTPConnect関数でFTPサーバに接続してから使用します。

TransPercentには転送単位を％で与えます。

コード例：

(1)C++Builder/Visual C++

HINTERNET hOpen, hConnect;

if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) == FALSE) return;

IKFTPPutFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);

IKFTPDisconnect(hOpen, hConnect);

(2)Delphi

hOpen, hConnect: HINTERNET;

if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) = False) then Exit;

IKFTPPutFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);

IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic

Dim hOpen As Long

Dim hConnect As Long

If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub

Call IKFTPPutFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)

Call IKFTPDisconnect(hOpen, hConnect)


IKFTPRenameFile

【機能】

FTPサーバに存在するファイルの名称を変更します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPRenameFile(LPCTSTR ServerName, LPCTSTR OldFile, LPCTSTR NewFile, LPCTSTR UserName, LPCTSTR Password);

(2)Delphi

function IKFTPRenameFile(ServerName, OldFile, NewFile, UserName, Password: PChar): LongBool;

(3)Visual Basic

Function IKFTPRenameFile(ByVal ServerName As String, ByVal OldFile As String, ByVal NewFile As String, ByVal UserName As String, ByVal Password As String) As Long

【引数】

名称 | 内容
ServerName | FTPサーバの名称もしくはIPアドレス (*1)
OldFile | 変更前のファイル名
NewFile | 変更後のファイル名
UserName | ユーザ名
Password | パスワード

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。当関数ではFTPサーバへの接続と切断を行います。

(*1)

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合は、引数のServerNameに「FTPサーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無を省略するとパッシブモード接続となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;;22"

C.パッシブモードではなくアクティブモードで接続する例:

ServerName = "www.newtone.co.jp;;;FALSE"

D.プロキシサーバを設定し、ポート番号を22に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"

E.プロキシサーバを設定し、ポート番号を22に変更し、アクティブモードで接続する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPRenameFileEx

【機能】

FTPサーバに存在するファイルの名称を変更します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKFTPRenameFileEx(HINTERNET hConnect, LPCTSTR OldFile, LPCTSTR NewFile);

(2)Delphi

function IKFTPRenameFileEx(hConnect: HINTERNET; OldFile, NewFile: LPCTSTR): LongBool;

(3)Visual Basic

Function IKFTPRenameFileEx(ByVal hConnect As Long, ByVal OldFile As String, ByVal NewFile As String) As Long

【引数】

名称 | 内容
hConnect | IKFTPConnect関数で取得したセッションハンドル
OldFile | 変更前のファイル名
NewFile | 変更後のファイル名

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKFTPConnect関数でFTPサーバに接続してから使用します。

コード例：

(1)C++Builder/Visual C++

HINTERNET hOpen, hConnect;

if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) == FALSE) return;

IKFTPRenameFileEx(hConnect, "images/001.jpg", "002.jpg");

IKFTPDisconnect(hOpen, hConnect);

(2)Delphi

hOpen, hConnect: HINTERNET;

if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) = False) then Exit;

IKFTPRenameFileEx(hConnect, 'images/001.jpg', '002.jpg');

IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic

Dim hOpen As Long

Dim hConnect As Long

If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub

Call IKFTPRenameFileEx(hConnect, "images/001.jpg", '002.jpg')

Call IKFTPDisconnect(hOpen, hConnect)


IKGetDefaultPrinter

【機能】

通常使うプリンタ（デフォルトプリンタ）を取得します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKGetDefaultPrinter(LPCTSTR PrinterName);

(2)Delphi

function IKGetDefaultPrinter(PrinterName: PChar): DWORD;

(3)Visual Basic

Function IKGetDefaultPrinter(ByVal PrinterName As String) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名を取得する変数

【戻り値】

PrinterNameに設定された文字列の長さを返します（終端のヌルは除く、実行に失敗した場合は0）。

【解説】

Windowsのプリンタフォルダに登録されている通常使うプリンタを取得します。

IKEnumPrinters関数でも通常使うプリンタを取得できます。


IKGetDevModeHandle

【機能】

指定したプリンタのDEVMODE構造体へのポインタのハンドルを取得します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGetDevModeHandle(LPCTSTR PrinterName, LPCTSTR PrintFileName);

(2)Delphi

function IKGetDevModeHandle(PrinterName, PrintFileName: PChar): THandle;

(3)Visual Basic

Function IKGetDevModeHandle(ByVal PrinterName As String, ByVal PrintFileName As String) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
PrintFileName | プリンタ設定ファイル名（IKSaveDevModeHandle(Ex)もしくはIKSetPrintで保存したファイル名）

【戻り値】

DEVMODE構造体のハンドル（実行に失敗した場合はヌル(0)が返されます。）

【解説】

PrinterNameにはプリンタ名を、PrintFileNameにはIKSaveDevModeHandle(Ex)やIKSetPrintで保存したプリンタ設定ファイルを設定してください。両方設定した場合はPrinterNameが有効になります。どちらか片方を設定する場合は必要ない引数に空文字列を設定してください。（"",'',NULL,nil,vbNullString）

取得したDEVMODE構造体のハンドルは、IKPrintCreateDC(Ex)などで使用します。DEVMODE構造体のハンドルを解放する場合は、IKReleaseDevModeHandle(Ex)を実行します。DEVMODE構造体についてはWindowsAPI関連の書籍などをご覧ください。


IKGetDevModeHandleEx

【機能】

指定したプリンタのDEVMODE構造体とDEVNAMES構造体へのポインタのハンドルを取得します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGetDevModeHandleEx(LPCTSTR PrinterName, LPCTSTR PrintFileName, LPHANDLE hDevNames);

(2)Delphi

function IKGetDevModeHandleEx(PrinterName, PrintFileName: PChar; hDevNames: PHandle): THandle;

(3)Visual Basic

Function IKGetDevModeHandleEx(ByVal PrinterName As String, ByVal PrintFileName As String, hDevNames As Long) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
PrintFileName | プリンタ設定ファイル名（IKSaveDevModeHandle(Ex)もしくはIKSetPrintで保存したファイル名）
hDevNames | 取得するDEVNAMES構造体のハンドル

【戻り値】

DEVMODE構造体のハンドル（実行に失敗した場合はヌル(0)が返されます。）

【解説】

PrinterNameにはプリンタ名を、PrintFileNameにはIKSaveDevModeHandle(Ex)もしくはIKSetPrintで保存したプリンタ設定ファイル名を設定してください。両方設定した場合はPrinterNameが有効になります。どちらか片方を設定する場合は必要ない引数に空文字列を設定してください。（"",'',NULL,nil,vbNullString）

取得したDEVMODE構造体とDEVNAMES構造体のハンドルは、IKPrintCreateDCExやIKPrintDialogで使用します。DEVMODE構造体とDEVNAMES構造体のハンドルを解放する場合は、IKReleaseDevModeHandleExを実行します。DEVMODE構造体とDEVNAMES構造体についてはWindowsAPI関連の書籍などをご覧ください。


IKGetDevModeInfo

【機能】

DEVMODE構造体のハンドルから印刷情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetDevModeInfo(HANDLE hDevMode, PTR_IKPRINT_DEVMODEINFO DevModeInfo);

(2)Delphi

function IKGetDevModeInfo(hDevMode: THandle; var DevModeInfo: IKPRINT_DEVMODEINFO): LongBool;

(3)Visual Basic

Function IKGetDevModeInfo(ByVal hDevMode As Long, DevModeInfo As IKPRINT_DEVMODEINFO) As Long

【引数】

名称 | 内容
hDevMode | IKGetDevModeHandle(Ex)で取得したDEVMODE構造体のハンドル
DevModeInfo | 印刷情報を取得する構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、DevModeInfoに印刷情報が設定されます。

DEVMODE構造体についてはWindowsAPI関連の書籍などをご覧ください。

IKPRINT_DEVMODEINFOについては、「Ik10Print.dll/Ik10PrintA.dll/Ik10Print64.dll/Ik10Print64A.dll」の構造体の定義をご覧ください。


IKGetDevNamesInfo

【機能】

DEVNAMES構造体のハンドルから文字列情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetDevNamesInfo(HANDLE hDevNames, LPTSTR DriverName, LPTSTR DeviceName, LPTSTR OutputName);

(2)Delphi

function IKGetDevNamesInfo(hDevNames: THandle; DriverName, DeviceName, OutputName： PChar): LongBool;

(3)Visual Basic

Function IKGetDevNamesInfo(ByVal hDevNames As Long, ByVal DriverName As String, ByVal DeviceName As String, ByVal OutputName As String) As Long

【引数】

名称 | 内容
hDevNames | IKGetDevModeHandleExで取得したDEVNAMES構造体のハンドル
DriverName | デバイスドライバ名を取得する変数
DeviceName | プリンタ名を取得する変数
OutputName | 出力ポート名を取得する変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、プリンタ名などの文字列情報がDeviceNameなどに設定されます。

DEVNAMES構造体についてはWindowsAPI関連の書籍などをご覧ください。


IKGetDibPixel

【機能】

DIBから指定したピクセルのRGBやパレット番号を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetDibPixel(PTR_IKDIB_INFO stpDibInfo, long lx, long ly);

(2)Delphi

function IKGetDibPixel(var stpDibInfo: IKDIB_INFO: lx, ly: Longint): LongBool;

(3)Visual Basic

Function IKGetDibPixel(stpDibInfo As IKDIB_INFO, ByVal lx As Long, ByVal ly As Long) As Long

【引数】

名称 | 内容
stpDibInfo | IKStartDibAccess関数で取得した構造体（ユーザ定義型）変数
lx, ly | 取得するピクセルのX, Y座標

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、1, 4, 8ビットイメージの場合はstpDibInfoのPalに、16, 24, 32ビットイメージの場合はstpDibInfoのRed, Green, Blueに有効な値が設定されます。

IKDIB_INFOについては、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のIKDIB_INFOのメンバー変数の説明をご覧ください。

処理の流れとしては

IKStartDibAccess

|

IKGetDibPixel, IKSetDibPixel

|

IKEndDibAccess

となります。

コード例についてはIKStartDibAccessを参照してください。


IKGetDpi, IKGetDpiF

【機能】

イメージデータの解像度を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetDpi(HANDLE Handle, long *Xdpi, long *Ydpi);

BOOL IKGetDpiF(HANDLE Handle, float *Xdpi, float *Ydpi);

(2)Delphi

function IKGetDpi(Handle: THandle; var Xdpi, Ydpi: Longint): LongBool;

function IKGetDpiF(Handle: THandle; var Xdpi, Ydpi: Single): LongBool;

(3)Visual Basic

Function IKGetDpi(ByVal Handle As Long, Xdpi As Long, Ydpi As Long) As Long

Function IKGetDpiF(ByVal Handle As Long, Xdpi As Single, Ydpi As Single) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
Xdpi | 取得するX（横）方向の1インチあたりのピクセル数
Ydpi | 取得するY（縦）方向の1インチあたりのピクセル数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、XdpiとYdpiに解像度が設定されます。


IKGetDpiFromHdc

【機能】

デバイスコンテキストの解像度を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetDpiFromHdc(HDC hDC, long *Xdpi, long *Ydpi);

(2)Delphi

function IKGetDpiFromHdc(hDC: HDC; var Xdpi, Ydpi: Longint): LongBool;

(3)Visual Basic

Function IKGetDpiFromHdc(ByVal hDC As Long, Xdpi As Long, Ydpi As Long) As Long

【引数】

名称 | 内容
hDC | デバイスコンテキスト
Xdpi | 取得するX（横）方向の1インチあたりのピクセル数
Ydpi | 取得するY（縦）方向の1インチあたりのピクセル数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

スクリーンやプリンタなどのデバイスコンテキストの解像度を取得します。

成功した場合、XdpiとYdpiに解像度が設定されます。


IKGetErrorStatus

【機能】

エラー番号を取得します。

【関数書式】

(1)C++Builder/Visual C++

int IKGetErrorStatus(void);

(2)Delphi

function IKGetErrorStatus: Integer;

(3)Visual Basic

Function IKGetErrorStatus() As Long

【引数】

ありません。

【戻り値】

名称 | 内容
0 | 正常終了（エラーなし）
1 | キャンセル
2 | その他のエラー
3 | メモリエラー
4 | サポート外機能
5 | 設定値が不正
6 | ファイルが不正
7 | イメージが不正
8 | Twain_32.dllまたはTWAINDSM.dllがロードできない
9 | 描画エラー
10 | 対象外イメージ
11 | 実行順序エラー
12 | ADFに用紙がセットされていない（UI非表示のみ）
13 | デジタルカメラに画像がない（UI非表示のみ）
14 | DLLがロードされていない
15 | 通信エラー
16 | ファイルが見つからない
17 | ファイルが壊れている
18 | タイムオーバーで処理をキャンセル
19 | パスワード、ユーザ名が異なる（アクセスができない）
20 | ファイルがオープンできない
21 | ファイルが作成できない
22 | ファイルが書き込みできない
23 | ファイルが読み込みできない
24 | 表示イメージデータがない
25 | PDFに設定したパスワードのエラー
101 | Twain_32.dllまたはTWAINDSM.dllにエントリポイントがない
102 | アプリケーションハンドルもしくはソースハンドルが不正
103 | データソースがない
104 | データソースは既に最大数のアプリケーションに接続されている
105 | データソースまたはデータソースマネージャでエラーが発生
106 | 認識できないトリプレット（TWAIN - DG_XXX/DAT_XXX/MSG_XXX）
107 | スキャンデバイスの稼動状態を確認
108 | フィーダーに用紙が詰まった
109 | フィーダーに複数の用紙が取り込まれた
110 | 解像度が不正
111 | カバーが開いている
112 | 原稿の角が傷んでいる
113 | 原稿をキャプチャー中のフォーカスエラー
114 | 原稿がとても明るい
115 | 原稿がとても暗い
116 | イメージ情報が取得できないため転送不可

【解説】

ImageKit10のDLLコマンド内で起きた直前のエラー番号を返します。

戻り値が13の場合は、デジタルカメラのTWAINドライバがTWAIN規約のバージョン1.7以降に対応している場合が対象で、108・109はTWAINドライバがTWAIN規約のバージョン1.8以降に対応している場合が対象となります。

戻り値が110の場合はエプソン製スキャナ用ドライバご利用時にモアレ除去機能を使用した場合が対象です。

戻り値が111～115はTWAINドライバがTWAIN規約のバージョン2.0以降に対応している場合が対象で、116はTWAINドライバがTWAIN規約のバージョン2.1以降に対応している場合が対象となります。


IKGetFromClipBrd

【機能】

クリップボードからラスタイメージやベクトルイメージを取り込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGetFromClipBrd(HWND hWnd, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKGetFromClipBrd(hWnd: HWND; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKGetFromClipBrd(ByVal hWnd As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
hWnd | 呼び出す側のウィンドウハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージやベクトルイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

取得するイメージがベクトルの場合、EMF形式として扱います。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll」のユーザ関数の定義をご覧ください。


IKGetImageFromHdc

【機能】

スクリーンのデバイスコンテキストに描画されたイメージを取得します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGetImageFromHdc(HDC hDC, long Width, long Height, short BitCount);

(2)Delphi

function IKGetImageFromHdc(hDC: HDC; Width, Height: Longint; BitCount: Smallint): THandle;

(3)Visual Basic

Function IKGetImageFromHdc(ByVal hDC As Long, ByVal Width As Long, ByVal Height As Long, ByVal BitCount As Integer) As Long

【引数】

名称 | 内容
hDC | スクリーンのデバイスコンテキスト
Width | 取得するイメージの幅（ピクセル）
Height | 取得するイメージの高さ（ピクセル）
BitCount | 作成したいイメージのビット数

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合はヌル(0)が返されます。）

【解説】

スクリーンのデバイスコンテキストに描画されたイメージを取得し、ラスタイメージのメモリハンドルとして返します。実際のイメージの幅と高さが取得できないコンポーネントからのイメージの取得は、上手くいかない場合があります。


IKGetImageType

【機能】

イメージ情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetImageType(HANDLE Handle, PTR_IKIMAGE_INFO ImageInfo);

(2)Delphi

function IKGetImageType(Handle: THandle; var ImageInfo: IKIMAGE_INFO): LongBool;

(3)Visual Basic

Function IKGetImageType(ByVal Handle As Long, ImageInfo As IKIMAGE_INFO) As Long

【引数】

名称 | 内容
Handle | イメージデータのメモリハンドル（ラスタイメージとベクトルイメージが対象）
ImageInfo | 取得するイメージ情報の構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、ImageInfoにイメージ情報が設定されます。

IKIMAGE_INFOについては、「Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll」のIKIMAGE_INFOのメンバー変数の説明をご覧ください。

※ImageInfoの構造はIK5とIK6以降では異なります（IK6以降は同じ）。


IKGetMemorySize

【機能】

イメージデータが使用しているメモリサイズを取得します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKGetMemorySize(HANDLE Handle);

(2)Delphi

function IKGetMemorySize(Handle: THandle): DWORD;

(3)Visual Basic

Function IKGetMemorySize(ByVal Handle As Long) As Long

【引数】

名称 | 内容
Handle | イメージデータのメモリハンドル（ラスタイメージとベクトルイメージおよびRawデータが対象）

【戻り値】

使用しているメモリサイズが返されます（バイト単位）。実行に失敗した場合は0が返されます。


IKGetOneBitPalCount

【機能】

1ビットカラーイメージのパレット0とパレット1のピクセル数を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetOneBitPalCount(HANDLE Handle, long *Pal0, long *Pal1);

(2)Delphi

function IKGetOneBitPalCount(Handle: THandle; var Pal0, Pal1: Longint): LongBool;

(3)Visual Basic

Function IKGetOneBitPalCount (ByVal Handle As Long, Pal0As Long, Pal1As Long) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
Pal0 | 取得する1ビットカラーイメージのパレット0のピクセル数
Pal1 | 取得する1ビットカラーイメージのパレット1のピクセル数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

Handleの示すイメージは1ビットカラーイメージが対象です。

成功した場合、Pal0, Pal1にピクセル数が設定されます。

パレットの色については、IKGetPaletteを参照してください。


IKGetPalette

【機能】

ラスタイメージのパレット情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetPalette(HANDLE Handle, short *Red, short *Green, short *Blue);

(2)Delphi

function IKGetPalette(Handle: THandle; var Red, Green, Blue: Smallint): LongBool;

(3)Visual Basic

Function IKGetPalette(ByVal Handle As Long, Red As Integer, Green As Integer, Blue As Integer) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
Red | 取得する赤のパレット情報の配列
Green | 取得する緑のパレット情報の配列
Blue | 取得する青のパレット情報の配列 (1)C++Builder/Visual C++ 配列の先頭のポインタを渡す (2)Delphi 引数にRed[0]のように与える (3)Visual Basic 引数にRed(0)のように与える

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

パレット情報を取得するRGBのそれぞれの配列の数はIKIMAGE_INFOのPalCountになります。

PalCountはIKGetImageTypeで取得できます。

IKIMAGE_INFOについては、「Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll」のIKIMAGE_INFOのメンバー変数の説明をご覧ください。


IKGetPaperSize

【機能】

プリンタのデバイスコンテキストから印刷有効領域と用紙サイズを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetPaperSize(HDC hDC, LPRECT PrintRect, LPLONG Width, LPLONG Height, BYTE UnitMode);

(2)Delphi

function IKGetPaperSize(hDC: HDC; var PrintRect: TRect; var Width, Height: Longint; UnitMode: Byte): LongBool;

(3)Visual Basic

Function IKGetPaperSize(ByVal hDC As Long, PrintRect As IKRECT, Width As Long, Height As Long, ByVal UnitMode As Byte) As Long

【引数】

名称 | 内容
hDC | プリンタのデバイスコンテキスト
PrintRect | 印刷有効領域を取得する構造体変数
Width | 用紙の幅を取得する変数
Height | 用紙の高さを取得する変数
UnitMode | 取得する単位（0:ピクセル単位、1:0.1mm単位）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

プリンタのデバイスコンテキストから印刷有効領域と用紙サイズを取得します。

PrintRectのメンバー変数とWidth, Heightをピクセル単位として返す場合

UnitModeが0

PrintRectのメンバー変数とWidth, Heightを0.1mm単位として返す場合

UnitModeが1

コード例（Visual Basic）

Dim Ret As Long

Dim Rect1 As IKRECT

Dim Rect2 As IKRECT

Dim Width As Long

Dim Height As Long

'用紙サイズおよび印字有効領域を取得

Ret = IKGetPaperSize(hDC, Rect1, Width, Height, 1)

'有効領域いっぱいに印字

Rect2.Left = 0

Rect2.Top = 0

Rect2.Right = Rect1.Right - Rect1.Left

Rect2.Bottom = Rect1.Bottom - Rect1.Top

Ret = IKImageOut(hDC, ImgHandle, Rect2, False, True, 1)

【ImageKit5との違い】

関数名 | 引数の並び
IK5GetPaperSize | hDC, PrintRect, Width, Height
IKGetPaperSize | PrintRect, Width, Height, UnitMode

IK5SetDeviceModeで設定した値を引数のUnitModeに渡すとIK5と同じ動作となります。


IKGetPixel

【機能】

指定したピクセルからRGB値を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetPixel(LPVOID DeviceValue, int x, int y, LPBYTE Red, LPBYTE Green, LPBYTE Blue, BYTE DeviceMode);

(2)Delphi

function IKGetPixel(DeviceValue: THandle; x, y: Integer; var Red, Green, Blue: Byte; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKGetPixel(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, Red As Byte, Green As Byte, Blue As Byte, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | ピクセルの座標
Red | RGBの赤のパレット
Green | RGBの緑のパレット
Blue | RGBの青のパレット
DeviceMode | 描画対象（0:スクリーン、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

x, yで指定したピクセルからRGB値を取得します。（対象はスクリーン、メモリハンドル）

DeviceModeが0もしくは2の場合に有効になります。x, yの値はピクセル単位で設定してください。

Visual BasicのPictureBoxで使用する場合は、AutoRedrawプロパティをTrueに設定してください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5GetPixel | DeviceValue, x, y, Red, Green, Blue
IKGetPixel | DeviceValue, x, y, Red, Green, Blue, DeviceMode

IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。


IKGetPrinterPort

【機能】

プリンタのポートを取得します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKGetPrinterPort(LPCTSTR PrinterName, LPTSTR Port);

(2)Delphi

function IKGetPrinterPort(PrinterName, Port: PChar): DWORD;

(3)Visual Basic

Function IKGetPrinterPort(ByVal PrinterName As String, ByVal Port As String) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
Port | ポートを取得する変数

【戻り値】

Portに設定された文字列の長さを返します（終端のヌルは除く、実行に失敗した場合は0）。

【解説】

プリンタが複数のポートに接続されている場合、各ポート名はカンマで区切られます。

例："LPT1:,LPT2:"


IKGetSystemPalette

【機能】

現在のPCのシステムパレットを取得します。

【関数書式】

(1)C++Builder/Visual C++

int IKGetSystemPalette(void);

(2)Delphi

function IKGetSystemPalette: Integer;

(3)Visual Basic

Function IKGetSystemPalette() As Long

【引数】

ありません。

【戻り値】

内容
現在のコンピュータのシステムパレットを返します。
2：2色（1ビットカラー）
16：16色（4ビットカラー）
256：256色（8ビットカラー）
0：16ビットカラー、24ビットカラー、32ビットカラー


IKGetTextExtent

【機能】

テキストの情報から文字列の幅と高さを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGetTextExtent(HDC hDC, LPLONG Width, LPLONG Height, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BYTE UnitMode);

(2)Delphi

function IKGetTextExtent(hDC: HDC; var Width, Height: Longint; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; UnitMode: Byte): LongBool;

(3)Visual Basic

Function IKGetTextExtent(ByVal hDC As Long, Width As Long, Height As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal UnitMode As Byte) As Long

【引数】

名称 | 内容
hDC | デバイスコンテキスト
Width | 文字列の幅を取得する変数
Height | 文字列の高さを取得する変数
TextInfo | 描画情報を指定する構造体変数
Text | 計測する文字列（終端はヌル）
UnitMode | 計測時の単位（0:ピクセル単位、1:0.1mm単位）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

テキストの情報から文字列の幅と高さを取得します。（単一行のみ対応）

取得するにはTextInfoのCharSet, FontName, FontSize, Direction, CharAngle, RotateStringに値を設定する必要があります。CharExtraに1以上の値を設定すると文字間を考慮した値になります。

RotateStringが0の場合は文字列の方向と文字の回転に関わらず、文字列を描画する横方向が幅で縦方向が高さとなります。RotateStringが0以外の場合は文字列を描画する方向が幅となり、垂直方向が高さとなります。RotateStringが0の場合、CharAngleは0, 90, 180, 270以外は無効です。

Width, Heightをピクセル単位として返す場合

UnitModeが0

Width, Heightを0.1mm単位として返す場合

UnitModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5GetTextExtent(A) | hDC, Width, Height, PrintInfo
IKGetTextExtent | hDC, Width, Height, TextInfo, Text, UnitMode

PrintInfoとTextInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。

IK5PRINT_DATA --> IKPRINT_TEXTINFO

CharExtra, CharSet, RotateString, Alpha1, Alpha2, HotkeyPrefixが新たに追加され、Textが構造体から削除されました。

TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。

IK5PRINT_DATA_A --> IKPRINT_TEXTINFO

CharSet, RotateString, Alpha1, Alpha2, HotkeyPrefixが新たに追加され、Textが構造体から削除されました。

TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。

PrintInfo.Textを引数のTextに、IK5SetDeviceModeで設定した値を引数のUnitModeに、TextInfoのCharSetを-1に、RotateStringを0に設定するとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_TEXTINFO構造体にAlpha1, Alpha2, HotkeyPrefixが追加され、TextForeColor, TextBackColorの名称が変更されましたが、IKGetTextExtentでは使用するメンバー変数が同じなため動作に変わりはありません。


IKGifFileLoad

【機能】

GIF形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGifFileLoad(LPCTSTR FileName, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKGifFileLoad(FileName: PChar; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKGifFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Page | 読み込むファイルのページ番号（0～）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

複数のイメージが存在する場合は、Pageで指定されたイメージを読み込みます。1イメージしかないファイルはPageに指定した値は無効となります。対応イメージは1, 4, 8ビットカラーです。

イメージファイルのページ数はIKFileType関数で取得できます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKGifFileLoadMem

【機能】

GIF形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGifFileLoadMem(HANDLE Handle, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKGifFileLoadMem(Handle: THandle; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKGifFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | GIF形式のRawデータ
Page | 読み込むファイルのページ番号（0～）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

複数のイメージが存在する場合は、Pageで指定されたイメージを読み込みます。1イメージしかないRawデータはPageに指定した値は無効となります。対応イメージは1, 4, 8ビットカラーです。

イメージファイルのページ数はIKFileTypeMem関数で取得できます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKGifFileLoad関数と同じです。


IKGifFileSave

【機能】

ラスタイメージをGIF形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGifFileSave(LPCTSTR FileName, HANDLE Handle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Anime, int Delay, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKGifFileSave(FileName: PChar; Handle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Anime: LongBool; Delay: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKGifFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Anime As Long, ByVal Delay As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
Interlace | インタレース（False(0)：設定なし、True(0以外)：設定あり）
Trans | 透過（False(0)：設定なし、True(0以外)：設定あり）
Red | 透過パレットの赤 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Green | 透過パレットの緑 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Blue | 透過パレットの青 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Anime False(0)：シングルイメージ、True(0以外)：アニメーション（マルチイメージ）
True(0以外)を設定するとファイルの最後のページに該当するイメージを付加します。
Delay 画像を表示した後、次の画像を表示するまでの時間(1/100秒単位)
※AnimeがTrue(0以外)の場合に有効です。
Comment | 保存するコメント文字列（MAX:1023バイト）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1,4,8ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKGifFileSave("c:\abc.gif",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKGifFileSave("ftp://www.newtone.co.jp/image/abc.gif;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKGifFileSave("http://www.newtone.co.jp/image/abc.gif;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKGifFileSaveMem

【機能】

ラスタイメージをGIF形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKGifFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Anime, int Delay, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKGifFileSaveMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Anime: LongBool; Delay: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKGifFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Anime As Long, ByVal Delay As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
Interlace | インタレース（False(0)：設定なし、True(0以外)：設定あり）
Trans | 透過（False(0)：設定なし、True(0以外)：設定あり）
Red | 透過パレットの赤 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Green | 透過パレットの緑 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Blue | 透過パレットの青 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Anime False(0)：シングルイメージ、True(0以外)：アニメーション（マルチイメージ）
True(0以外)を設定するとファイルの最後のページに該当するイメージを付加します。
Delay 画像を表示した後、次の画像を表示するまでの時間(1/100秒単位)
※AnimeがTrue(0以外)の場合に有効です。
Comment | 保存するコメント文字列（MAX:1023バイト）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1,4,8ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKGifFileSave関数と同じです。


IKGlassTile

【機能】

ラスタイメージにガラスタイル効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKGlassTile(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int xSize, int ySize, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKGlassTile(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; xSize, ySize: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKGlassTile(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal xSize As Long, ByVal ySize As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
xSize | ガラスタイルの横サイズ（10～100）
ySize | ガラスタイルの縦サイズ（10～100）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKHTTPConnect

【機能】

HTTP(S)サーバに接続します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKHTTPConnect(LPCTSTR ServerName, LPCTSTR UserName, LPCTSTR Password, HINTERNET *hOpen, HINTERNET *hConnect);

(2)Delphi

function IKHTTPConnect(ServerName, UserName, Password: LPCTSTR; hOpen: PHINTERNET; hConnect: PHINTERNET): LongBool;

(3)Visual Basic

Function IKHTTPConnect(ByVal ServerName As String, ByVal UserName As String, ByVal Password As String, ByRef hOpen As Long, ByRef hConnect As Long) As Long

【引数】

名称 | 内容
ServerName | HTTP(S)サーバの名称もしくはIPアドレス (*1)
UserName | ユーザ名
Password | パスワード
hOpen | HTTP(S)サーバへのオープンハンドル
hConnect | HTTP(S)サーバへのセッションハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。

当関数でHTTP(S)サーバへ接続し、IKHTTPGetFileEx, IKHTTPPutFileEx関数を使用します。

(*1)

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合は引数のServerNameに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を81に変更する例:

ServerName = "www.newtone.co.jp;;81"

C.プロキシサーバを設定し、ポート番号を81に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;81"

D.HTTPSを利用する例:

ServerName = "www.newtone.co.jp;;;HTTPS"

E.HTTPSを利用し、ポート番号を444に変更する例:

ServerName = "www.newtone.co.jp;;444;HTTPS"


IKHTTPDisconnect

【機能】

接続しているHTTP(S)サーバを切断します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKHTTPDisconnect(HINTERNET hOpen, HINTERNET hConnect);

(2)Delphi

function IKHTTPDisconnect(hOpen, hConnect: HINTERNET): LongBool;

(3)Visual Basic

Function IKHTTPDisconnect(ByVal hOpen As Long, ByVal hConnect As Long) As Long

【引数】

名称 | 内容
hOpen | IKHTTPConnect関数で取得したオープンハンドル
hConnect | IKHTTPConnect関数で取得したセッションハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKHTTPConnect関数で接続したHTTP(S)サーバを切断します。


IKHTTPGetFile

【機能】

HTTPまたはHTTPSサーバからファイルを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKHTTPGetFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKHTTPGetFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKHTTPGetFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
ServerName | HTTP(S)サーバの名称もしくはIPアドレス (*1)
RemoteFile | HTTP(S)サーバから取得するファイル名
LocalFile | ローカルに保存するファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。当関数ではHTTP(S)サーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

(*1)

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合は引数のServerNameに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を81に変更する例:

ServerName = "www.newtone.co.jp;;81"

C.プロキシサーバを設定し、ポート番号を81に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;81"

D.HTTPSを利用する例:

ServerName = "www.newtone.co.jp;;;HTTPS"

E.HTTPSを利用し、ポート番号を444に変更する例:

ServerName = "www.newtone.co.jp;;444;HTTPS"


IKHTTPGetFileEx

【機能】

HTTP(S)サーバからファイルを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKHTTPGetFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);

(2)Delphi

function IKHTTPGetFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: Longint): LongBool;

(3)Visual Basic

Function IKHTTPGetFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

【引数】

名称 | 内容
hConnect | IKHTTPConnect関数で取得したセッションハンドル
RemoteFile | HTTP(S)サーバから取得するファイル名
LocalFile | ローカルに保存するファイル名
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKHTTPConnect関数でHTTP(S)サーバに接続してから使用します。

TransPercentには転送単位を％で与えます。

コード例：

(1)C++Builder/Visual C++

HINTERNET hOpen, hConnect;

if (IKHTTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) == FALSE) return;

IKHTTPGetFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);

IKHTTPDisconnect(hOpen, hConnect);

(2)Delphi

hOpen, hConnect: HINTERNET;

if (IKHTTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) = False) then Exit;

IKHTTPGetFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);

IKHTTPDisconnect(hOpen, hConnect);

(3)Visual Basic

Dim hOpen As Long

Dim hConnect As Long

If IKHTTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub

Call IKHTTPGetFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)

Call IKHTTPDisconnect(hOpen, hConnect)


IKHTTPPutFile

【機能】

HTTPまたはHTTPSサーバへファイルを転送します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKHTTPPutFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKHTTPPutFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKHTTPPutFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
ServerName | HTTP(S)サーバの名称もしくはIPアドレス (*1)
RemoteFile | 転送先（HTTP(S)サーバ）ファイル名
LocalFile | 転送元（ローカル）ファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。当関数ではHTTP(S)サーバへの接続と切断を行います。TransPercentには転送単位を％で与えます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

(*1)

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合は引数のServerNameに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバのIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバへの処理となります。

A.プロキシサーバを設定する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"

B.ポート番号を81に変更する例:

ServerName = "www.newtone.co.jp;;81"

C.プロキシサーバを設定し、ポート番号を81に変更する例:

ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;81"

D.HTTPSを利用する例:

ServerName = "www.newtone.co.jp;;;HTTPS"

E.HTTPSを利用し、ポート番号を444に変更する例:

ServerName = "www.newtone.co.jp;;444;HTTPS"


IKHTTPPutFileEx

【機能】

HTTP(S)サーバへファイルを転送します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKHTTPPutFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);

(2)Delphi

function IKHTTPPutFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: Longint): LongBool;

(3)Visual Basic

Function IKHTTPPutFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

【引数】

名称 | 内容
hConnect | IKHTTPConnect関数で取得したセッションハンドル
RemoteFile | 転送先（HTTP(S)サーバ）ファイル名
LocalFile | 転送元（ローカル）ファイル名
UserName | ユーザ名
Password | パスワード
TransPercent | 転送単位(1～100)％
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

クライアントからの使用に限ります。IKHTTPConnect関数でHTTP(S)サーバに接続してから使用します。

TransPercentには転送単位を％で与えます。

コード例：

(1)C++Builder/Visual C++

HINTERNET hOpen, hConnect;

if (IKHTTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) == FALSE) return;

IKHTTPPutFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);

IKHTTPDisconnect(hOpen, hConnect);

(2)Delphi

hOpen, hConnect: HINTERNET;

if (IKHTTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) = False) then Exit;

IKHTTPPutFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);

IKHTTPDisconnect(hOpen, hConnect);

(3)Visual Basic

Dim hOpen As Long

Dim hConnect As Long

If IKHTTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub

Call IKHTTPPutFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)

Call IKHTTPDisconnect(hOpen, hConnect)


IKImageOut

【機能】

デバイスコンテキストにイメージを描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKImageOut(HDC hDC, HANDLE Handle, LPRECT PrintRect, BOOL Aspect, BOOL DXFBlack, BYTE DeviceMode);

(2)Delphi

function IKImageOut(hDC: HDC; Handle: THandle; var PrintRect: TRect; Aspect, DXFBlack: LongBool; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKImageOut(ByVal hDC As Long, ByVal Handle As Long, PrintRect As IKRECT, ByVal Aspect As Long, ByVal DXFBlack As Long, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
hDC | デバイスコンテキスト
Handle | ラスタイメージもしくはベクトルイメージのメモリハンドル
PrintRect | 描画する矩形を指定する構造体変数
Aspect | 縦横比の設定 [True(0以外):する、False(0):しない]
DXFBlack | 描画イメージがDXFの場合、白を黒に置き換えて描画 [ True(0以外)：する False(0)：しない ]
DeviceMode | 描画対象（0:スクリーン、1:プリンタ）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。（印刷処理中にダイアログボックスを表示してキャンセルした場合は、False(0)が返されます。）

【解説】

PrintRectで指定された範囲内にイメージが収まりきらない場合は、イメージをスケーリングします。

PrintRectにイメージをそのまま描画する場合はAspectにFalse(0)を、イメージの縦横比と描画領域の縦横比を考慮する場合はAspectにTrue(0以外)を設定してください。

（描画対象はスクリーン、プリンタ）

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1

コード例（Visual Basic）

Dim Ret As Long

Dim Rect1 As IKRECT

Dim Rect2 As IKRECT

Dim Width As Long

Dim Height As Long

'用紙サイズおよび印字有効領域を取得

Ret = IKGetPaperSize(hDC, Rect1, Width, Height, 1)

'有効領域いっぱいに印字

Rect2.Left = 0

Rect2.Top = 0

Rect2.Right = Rect1.Right - Rect1.Left

Rect2.Bottom = Rect1.Bottom - Rect1.Top

Ret = IKImageOut(hDC, ImgHandle, Rect2, False, True, 1)

【ImageKit5との違い】

関数名 | 引数の並び
IK5ImageOut | hDC, Handle, PrintRect, Aspect
IKImageOut | hDC, Handle, PrintRect, Aspect, DXFBlack, DeviceMode

DXFBlackにFalse(0)を与え、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。


IKImageOutToHwnd

【機能】

ウィンドウハンドルに対してイメージを描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKImageOutToHwnd(HWND hWnd, HANDLE Handle, COLORREF Color, BOOL Aspect, BOOL DXFBlack);

(2)Delphi

function IKImageOutToHwnd(hWnd: HWND; Handle: THandle; Color: COLORREF; Aspect, DXFBlack: LongBool): LongBool;

(3)Visual Basic

Function IKImageOutToHwnd(ByVal hWnd As Long, ByVal Handle As Long, ByVal Color As Long, ByVal Aspect As Long, ByVal DXFBlack As Long) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
Handle | ラスタイメージもしくはベクトルイメージのメモリハンドル
Color | ウィンドウの背景色
Aspect | 縦横比の設定 [True(0以外):する、False(0):しない]
DXFBlack | 描画イメージがDXFの場合、白を黒に置き換えて描画 [ True(0以外)：する False(0)：しない ]

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

イメージがウィンドウの描画領域に収まりきらない場合は、イメージをスケーリングします。

ウィンドウの描画領域にイメージをそのまま描画する場合はAspectにFalse(0)を、イメージの縦横比と描画領域の縦横比を考慮する場合はAspectにTrue(0以外)を設定してください。

（描画対象はスクリーン）

ColorにはRGB(Red, Green, Blue)として求めた値などを設定してください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5ImageOutToHwnd | hDC, Handle, Color, Aspect
IKImageOutToHwnd | hDC, Handle, Color, Aspect, DXFBlack


IKIsClipBrdData

【機能】

クリップボードにデータがあるかどうかをチェックします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKIsClipBrdData(HWND hWnd);

(2)Delphi

function IKIsClipBrdData(hWnd: HWND): LongBool;

(3)Visual Basic

Function IKIsClipBrdData(ByVal hWnd As Long) As Long

【引数】

名称 | 内容
hWnd | 呼び出す側のウィンドウハンドル

【戻り値】

データがない場合はFalse(0)、データがある場合はTrue(0以外)が返されます。


IKJ2kFileLoad

【機能】

JPEG2000形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKJ2kFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKJ2kFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKJ2kFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは8ビットグレースケール、24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKJ2kFileLoadMem

【機能】

JPEG2000形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKJ2kFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKJ2kFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKJ2kFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | JPEG2000形式のRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは8ビットグレースケール、24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKJ2kFileLoad関数と同じです。


IKJ2kFileSave

【機能】

ラスタイメージをJPEG2000形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKJ2kFileSave(LPCTSTR FileName, HANDLE Handle, BOOL JP2kFormat, BOOL Reversible, double Size, long TileWidth, long TileHeight, short NumrResLevel, short PrecinctWidth, short PrecinctHeight, short CodeBlockWidth, short CodeBlockHeight, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKJ2kFileSave(FileName: PChar; Handle: THandle; JP2kFormat, Reversible: LongBool; Size: Double; TileWidth, TileHeight: Longint; NumrResLevel, PrecinctWidth, PrecinctHeight, CodeBlockWidth, CodeBlockHeight: Smallint; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKJ2kFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal JP2kFormat As Long, ByVal Reversible As Long, ByVal Size As Double, ByVal TileWidth As Long, ByVal TileHeight As Long, ByVal NumrResLevel As Integer, ByVal PrecinctWidth As Integer, ByVal PrecinctHeight As Integer, ByVal CodeBlockWidth As Integer, ByVal CodeBlockHeight As Integer, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
JP2kFormat | フォーマット（False(0)：JPEG2000 Part1、True(0以外)：JPEG2000 Code Stream）
Reversible | 圧縮方法（False(0)：非可逆、True(0以外)：可逆）
Size | ファイルの保存サイズ（非圧縮時イメージサイズに対する倍数）
TileWidth | 横方向のタイルサイズ（ピクセル単位）
TileHeight | 縦方向のタイルサイズ（ピクセル単位）
NumrResLevel | 解像度レベル（0～）
PrecinctWidth | 横方向のプレシンクトサイズ（2のべき乗"1～15"を指定、2^1～2^15）
PrecinctHeight | 縦方向のプレシンクトサイズ（2のべき乗"1～15"を指定、2^1～2^15）
CodeBlockWidth | 横方向のコードブロックサイズ（2のべき乗"2～10"を指定、2^2～2^10）
CodeBlockHeight | 縦方向のコードブロックサイズ（2のべき乗"2～10"を指定、2^2～2^10）
Comment | 保存するコメント文字列（MAX:1023バイト） 次のように設定してください。「Title + 0x0d + Subject + ・・・ + 0x0d」 Title:タイトル Subject:サブタイトル Author:作成者 Comment:コメント ※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは8ビットグレースケールと24ビットカラーです。

一般的にJP2kFormatがFalse(0)であれば拡張子は"jpc"や"j2k"、True(0以外)であれば"jp2"となります。

ReversibleがFalse(0)の場合は、非可逆圧縮でICT(非可逆コンポーネント変換), 9/7非可逆ウェーブレット変換を行い、True(0以外)の場合は可逆圧縮でRCT(可逆コンポーネント変換), 5/3可逆ウェーブレット変換を行います。

Sizeが0.01であれば非圧縮時に比べてファイルサイズが1/100となります。Sizeが有効になるのはReversibleがFalse(0)の場合です。Sizeのデフォルト値は0（何もしない）です。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKJ2kFileSave("c:\abc.jp2",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKJ2kFileSave("ftp://www.newtone.co.jp/image/abc.jp2;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKJ2kFileSave("http://www.newtone.co.jp/image/abc.jp2;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKJ2kFileSaveMem

【機能】

ラスタイメージをJPEG2000形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKJ2kFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL JP2kFormat, BOOL Reversible, double Size, long TileWidth, long TileHeight, short NumrResLevel, short PrecinctWidth, short PrecinctHeight, short CodeBlockWidth, short CodeBlockHeight, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKJ2kFileSaveMem(InHandle: THandle; var OutHandle: THandle; JP2kFormat, Reversible: LongBool; Size: Double; TileWidth, TileHeight: Longint; NumrResLevel, PrecinctWidth, PrecinctHeight, CodeBlockWidth, CodeBlockHeight: Smallint; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKJ2kFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal JP2kFormat As Long, ByVal Reversible As Long, ByVal Size As Double, ByVal TileWidth As Long, ByVal TileHeight As Long, ByVal NumrResLevel As Integer, ByVal PrecinctWidth As Integer, ByVal PrecinctHeight As Integer, ByVal CodeBlockWidth As Integer, ByVal CodeBlockHeight As Integer, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
JP2kFormat | フォーマット（False(0)：JPEG2000 Part1、True(0以外)：JPEG2000 Code Stream）
Reversible | 圧縮方法（False(0)：非可逆、True(0以外)：可逆）
Size | ファイルの保存サイズ（非圧縮時イメージサイズに対する倍数）
TileWidth | 横方向のタイルサイズ（ピクセル単位）
TileHeight | 縦方向のタイルサイズ（ピクセル単位）
NumrResLevel | 解像度レベル（0～）
PrecinctWidth | 横方向のプレシンクトサイズ（2のべき乗"1～15"を指定、2^1～2^15）
PrecinctHeight | 縦方向のプレシンクトサイズ（2のべき乗"1～15"を指定、2^1～2^15）
CodeBlockWidth | 横方向のコードブロックサイズ（2のべき乗"2～10"を指定、2^2～2^10）
CodeBlockHeight | 縦方向のコードブロックサイズ（2のべき乗"2～10"を指定、2^2～2^10）
Comment | 保存するコメント文字列（MAX:1023バイト） 次のように設定してください。「Title + 0x0d + Subject + ・・・ + 0x0d」 Title:タイトル Subject:サブタイトル Author:作成者 Comment:コメント ※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは8ビットグレースケールと24ビットカラーです。

一般的にJP2kFormatがFalse(0)であれば拡張子は"jpc"や"j2k"、True(0以外)であれば"jp2"となります。

ReversibleがFalse(0)の場合は、非可逆圧縮でICT(非可逆コンポーネント変換), 9/7非可逆ウェーブレット変換を行い、True(0以外)の場合は可逆圧縮でRCT(可逆コンポーネント変換), 5/3可逆ウェーブレット変換を行います。

Sizeが0.01であれば非圧縮時に比べてファイルサイズが1/100となります。Sizeが有効になるのはReversibleがFalse(0)の場合です。Sizeのデフォルト値は0（何もしない）です。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKJ2kFileSave関数と同じです。


IKJpegExifInfo

【機能】

Exifファイルから主画像とサムネイル画像およびExifの各種情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKJpegExifInfo(LPCTSTR FileName, PTR_EXIF_INFO ExifInfo);

(2)Delphi

function IKJpegExifInfo(FileName: PChar; var ExifInfo: EXIF_INFO): LongBool;

(3)Visual Basic

Function IKJpegExifInfo(ByVal FileName As String, ExifInfo As EXIF_INFO) As Long

【引数】

名称 | 内容
FileName | 情報を取得するファイル名
ExifInfo | 取得するファイル情報の構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、ExifInfoのメンバー変数にそれぞれ値が設定されます。

サムネイル画像のメモリハンドルはThumbImageInfo.ThumbImageHandleに設定されますので、メモリハンドルが不要になった段階でIKFreeMemoryでメモリを解放してください。

EXIF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のEXIF_INFOのメンバー変数の説明をご覧ください。

Exif(JPEG)の主画像を読み込む場合はIKFileLoad関数やIKJpegFileLoad関数をご使用ください。

【情報の取得について】

IKJpegExifInfo関数の実行により、すべての項目が取得されるわけではなく、機器や画像の特性により設定されない項目もあります。

詳しくは、「社団法人　日本電子工業振興協会」発行の「JEIDA規格　デジタルスチルカメラ用画像ファイルフォーマット規格(Exif)」を参照してください。

【画像情報の構成】

画像情報

│

├─── 主画像情報

│

├─── Exif情報

│

├─── GPS情報

│

└─── サムネイル画像情報

【ImageKit6との違い】

EXIF_INFO構造体にメンバー変数が追加されました。

【ImageKit7との違い】

EXIF_INFO構造体にIntOpeInfoが追加されました。


IKJpegExifInfoMem

【機能】

Exif形式のRawデータから主画像とサムネイル画像およびExifの各種情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKJpegExifInfoMem(HANDLE Handle, PTR_EXIF_INFO ExifInfo);

(2)Delphi

function IKJpegExifInfoMem(Handle: THandle; var ExifInfo: EXIF_INFO): LongBool;

(3)Visual Basic

Function IKJpegExifInfoMem(ByVal Handle As Long, ExifInfo As EXIF_INFO) As Long

【引数】

名称 | 内容
Handle | EXIF形式のRawデータ
ExifInfo | 取得するファイル情報の構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、ExifInfoのメンバー変数にそれぞれ値が設定されます。

サムネイル画像のメモリハンドルはThumbImageInfo.ThumbImageHandleに設定されますので、メモリハンドルが不要になった段階でIKFreeMemoryでメモリを解放してください。

EXIF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のEXIF_INFOのメンバー変数の説明をご覧ください。

Exif(JPEG)の主画像を読み込む場合はIKFileLoadMem関数やIKJpegFileLoadMem関数をご使用ください。

ファイルあるいはRawデータから情報を取得する違いはありますが、動作としてはIKJpegExifInfo関数と同じです。

【情報の取得について】

IKJpegExifInfoMem関数の実行により、すべての項目が取得されるわけではなく、機器や画像の特性により設定されない項目もあります。

詳しくは、「社団法人　日本電子工業振興協会」発行の「JEIDA規格　デジタルスチルカメラ用画像ファイルフォーマット規格(Exif)」を参照してください。

【画像情報の構成】

画像情報

│

├─── 主画像情報

│

├─── Exif情報

│

├─── GPS情報

│

└─── サムネイル画像情報

【ImageKit7との違い】

EXIF_INFO構造体にIntOpeInfoが追加されました。


IKJpegFileLoad

【機能】

JPEG形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKJpegFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKJpegFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKJpegFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは8ビットグレースケール、24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKJpegFileLoadMem

【機能】

JPEG形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKJpegFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKJpegFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKJpegFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | JPEG形式のRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは8ビットグレースケール、24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKJpegFileLoad関数と同じです。


IKJpegFileSave,IKJpegFileSaveEx

DLLコマンドリファレンス

IKJpegFileSave, IKJpegFileSaveEx

【機能】

ラスタイメージをJPEG形式でファイルに保存します。IKJpegFileSaveExではExif情報も併せて保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKJpegFileSave(LPCTSTR FileName, HANDLE Handle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

BOOL IKJpegFileSaveEx(LPCTSTR FileName, HANDLE Handle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button, PTR_EXIF_INFO ExifInfo);

(2)Delphi

function IKJpegFileSave(FileName:
 PChar; Handle: THandle; Type_, Quality, SubSamp: Integer; Comment: PAnsiChar;
 UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

function IKJpegFileSaveEx(FileName: PChar; Handle: THandle; Type_, Quality, SubSamp: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar; var ExifInfo: EXIF_INFO): LongBool;

(3)Visual Basic

Function IKJpegFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKJpegFileSaveEx(ByVal FileName As String, ByVal Handle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String, ExifInfo As EXIF_INFO) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
Type | 0:基本DCT、1:プログレッシブDCT
Quality | JPEG圧縮品質係数（0～100/推奨75）
SubSamp | サブサンプリング（24ビットカラー時有効）、Y:Cb:Cr（0: 4:1:1, 1: 4:2:2, 2: 4:4:4）
Comment | 保存するコメント文字列（MAX:1023バイト）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列
ExifInfo | Exif情報の構造体（ユーザ定義型）変数、IKJpegFileSaveExで使用

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは8ビットグレースケールと24ビットカラーです。SubSampのYは輝度情報、CrとCbは色相情報を表します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

EXIF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のEXIF_INFOのメンバー変数の説明をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKJpegFileSave("c:\abc.jpg",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKJpegFileSave("ftp://www.newtone.co.jp/image/abc.jpg;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKJpegFileSave("http://www.newtone.co.jp/image/abc.jpg;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

・FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。

・IKJpegFileSaveExが追加されました。


IKJpegFileSaveMem,IKJpegFileSaveExMem

DLLコマンドリファレンス

IKJpegFileSaveMem, IKJpegFileSaveExMem

【機能】

ラスタイメージをJPEG形式でRawデータに保存します。IKJpegFileSaveExMemではExif情報も併せて保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKJpegFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

BOOL IKJpegFileSaveExMem(HANDLE InHandle, HANDLE *OutHandle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button, PTR_EXIF_INFO ExifInfo);

(2)Delphi

function
 IKJpegFileSaveMem(InHandle: THandle;
 var OutHandle: THandle; Type_, Quality, SubSamp: Integer; Comment: PAnsiChar;
 UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

function IKJpegFileSaveExMem(InHandle: THandle; var OutHandle: THandle; Type_, Quality, SubSamp: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar; var ExifInfo: EXIF_INFO): LongBool;

(3)Visual Basic

Function IKJpegFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKJpegFileSaveExMem(ByVal InHandle As Long, OutHandle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String, ExifInfo As EXIF_INFO) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
Type | 0:基本DCT、1:プログレッシブDCT
Quality | JPEG圧縮品質係数（0～100/推奨75）
SubSamp | サブサンプリング（24ビットカラー時有効）、Y:Cb:Cr（0: 4:1:1, 1: 4:2:2, 2: 4:4:4）
Comment | 保存するコメント文字列（MAX:1023バイト）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列
ExifInfo | Exif情報の構造体（ユーザ定義型）変数、IKJpegFileSaveExMemで使用

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは8ビットグレースケールと24ビットカラーです。SubSampのYは輝度情報、CrとCbは色相情報を表します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

EXIF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のEXIF_INFOのメンバー変数の説明をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKJpegFileSave(Ex)関数と同じです。

【ImageKit7との違い】

IKJpegFileSaveExMemが追加されました。


IKLayer, IKLayerEx

【機能】

ラスタイメージの重ね合わせを行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKLayer(HANDLE Handle1, HANDLE Handle2, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

HANDLE IKLayerEx(HANDLE Handle1, HANDLE Handle2, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, BOOL Alpha, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKLayer(Handle1, Handle2: THandle; Trans: Byte; TransColor: LongBool;
 TRed, TGreen, TBlue, BRed, BGreen, BBlue: Byte; x, y: Integer; Clip: LongBool;
 UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

function IKLayerEx(Handle1, Handle2: THandle; Trans: Byte; TransColor: LongBool; TRed, TGreen, TBlue, BRed, BGreen, BBlue: Byte; x, y: Integer; Clip, Alpha: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKLayer(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Trans As Byte, ByVal TransColor As Long, ByVal TRed As Byte, ByVal TGreen As Byte, ByVal TBlue As Byte, ByVal BRed As Byte, ByVal BGreen As Byte, ByVal BBlue As Byte, ByVal x As Long, ByVal y As Long, ByVal Clip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKLayerEx(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Trans As Byte, ByVal TransColor As Long, ByVal TRed As Byte, ByVal TGreen As Byte, ByVal TBlue As Byte, ByVal BRed As Byte, ByVal BGreen As Byte, ByVal BBlue As Byte, ByVal x As Long, ByVal y As Long, ByVal Clip As Long, ByVal Alpha As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle1 | 重ねられるラスタイメージのメモリハンドル(1, 4, 8, 16, 24, 32ビットイメージ)
Handle2 | 重ねるラスタイメージのメモリハンドル(1, 4, 8, 16, 24, 32ビットイメージ)
Trans | 透かしの度合い（0～255 数が大きいほどHandle2が生きる）
TransColor | Handle2に対する透明色の設定（False(0):なし、True(0以外):あり）
TRed | Handle2に対する透明色 赤(0～255)
TGreen | Handle2に対する透明色 緑(0～255)
TBlue | Handle2に対する透明色 青(0～255)
BRed | 重ね合わせたイメージの無効領域の背景色 赤(0～255)
BGreen | 重ね合わせたイメージの無効領域の背景色 緑(0～255)
BBlue | 重ね合わせたイメージの無効領域の背景色 青(0～255)
x, y | 貼り付け座標（ピクセル）
Clip | クリッピングの有無（False(0):なし、True(0以外):あり）
Alpha | アルファチャネルを考慮（False(0):しない、True(0以外):する） ※IKLayerExで使用
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドルが返されます。（実行に失敗した場合は0）

出力されるイメージのビット数の説明

・Handle1とHandle2のビット数が共に8ビット以下で、かつ同じビット数であり、かつ同じパレット数と並びの場合は入力イメージのビット数と同じになります。ただし、Handle1とHandle2が8ビットグレースケールではなくTransが0か255以外の場合は24ビットイメージになります。

・Handle1とHandle2のビット数が共に8ビット以下でも、ビット数が違うか、ビット数が同じでもパレット数と並びが違う場合は24ビットイメージになります。

・Handle1とHandle2のどちらかが16ビット以上の場合は、大きいビット数になります。

【解説】

Handle2のイメージの左上の点を、Handle1のイメージのx, yの位置に合わせて貼り付けを行います。

ClipがTrueの時は、Handle1のイメージのサイズより大きくなった場合に、はみでた領域をカットします。

TransColorがTrue(0以外)の場合は、TRed・TGreen・TBlueで設定された色を透明色として使用します。

アルファチャンネルを考慮して重ね合わせをする場合は、IKLayerEx関数でAlphaをTrue(0以外)に設定して、かつHandle2に有効なアルファチャンネルが入ったRGBAの32ビットイメージを与える必要があります。

AlphaがTrue(0以外)の場合はTransは無効になり、False(0)の場合はIKLayer関数と同じ動作となります。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

IKLayerEx関数の使用例としては、あるJPEG画像の上にアルファチャンネルの設定のあるPNG画像を重ね合わせる場合が考えられます。

【ImageKit5との違い】

関数名 | 引数の並び
IK5Layer | Handle1, Handle2, Trans, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, EffectUserProc, Caption, Message, Button
IKLayer | Handle1, Handle2, Trans, TransColor, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, UserProc, Caption, Message, Button

IK6から引数にTransColorが追加されています。TransColorをTrue(0以外)に設定するとIK5と同じ動作となります。

※EffectUserProcとUserProcは同じユーザ関数を表します。


IKLens

【機能】

ラスタイメージにレンズ効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKLens(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Refract, BOOL BackColor, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKLens(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Refract: Double; BackColor: LongBool; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKLens(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Refract As Double, ByVal BackColor As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Refract | レンズの倍率（1.0以上）
BackColor | レンズの外側の背景色の描画設定 [ True(0以外)：塗る False(0)：塗らない]
Red | レンズの外側の背景色 赤(0～255)
Green | レンズの外側の背景色 緑(0～255)
Blue | レンズの外側の背景色 青(0～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

BackColorがTrue(0以外)の時、Red, Green, Blueが有効になります。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKLine

【機能】

描画先オブジェクトに直線を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKLine(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo､BYTE DeviceMode);

(2)Delphi

function IKLine(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKLine(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 始点(left, top)、終点(right, bottom)を指定する構造体変数
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectのleft, topで指定された座標から、right, bottomで指定された座標まで直線を描画します。ただし、right, bottomの点自体は線に含まれず描画されません。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外の場合に有効です。

PrintRectのメンバー変数をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Line | DeviceValue, PrintRect, PrintInfo
IKLine | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKMakeRGBAImage

【機能】

RGBとAからRGBAの32ビットイメージを作成します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKMakeRGBAImage(HANDLE InHandle1, HANDLE InHandle2, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKMakeRGBAImage(InHandle1, InHandle2: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKMakeRGBAImage(ByVal InHandle1 As Long, ByVal InHandle2 As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle1 | RGBイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージが対象）
InHandle2 | A（アルファチャンネル）イメージのメモリハンドル（1, 8ビットグレースケールイメージが対象）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

RGBAの32ビットイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

【参照】

「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のIKPngFileLoadEx(Mem), IKPngFileSaveEx(Mem)関数


IKMeasureString

【機能】

GDI+の機能を利用してテキストの情報から文字列の幅と高さを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKMeasureString(HDC hDC, int AreaWidth, int AreaHeight, LPFLOAT Width, LPFLOAT Height, LPINT charactersFitted, LPINT linesFilled, int FormatFlags, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BYTE UnitMode);

(2)Delphi

function IKMeasureString(hDC: HDC; AreaWidth, AreaHeight: Integer; var Width, Height: Single; var charactersFitted, linesFilled: Integer; FormatFlags: Integer; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; UnitMode: Byte): LongBool;

(3)Visual Basic

Function IKMeasureString(ByVal hDC As Long, ByVal AreaWidth As Long, ByVal AreaHeight As Long, Width As Single, Height As Single, charactersFitted As Long, linesFilled As Long, ByVal FormatFlags As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal UnitMode As Byte) As Long

【引数】

名称 | 内容
hDC | デバイスコンテキスト
AreaWidth | 矩形領域の最大幅（0～）
AreaHeight | 矩形領域の最大高さ（0～）
Width | 取得する文字列の幅
Height | 取得する文字列の高さ
charactersFitted | 取得する文字列の文字数
linesFilled | 取得する文字列の行数
FormatFlags | 文字列の書式情報（デフォルトは0）
TextInfo | 描画情報を指定する構造体
Text | 計測する文字列（終端はヌル）
UnitMode | 計測時の単位（0:ピクセル単位、1:0.1mm単位）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

文字列の幅と高さを取得するにはTextInfoのFontName, FontSize, HCentering, VCentering, HotkeyPrefixに値を設定する必要があります。AreaWidthとAreaHeightのどちらかに0を設定した場合は、Textで与えられた文字列の幅と高さを取得しますが、AreaWidthとAreaHeightに1以上を与えた場合は、その矩形領域に含まれる文字列の幅と高さを取得します。charactersFittedとlinesFilledについても同様な扱いとなります。

当関数を実行する場合は、事前にIKPrintGdipStart関数を実行する必要があります。

AreaWidth, AreaHeight, Width, Heightをピクセル単位として扱う場合

UnitModeが0

AreaWidth, AreaHeight, Width, Heightを0.1mm単位として扱う場合

UnitModeが1

文字列の書式情報を示します。FormatFlagsに設定する値は次の値の論理和となります。

値 | 説明
0x00000001 | テキストの方向を右から左に指定します。
0x00000002 | テキストが縦書きになるよう指定します。
0x00000004 | グリフが外接する四角形にかからないよう指定します。既定では、端に表示する必要がある場合、一部のグリフが若干四角形にかかるよう設定されます。
0x00000020 | 左から右を指示するマークなどの制御文字をグリフで表現します。
0x00000400 | フォールバックを無効にして、要求されたフォントでサポートされていない文字のフォントを切り替えます。欠落文字は、グリフの欠落したフォント(通常は空白の正方形)で表示されます。
0x00000800 | 既定では、各行末の空白が除外されます。各行末の空白を計測に含める場合はこの値を設定します。
0x00001000 | 四角形内の書式指定時に、行間のテキストのラップを無効にします。この値は、四角形ではなく点が渡された場合、または長さゼロの行の四角形が指定された場合に暗黙的に指定されます。
0x00002000 | 書式指定用の四角形には、完全な直線だけがレイアウトされます。既定では、クリッピングの結果、テキストの末尾が表示された状態、または行が表示されなくなった状態のうち、いずれか早い方の状態になるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、なるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、最後の行の一部が隠れることがあります。必ず行全体が表示されるようにするには、この値を指定した上で、少なくとも1つの行と高さが同じの書式指定用の四角形をご使用ください。
0x00004000 | 論理グリフの突出部と書式指定用の四角形からはみ出すラップされていないテキストを表示できます。既定では、書式指定用の四角形からはみ出たテキストとグリフ部はすべてクリップされます。

※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。

コード例：

(1)C++Builder/Visual C++

IKPRINT_TEXTINFO TextInfo;

float Str_Width, Str_Height;

int charactersFitted, linesFilled;

RECT PrintRect;

ULONG_PTR token;//DWORD token;

token = IKPrintGdipStart();

if (token == 0) return;

memset(&TextInfo, 0, sizeof(IKPRINT_TEXTINFO));

TextInfo.FontSize = 20;

lstrcpy(TextInfo.FontName, "ＭＳ ゴシック");

TextInfo.HotkeyPrefix = 0;

IKMeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, &TextInfo, "テキスト", 0);

PrintRect.left = 10;

PrintRect.top = 10;

PrintRect.right = PrintRect.left + (long)Str_Width - 1;

PrintRect.bottom = PrintRect.top + (long)Str_Height - 1;

TextInfo.CharAngle = 0;

TextInfo.TextColor1 = RGB(255, 0, 0);

TextInfo.Alpha1 = 255;

TextInfo.TextColor2 = RGB(255, 255, 255);

TextInfo.Alpha2 = 255;

//グラデーションブラシを使用

IKDrawString(hDC, &PrintRect, 4, 0, 0, 0, 0, &TextInfo, "テキスト", 0);

IKPrintGdipEnd(token)

(2)Delphi

TextInfo: IKPRINT_TEXTINFO;

Str_Width, Str_Height: Single;

CharactersFitted, linesFilled: Integer;

PrintRect: TRect;

token: DWORD;

token := IKPrintGdipStart();

if token = 0 then Exit;

FillChar(TextInfo, SizeOf(TextInfo), 0);

TextInfo.FontSize := 20;

StrPCopy(TextInfo.FontName, 'ＭＳ ゴシック');

TextInfo.HotkeyPrefix := 0;

IKMeasureString(DC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, 'テキスト', 0);

PrintRect.Left := 10;

PrintRect.Top := 10;

PrintRect.Right := PrintRect.Left + Trunc(Str_Width) - 1;

PrintRect.Bottom := PrintRect.Top + Trunc(Str_Height) - 1;

TextInfo.CharAngle := 0;

TextInfo.TextColor1 := clRed;

TextInfo.Alpha1 := 255;

TextInfo.TextColor2 := clWhite;

TextInfo.Alpha2 := 255;

//グラデーションブラシを使用

IKDrawString(DC, PrintRect, 4, 0, 0, 0, 0, TextInfo, 'テキスト', 0);

IKPrintGdipEnd(token)

(3)Visual Basic

Dim TextInfo As IKPRINT_TEXTINFO

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim PrintRect As IKRECT

Dim token As Long

token = IKPrintGdipStart()

If token = 0 Then Exit Sub

TextInfo.FontSize = 20

TextInfo.FontName = "ＭＳ ゴシック" & Chr$(0)

TextInfo.HotkeyPrefix = 0

Call IKMeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, "テキスト", 0)

PrintRect.Left = 10

PrintRect.Top = 10

PrintRect.Right = PrintRect.Left + CLng(Str_Width) - 1

PrintRect.Bottom = PrintRect.Top + CLng(Str_Height) - 1

TextInfo.CharAngle = 0

TextInfo.TextColor1 = vbRed

TextInfo.Alpha1 = 255

TextInfo.TextColor2 = vbWhite

TextInfo.Alpha2 = 255

'グラデーションブラシを使用

Call IKDrawString(hDC, PrintRect, 4, 0, 0, 0, 0, TextInfo, "テキスト", 0)

IKPrintGdipEnd(token)


IKMosaic

【機能】

ラスタイメージにモザイク処理を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKMosaic(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKMosaic(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKMosaic(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Width | モザイクの幅(ピクセル)
Height | モザイクの高さ(ピクセル)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthとHeightが共に1以下の場合はモザイク処理を行いません。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKMotionBlur

【機能】

ラスタイメージにモーションぼかし効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKMotionBlur(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Mode, BYTE Length, int Angle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKMotionBlur(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Mode, Length: Byte; Angle: Inetegr; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKMotionBlur(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Mode As Byte, ByVal Length As Byte, ByVal Angle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Mode | ぼかしの種類（0:線形, 1:放射状, 2:拡大）
Length | ぼかしの度合い（長さ、0～255）
Angle | ぼかしの度合い（角度、1度単位）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKOilPaint

【機能】

ラスタイメージに油絵風効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKOilPaint(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Mode, BYTE MaskSize, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKOilPaint(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Mode, MaskSize: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKOilPaint(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Mode As Byte, ByVal MaskSize As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Mode | 油絵の質感モード（0:RGB別処理, 1:輝度別処理）
MaskSize | 筆のサイズ (1～100)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKOpenFileDialog

【機能】

プレビューおよびファイル情報付きのファイルオープンダイアログを表示します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKOpenFileDialog(HWND hWnd, LPTSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL ExtendedDialog, BOOL Preview, BOOL FileInfo);

(2)Delphi

function IKOpenFileDialog(hWnd: HWND; FileName, FilePath, FileExt: PChar; ExtendedDialog, Preview, FileInfo: LongBool): LongBool;

(3)Visual Basic

Function IKOpenFileDialog(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal ExtendedDialog As Long, ByVal Preview As Long, ByVal FileInfo As Long) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
FileName | 選択されたファイル名
FilePath 初期表示のフォルダの名称
ヌル文字列を設定した場合はカレントフォルダを参照します。
FileExt 初期表示のファイルの拡張子（アルファベットの大文字と小文字は区別しない）
複数の種類を設定する場合は、"BMP;JPG"のように";"で区切ります。
"*"を設定すると、種類のところに「全てのファイル」は表示されません。
拡張子を"<JPG>"のように<>で囲むとデフォルトとして表示できます。
ExtendedDialog False(0)：PreviewとFileInfoのチェックボックスを非表示
True(0以外)：PreviewとFileInfoのチェックボックスを表示
Preview 初期表示時のプレビューの設定
False(0)：プレビュー表示なし、True(0以外)：プレビュー表示あり
FileInfo 初期表示時のファイル情報の設定
False(0)：ファイル情報表示なし、True(0以外)：ファイル情報表示あり

【戻り値】

キャンセルを選択した場合はFalse(0)、「開く」を選択した場合はTrue(0以外)が返されます。

【解説】

FilePathとFileExtで設定されたファイルをダイアログのリストに初期表示します。

「開く」ボタンを選択するとファイル名がフルパスでFileNameに設定されます。

ExtendedDialogがTrue(0以外)の場合は、ダイアログ初期表示時にプレビューとファイル情報表示のチェックボックスが表示されます。そのため、PreviewとFileInfoがFalse(0)でもダイアログ表示時にそれぞれ表示することができます。

プレビューでベクトルイメージを参照する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKOpenFileDlg

【機能】

プレビュー付きのファイルオープンダイアログを表示します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKOpenFileDlg(HWND hWnd, LPTSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL Preview);

(2)Delphi

function IKOpenFileDlg(hWnd: HWND; FileName, FilePath, FileExt: PChar; Preview: LongBool): LongBool;

(3)Visual Basic

Function IKOpenFileDlg(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal Preview As Long) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
FileName | 選択されたファイル名
FilePath | 初期表示のフォルダの名称 ヌル文字列を設定した場合はカレントフォルダを参照します。
FileExt | 初期表示のファイルの拡張子（アルファベットの大文字と小文字は区別しない） 複数の種類を設定する場合は、"BMP;JPG"のように";"で区切ります。 "*"を設定すると、種類のところに「全てのファイル」は表示されません。 拡張子を"<JPG>"のように<>で囲むとデフォルトとして表示できます。
Preview | 初期表示時のプレビューの設定（ダイアログ表示時にも設定可） False(0)：プレビュー表示なし、True(0以外)：プレビュー表示あり

【戻り値】

キャンセルを選択した場合はFalse(0)、「開く」を選択した場合はTrue(0以外)が返されます。

【解説】

FilePathとFileExtで設定されたファイルをダイアログのリストに初期表示します。

「開く」ボタンを選択するとファイル名がフルパスでFileNameに設定されます。

プレビューでベクトルイメージを参照する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKOutline

【機能】

ラスタイメージから輪郭部分を抽出します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKOutline(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Plane, BYTE Operator, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKOutline(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Plane, Operator, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKOutline(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Plane As Byte, ByVal Operator As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Plane | 処理するプレーン（0:Y, 1:R, 2:G, 3:B）
Operator | 行列変数のパターン（0:差分, 1:Roberts, 2:Sobel）
Level | 輪郭線の明るさ(数が大きいほど明るい 0～100)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

通常はPlaneを0として輝度の違いを輪郭として認識しますが、1以上を設定することにより各プレーンの値の差を輪郭として認識することもできます。輪郭抽出の効果はOperatorにより異なります。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKPaint

【機能】

描画先オブジェクトの指定した点を基準に別の色で塗りつぶします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPaint(LPVOID DeviceValue, int x, int y, COLORREF FColor, COLORREF TColor, BYTE PaintMode, BYTE DeviceMode);

(2)Delphi

function IKPaint(DeviceValue: THandle; x, y: Integer; FColor, TColor: COLORREF; PaintMode, DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKPaint(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, ByVal FColor As Long, ByVal TColor As Long, ByVal PaintMode As Byte, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | 開始座標
FColor | 塗りつぶされた領域色、もしくは囲まれた領域の境界色
TColor | 塗りつぶす色
PaintMode | 描画方法
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PaintModeが0の場合

x, yを開始点としてFColorを境界色として囲まれた領域の内部（外部）をTColorで塗りつぶします。

PaintModeが1の場合

x, yを開始点としてFColorで塗りつぶされた領域をTColorで塗りつぶします。

x, yからFColorに突き当たるまで全ての方向に塗りつぶしが行われます。

（対象はスクリーン、プリンタ、メモリハンドル）

FColor, TColorにはRGB(Red, Green, Blue)として求めた値などを設定してください。

x, yをピクセル単位として扱う場合

DeviceModeが0もしくは2

x, yを0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Paint | DeviceValue, x, y, FColor, TColor
IKPaint | DeviceValue, x, y, FColor, TColor, PaintMode, DeviceMode

IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。


IKPanorama

【機能】

ラスタイメージのパノラマ合成を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKPanorama(HANDLE Handle1, HANDLE Handle2, BYTE CutMode, int Px11, int Py11, int Px12, int Py12, int Px21, int Py21, int Px22, int Py22, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPanorama(Handle1, Handle2: THandle; CutMode: Byte; Px11, Py11, Px12, Py12, Px21, Py21, Px22, Py22: Integer; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKPanorama(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal CutMode As Byte, ByVal Px11 As Long, ByVal Py11 As Long, ByVal Px12 As Long, ByVal Py12 As Long, ByVal Px21 As Long, ByVal Py21 As Long, ByVal Px22 As Long, ByVal Py22 As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle1 | 基となるラスタイメージのハンドル(24ビットイメージ)
Handle2 | 貼り付けるラスタイメージのハンドル(24ビットイメージ)
CutMode | Handle2の基準点に対してカットする方向を設定（0:なし 1:左 2:右）
Px11, Py11 | Handle1のイメージ上の基準点1（ピクセル）
Px12, Py12 | Handle1のイメージ上の基準点2（ピクセル）
Px21, Py21 | Handle2のイメージ上の基準点1（ピクセル）
Px22, Py22 | Handle2のイメージ上の基準点2（ピクセル）
Red | 重ね合わせたイメージの無効領域の背景色 赤(0～255)
Green | 重ね合わせたイメージの無効領域の背景色 緑(0～255)
Blue | 重ね合わせたイメージの無効領域の背景色 青(0～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル(24ビットイメージ)。実行に失敗した場合は0が返されます。

【解説】

Handle1のPx11、Py11、Px12、Py12で指定した座標に、Handle2のPx21、Py21、Px22、Py22で指定した座標を合わせて、CutModeの値によりHandle2のイメージをそのまま合成するかどうかを設定し、Handle1にHandle2のイメージを合成します。（Handle2の基準点がHandle1の基準点に合わさるような形になります。）

CutModeは基準点1を上に基準点2を下にした場合の、カットする方向を示しています。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKPasteImage

【機能】

ラスタイメージの貼り付けを行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKPasteImage(HANDLE Handle, PTR_IKSELECT_IMAGE SrcHandle, int Angle, BOOL TurnX, BOOL TurnY, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPasteImage(Handle: THandle; var SrcHandle: IKSELECT_IMAGE; Angle: Integer; TurnX, TurnY: LongBool; Trans: Byte; TransColor: LongBool; TRed, TGreen, TBlue, BRed, BGreen, BBlue: Byte; x, y: Integer; Clip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKPasteImage(ByVal Handle As Long, SrcHandle As IKSELECT_IMAGE, ByVal Angle As Long, ByVal TurnX As Long, ByVal TurnY As Long, ByVal Trans As Byte, ByVal TransColor As Long, ByVal TRed As Byte, ByVal TGreen As Byte, ByVal TBlue As Byte, ByVal BRed As Byte, ByVal BGreen As Byte, ByVal BBlue As Byte, ByVal x As Long, ByVal y As Long, ByVal Clip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | 貼り付けられるラスタイメージのハンドル(1, 4, 8, 16, 24, 32ビットイメージ)
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
Angle | 回転角度(-35999～35999 1/100度単位)
TurnX | X方向反転の有無 (False(0):反転なし True(0以外):反転あり)
TurnY | Y方向反転の有無 (False(0):反転なし True(0以外):反転あり)
Trans | 透かしの度合い (0～255 数が大きいほどSrcHandleが生きる)
TransColor | SrcHandle(hImgBmh)に対する透明色の設定（False(0):なし、True(0以外):あり）
TRed | SrcHandle(hImgBmh)に対する透明色 赤(0～255)
TGreen | SrcHandle(hImgBmh)に対する透明色 緑(0～255)
TBlue | SrcHandle(hImgBmh)に対する透明色 青(0～255)
BRed | 貼り付けたイメージの無効領域の背景色 赤(0～255)
BGreen | 貼り付けたイメージの無効領域の背景色 緑(0～255)
BBlue | 貼り付けたイメージの無効領域の背景色 青(0～255)
x, y | 貼り付け座標（ピクセル）
Clip | クリッピングの有無（False(0):なし、True(0以外):あり）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

出力されるイメージのビット数の説明

・HandleとSrcHandleのビット数が共に8ビット以下で、かつ同じビット数であり、かつ同じパレット数と並びの場合は入力イメージのビット数と同じになります。ただし、HandleとSrcHandleが8ビットグレースケールではなくTransが0か255以外の場合は24ビットイメージになります。

・HandleとSrcHandleのビット数が共に8ビット以下でも、ビット数が違うか、ビット数が同じでもパレット数と並びが違う場合は24ビットイメージになります。

・HandleとSrcHandleのどちらかが16ビット以上の場合は、大きいビット数になります。

【解説】

Angle、TurnX、TurnYはSrcHandleに対して有効です。

x, yはHandleの左上座標(0, 0)として、SrcHandleの指すイメージの中心点をHandleのどの座標に貼り付けるかを指定します。ClipがTrueの時は、Handleのイメージのサイズより大きくなった場合に、はみでた領域をカットします。

TransColorがTrue(0以外)の場合は、TRed・TGreen・TBlueで設定された色を透明色として使用します。

引数として与えたメモリハンドル（構造体も含む）は解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5PasteImage | Handle, SrcHandle, Angle, TurnX, TurnY, Trans, Red, Green, Blue, x, y, Clip, EffectUserProc, Caption, Message, Button
IKPasteImage | Handle, SrcHandle, Angle, TurnX, TurnY, Trans, TransColor, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, UserProc, Caption, Message, Button

IK6から引数にTransColor, TRed, TGreen, TBlueが追加され、IK5でRed, Green, Blueだったものが、IK6からBRed, BGreen, BBlueに変更されています。

TransColorをFalse(0)に設定するとIK5と同じ動作となります。

※EffectUserProcとUserProcは同じユーザ関数を表します。


IKPcxFileLoad

【機能】

PCX形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKPcxFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPcxFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKPcxFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKPcxFileLoadMem

【機能】

PCX形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKPcxFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPcxFileLoadMem(Handle: THandle; PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKPcxFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | PCX形式のRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKPcxFileLoad関数と同じです。


IKPcxFileSave

【機能】

ラスタイメージをPCX形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPcxFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPcxFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKPcxFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKPcxFileSave("c:\abc.pcx",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKPcxFileSave("ftp://www.newtone.co.jp/image/abc.pcx;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKPcxFileSave("http://www.newtone.co.jp/image/abc.pcx;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKPcxFileSaveMem

【機能】

ラスタイメージをPCX形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPcxFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPcxFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKPcxFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKPcxFileSave関数と同じです。


IKPDFAddImage

【機能】

PDFの作成で画像を追加します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPDFAddImage(PTR_SAVE_PDF_INFO PDFSetInfo, HANDLE ImageHandle, unsigned int x, unsigned int y, unsigned int size);

(2)Delphi

function IKPDFAddImage(var pdf_set: SAVE_PDF_INFO; ImageHandle: THandle; x: UINT; y: UINT; size: UINT): LongBool;

(3)Visual Basic

Function IKPDFAddImage(pdf_set As SAVE_PDF_INFO, ByVal ImageHandle As Long, ByVal x As Long, ByVal y As Long, ByVal size As Long) As Long

【引数】

名称 | 内容
PDFSetInfo | PDF作成の条件を設定する構造体（ユーザ定義型）変数
ImageHandle | 対象となる画像のRawデータのハンドル（JPEGとPNG形式が対象）
x | 画像を追加する横方向の位置（左下を原点にmm単位で指定）
y | 画像を追加する縦方向の位置（左下を原点にmm単位で指定）
size | 画像を追加するサイズの指定（mm単位）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PDFSetInfoはIKPDFStart、IKPDFAddPage、IKPDFEnd関数でも使用します。

SAVE_PDF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のSAVE_PDF_INFOのメンバー変数の説明をご覧ください。

画像データの縦サイズと横サイズのうち大きいサイズをsizeに合わせて指定したx, yの位置に画像を設定します。

画像データの縦横比は保持したまま、x, y, sizeはmm単位での指定です。

当関数実行後に画像や位置・サイズを変更するなどして当関数を繰り返せば、一つのページ内に複数の画像を追加することも可能です。


IKPDFAddPage

【機能】

PDFの作成でページを追加します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPDFAddPage(PTR_SAVE_PDF_INFO PDFSetInfo, LPCSTR DocumentSize, BOOL Landscape, unsigned int DocumentWidth, unsigned int DocumentHeight);

(2)Delphi

function IKPDFAddPage(var pdf_set: SAVE_PDF_INFO; DocumentSize: LPCSTR; Landscape: LongBool; DocumentWidth: UINT; DocumentHeight: UINT): LongBool;

(3)Visual Basic

Function IKPDFAddPage(pdf_set As SAVE_PDF_INFO, ByVal DocumentSize As String, ByVal Landscape As Long, ByVal DocumentWidth As Long, ByVal DocumentHeight As Long) As Long

【引数】

名称 | 内容
PDFSetInfo | PDF作成の条件を設定する構造体（ユーザ定義型）変数
DocumentSize | 文書のサイズ（A0～A9、B0～B9、LETTER、LEGAL）
Landscape | 文書の向きの指定（TRUE ランドスケープ、FALSE ポートレート）
DocumentWidth | 文書の幅のサイズの指定（mm単位）
DocumentHeight | 文書の高さのサイズの指定（mm単位）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PDFSetInfoはIKPDFStart、IKPDFAddImage、IKPDFEnd関数でも使用します。

SAVE_PDF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のSAVE_PDF_INFOのメンバー変数の説明をご覧ください。

DocumentSizeにA4などのサイズを渡した場合、DocumentWidthとDocumentHeightの値は無効になります。DocumentWidthとDocumentHeightの値を有効にする場合はDocumentSizeにNULL, nil, vbNullString, 空文字列を渡してください。

DocumentSizeに指定可能なサイズ：

A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、B0、B1、B2、B3、B4、B5、B6、B7、B8、B9、LETTER、LEGAL

※大文字、小文字は問いません。


IKPDFEnd

【機能】

PDFの作成処理を終了します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPDFEnd(PTR_SAVE_PDF_INFO PDFSetInfo, LPCTSTR PDFFileName);

(2)Delphi

function IKPDFEnd(var pdf_set: SAVE_PDF_INFO; PDFFileName: LPCTSTR): LongBool;

(3)Visual Basic

Function IKPDFEnd(pdf_set As SAVE_PDF_INFO, ByVal PDFFileName As String) As Long

【引数】

名称 | 内容
PDFSetInfo | PDF作成の条件を設定する構造体（ユーザ定義型）変数
PDFFileName | 保存するファイル名

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PDFSetInfoはIKPDFStart、IKPDFAddPage、IKPDFAddImage関数でも使用します。

SAVE_PDF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のSAVE_PDF_INFOのメンバー変数の説明をご覧ください。


IKPDFStart

【機能】

PDFの作成処理を開始します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPDFStart(PTR_SAVE_PDF_INFO PDFSetInfo);

(2)Delphi

function IKPDFStart(var pdf_set: SAVE_PDF_INFO): LongBool;

(3)Visual Basic

Function IKPDFStart(pdf_set As SAVE_PDF_INFO) As Long

【引数】

名称 | 内容
PDFSetInfo | PDF作成の条件を設定する構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PDFSetInfoを初期化したのち、所定のメンバーに適切な値を設定して当関数に渡してください。PDFSetInfoはIKPDFAddPage、IKPDFAddImage、IKPDFEnd関数でも使用します。

SAVE_PDF_INFOについては、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のSAVE_PDF_INFOのメンバー変数の説明をご覧ください。

コード例:

(1)C++Builder/Visual C++

HANDLE ImageHandle

SAVE_PDF_INFO PDFSetInfo;

ImageHandle = IKFileLoadAsRawData("C:\\PNG\\load.png", NULL, "", "", "");

if (ImageHandle == 0) return;

memset(&PDFSetInfo, 0, sizeof(SAVE_PDF_INFO));

lstrcpy(PDFSetInfo.OwnerPassword, "abcd");

lstrcpy(PDFSetInfo.Application, "PDF作成ツール");

lstrcpy(PDFSetInfo.Author, "Newtone Corp.");

PDFSetInfo.EnablePrint = TRUE;

if (IKPDFStart(&PDFSetInfo) == FALSE)

{

IKFreeMemory(ImageHandle);

return;

}

IKPDFAddPage(&PDFSetInfo, "A4", FALSE, 0, 0);

IKPDFAddImage(&PDFSetInfo, ImageHandle, 30, 50, 100);

IKPDFEnd(&PDFSetInfo, "C:\\PDF\\save.pdf");

IKFreeMemory(ImageHandle);

(2)Delphi

var

ImageHandle: THandle;

PDFSetInfo: SAVE_PDF_INFO;

begin

ImageHandle := IKFileLoadAsRawData('C:\PNG\load.png', 0, '', '', '');

if (ImageHandle = 0) then Exit;

FillChar(PDFSetInfo, SizeOf(PDFSetInfo), 0);

StrPCopy(PDFSetInfo.OwnerPassword, 'abcd');

StrPCopy(PDFSetInfo.Application, 'PDF作成ツール');

StrPCopy(PDFSetInfo.Author, 'Newtone Corp.');

PDFSetInfo.EnablePrint := True;

if (IKPDFStart(PDFSetInfo) = False) then

begin

IKFreeMemory(ImageHandle);

Exit;

end;

IKPDFAddPage(PDFSetInfo, 'A4', False, 0, 0);

IKPDFAddImage(PDFSetInfo, ImageHandle, 30, 50, 100);

IKPDFEnd(PDFSetInfo, 'C:\PDF\save.pdf');

IKFreeMemory(ImageHandle);

end;

(3)Visual Basic

Dim ImageHandle As Long

Dim PDFSetInfo As SAVE_PDF_INFO

ImageHandle = IKFileLoadAsRawData("C:\PNG\load.png", 0, "", "", "")

If (ImageHandle = 0) Then Exit Sub

PDFSetInfo.OwnerPassword = "abcd" & Chr$(0)

PDFSetInfo.Application = "PDF作成ツール" & Chr$(0)

PDFSetInfo.Author = "Newtone Corp." & Chr$(0)

PDFSetInfo.EnablePrint = True

If (IKPDFStart(PDFSetInfo) = False) Then

Call IKFreeMemory(ImageHandle)

Exit Sub

End If

Call IKPDFAddPage(PDFSetInfo, "A4", False, 0, 0)

Call IKPDFAddImage(PDFSetInfo, ImageHandle, 30, 50, 100)

Call IKPDFEnd(PDFSetInfo, "C:\PDF\save.pdf")

Call IKFreeMemory(ImageHandle)


IKPie

【機能】

描画先オブジェクトに扇形を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPie(LPVOID DeviceValue, LPRECT PrintRect, int x1, int y1, int x2, int y2, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKPie(DeviceValue: THandle; var PrintRect: TRect; x1, y1, x2, y2: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKPie(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 楕円を定義する境界矩形を指定する構造体変数
x1, y1 | 楕円弧の始点のx, y座標
x2, y2 | 楕円弧の終点のx, y座標
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

楕円の一部分を描画し、2つの端点と楕円の中心を接続して扇形を作成します。アウトラインはPenStyleの値で描画され、内部はBrushStyleの値で塗りつぶされます。端点が円弧の上にある必要はなく、中心から指定の端点まで引いた直線との交点が計算され、その交点が用いられます。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

PrintRectのメンバー変数とx1, y1, x2, y2の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数とx1, y1, x2, y2の値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Pie | DeviceValue, PrintRect, x1, y1, x2, y2, PrintInfo
IKPie | DeviceValue, PrintRect, x1, y1, x2, y2, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKPngFileLoad, IKPngFileLoadEx

【機能】

PNG形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKPngFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

HANDLE IKPngFileLoadEx(LPCTSTR FileName, int Alpha, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPngFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

function IKPngFileLoadEx(FileName: PChar; Alpha: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKPngFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKPngFileLoadEx(ByVal FileName As String, ByVal Alpha As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Alpha | アルファチャンネル（IKPngFileLoadExで使用） 0: RGBプレーンのみ読み込み 1: Aプレーンを考慮してRGBプレーンを補正 2: RGBAプレーンをそのまま読み込む（32ビットイメージとして出力）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKPngFileLoadMem, IKPngFileLoadExMem

【機能】

PNG形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKPngFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

HANDLE IKPngFileLoadExMem(HANDLE Handle, int Alpha, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPngFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

function IKPngFileLoadExMem(Handle: THandle; Alpha: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKPngFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKPngFileLoadExMem(ByVal Handle As Long, ByVal Alpha As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | PNG形式のRawデータ
Alpha | アルファチャンネル（IKPngFileLoadExMemで使用） 0: RGBプレーンのみ読み込み 1: Aプレーンを考慮してRGBプレーンを補正 2: RGBAプレーンをそのまま読み込む（32ビットイメージとして出力）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKPngFileLoad(Ex)関数と同じです。


IKPngFileSave, IKPngFileSaveEx

【機能】

ラスタイメージをPNG形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPngFileSave(LPCTSTR FileName, HANDLE Handle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

BOOL IKPngFileSaveEx(LPCTSTR FileName, HANDLE Handle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Alpha, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPngFileSave(FileName: PChar; Handle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

function IKPngFileSaveEx(FileName: PChar; Handle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Alpha: LongBool; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKPngFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKPngFileSaveEx(ByVal FileName As String, ByVal Handle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Alpha As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
Interlace | インタレース（False(0)：設定なし、True(0以外)：設定あり）
Trans | 透過（False(0)：設定なし、True(0以外)：設定あり）
Red | 透過パレットの赤 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Green | 透過パレットの緑 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Blue | 透過パレットの青 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Alpha アルファチャンネル（IKPngFileSaveExで使用）
False(0): RGBとして保存、IKPngFileSaveと同じ動作
True(0以外): RGBAとして保存
Comment 保存するコメント文字列（MAX:1023バイト）
次のように設定してください。「Title + 0x0d + Aother + ・・・ + 0x0d」
Title:タイトル
Aothor:作成者
Description:説明
Copyright:版権
Creation Time:時間
Software:ソフトウエア
Disclaimer:権利放棄
Warning:警告
Source:入力機器
Comment:コメント
※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

IKPngFileSaveEx関数でAlphaをTrue(0以外)に設定する場合は、HandleにRGBAの32ビットイメージのメモリハンドルを設定する必要があります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKPngFileSave("c:\abc.png",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKPngFileSave("ftp://www.newtone.co.jp/image/abc.png;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKPngFileSave("http://www.newtone.co.jp/image/abc.png;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【参照】

「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のIKMakeRGBAImage関数

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKPngFileSaveMem, IKPngFileSaveExMem

【機能】

ラスタイメージをPNG形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPngFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

BOOL IKPngFileSaveExMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Alpha, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKPngFileSaveMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

function IKPngFileSaveExMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Alpha: LongBool; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKPngFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKPngFileSaveExMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Alpha As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
Interlace | インタレース（False(0)：設定なし、True(0以外)：設定あり）
Trans | 透過（False(0)：設定なし、True(0以外)：設定あり）
Red | 透過パレットの赤 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Green | 透過パレットの緑 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Blue | 透過パレットの青 (0～255)　※TransがTrue(0以外)の場合に有効となります。
Alpha アルファチャンネル（IKPngFileSaveExMemで使用）
False(0): RGBとして保存、IKPngFileSaveMemと同じ動作
True(0以外): RGBAとして保存
Comment 保存するコメント文字列（MAX:1023バイト）
次のように設定してください。「Title + 0x0d + Aother + ・・・ + 0x0d」
Title:タイトル
Aothor:作成者
Description:説明
Copyright:版権
Creation Time:時間
Software:ソフトウエア
Disclaimer:権利放棄
Warning:警告
Source:入力機器
Comment:コメント
※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 24ビットカラーです。

IKPngFileSaveExMem関数でAlphaをTrue(0以外)に設定する場合は、HandleにRGBAの32ビットイメージのメモリハンドルを設定する必要があります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKPngFileSave(Ex)関数と同じです。

【参照】

「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のIKMakeRGBAImage関数


IKPolyBezier

【機能】

描画先オブジェクトにベジェ曲線を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPolyBezier(LPVOID DeviceValue, LPPOINT lpPoint, DWORD Points, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKPolyBezier(DeviceValue: THandle; var lpPoint: TPoint; Points: DWORD; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKPolyBezier(ByVal DeviceValue As Long, lpPoint As IKPOINT, ByVal Points As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
lpPoint | ベジェ曲線の端点と制御点の座標を指定する構造体変数の配列 (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ベジェ曲線は始点、2つの制御点、終点の4つの点から構成されます。最初の曲線は4つの点で描画されますが、それ以降の曲線は3つの点で描画されます。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外の場合に有効です。

Pointsは「3×曲線の数＋最初の始点」の数だけ必要です。

lpPointの配列のメンバー変数の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

lpPointの配列のメンバー変数の値を0.1mm単位として扱う場合

DeviceModeが1

コード例：

(1)C++Builder/Visual C++

IKPRINT_DRAWINFO DrawInfo;

POINT PtCurve[4];

PtCurve[0].x = 10; PtCurve[0].y = 100;

PtCurve[1].x = 50; PtCurve[1].y = 50;

PtCurve[2].x = 100; PtCurve[2].y = 150;

PtCurve[3].x = 150; PtCurve[3].y = 100;

memset(&DrawInfo, 0, sizeof(IKPRINT_DRAWINFO));

DrawInfo.PenColor = RGB(0, 0, 255);

DrawInfo.PenStyle = 1;

DrawInfo.PenWidth = 15;

IKPolyBezier(hDC, PtCurve, 4, DrawInfo, 0);

(2)Delphi

DrawInfo: IKPRINT_DRAWINFO;

PtCurve: array[0..3] of TPoint;

PtCurve[0].x := 10; PtCurve[0].y := 100;

PtCurve[1].x := 50; PtCurve[1].y := 50;

PtCurve[2].x := 100; PtCurve[2].y := 150;

PtCurve[3].x := 150; PtCurve[3].y := 100;

FillChar(DrawInfo, SizeOf(DrawInfo), 0);

DrawInfo.PenColor := clGreen;

DrawInfo.PenStyle := 1;

DrawInfo.PenWidth := 15;

IKPolyBezier(hDC, PtCurve[0], 4, DrawInfo, 0);

(3)Visual Basic

Dim DrawInfo As IKPRINT_DRAWINFO

Dim PtCurve(4) As IKPOINT

PtCurve(0).x = 10: PtCurve(0).y = 100

PtCurve(1).x = 50: PtCurve(1).y = 50

PtCurve(2).x = 100: PtCurve(2).y = 150

PtCurve(3).x = 150: PtCurve(3).y = 100

DrawInfo.PenColor = vbGreen

DrawInfo.PenStyle = 1

DrawInfo.PenWidth = 15

Call IKPolyBezier(hDC, PtCurve(0), 4, DrawInfo, 0)


IKPolygon

【機能】

描画先オブジェクトに多角形を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPolygon(LPVOID DeviceValue, LPPOINT lpPoint, int Points, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKPolygon(DeviceValue: THandle; var lpPoint: TPoint; Points: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKPolygon(ByVal DeviceValue As Long, lpPoint As IKPOINT, ByVal Points As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
lpPoint | 多角形の各頂点の座標を指定する構造体変数の配列 (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（2以上）
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

指定の点を基にして一連の直線を描画し、最後の点から最初の点まで直線を引くことで図形をクローズします。アウトラインはPenStyleの値で描画され、内部はBrushStyleの値で塗りつぶされます。

（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

lpPointの配列のメンバー変数の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

lpPointの配列のメンバー変数の値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Polygon | DeviceValue, lpPoint, Points, PrintInfo
IKPolygon | DeviceValue, lpPoint, Points, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKPolyline

【機能】

描画先オブジェクトに連続線を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPolyline(LPVOID DeviceValue, LPPOINT lpPoint, int Points, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKPolyline(DeviceValue: THandle; var lpPoint: TPoint; Points: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKPolyline(ByVal DeviceValue As Long, lpPoint As IKPOINT, ByVal Points As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
lpPoint | 連続線の座標を指定する構造体変数の配列 (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（2以上）
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

指定の点で一連の直線をPenStyleの値で描画します。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外の場合に有効です。

lpPointの配列のメンバー変数の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

lpPointの配列のメンバー変数の値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Polyline | DeviceValue, lpPoint, Points, PrintInfo
IKPolyline | DeviceValue, lpPoint, Points, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKPreviewInit

【機能】

印刷プレビュー時に、スクリーンの解像度を出力するプリンタの解像度にスケーリングします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPreviewInit(HDC phDC, HDC dhDC);

(2)Delphi

function IKPreviewInit(phDC, dhDC: HDC): LongBool;

(3)Visual Basic

Function IKPreviewInit(ByVal phDC As Long, ByVal dhDC As Long) As Long

【引数】

名称 | 内容
phDC | 出力するプリンタのデバイスコンテキスト
dhDC | プレビューするスクリーンのデバイスコンテキスト

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

印刷プレビュー時に、スクリーンの解像度を出力するプリンタの解像度にスケーリングします。


IKPrintAbortDoc

【機能】

現在の印刷ジョブを終了します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPrintAbortDoc(HDC hDC);

(2)Delphi

function IKPrintAbortDoc(hDC: HDC): LongBool;

(3)Visual Basic

Function IKPrintAbortDoc(ByVal hDC As Long) As Long

【引数】

名称 | 内容
hDC | IKPrintCreateDC(Ex)もしくはIKPrintDialog, IKPrintDlgで取得したデバイスコンテキスト

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

現在の印刷ジョブを終了し、最後にIKPrintStartDoc関数を呼び出した後に描画したすべての情報を消去します。

IKPrintAbortDoc関数は、IKPrintStartDoc, IKPrintStartPage, IKPrintEndPage, IKPrintEndDoc関数と共に使用し、IKPrintStartPageとIKPrintEndPage関数の間に記述します。

ただし、IKPrintStartDoc関数の引数ButtonName, Caption, Messageなどを設定して印刷中止のダイアログボックスを表示する場合は、実行する必要はありません。

印刷ジョブを終了する例：

(1)C++Builder/Visual C++

HDC hDC;

int i;

BOOL bAbort = TRUE;

hDC = IKPrintCreateDC(NULL, "Default", NULL, 1);

if (hDC == NULL) return;

//Visual C++はForm1->Handleをm_hWndに

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

for (i = 0; i < 100; i++) {

IKPrintStartPage(hDC);

//イメージ・テキストなどの描画

if (i == 50) {

IKPrintAbortDoc(hDC);

bAbort = TRUE;

}

IKPrintEndPage(hDC);

if (bAbort) break;

}

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

i: Integer;

bAbort: Boolean;

DC := IKPrintCreateDC(nil, 'Default', 0, 1);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

bAbort := False;

for i := 0 to 99 do

begin

IKPrintStartPage(DC);

//イメージ・テキストなどの描画

if i = 50 then

begin

IKPrintAbortDoc(DC);

bAbort := True;

end;

IKPrintEndPage(DC);

if bAbort then Break;

end;

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

Dim i As Integer

Dim bAbort As Boolean

hDC = IKPrintCreateDC(vbNullString, "Default ", 0, 1)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

For i = 0 To 99

bAbort = False

IKPrintStartPage(hDC)

'イメージ・テキストなどの描画

If i = 50 then

IKPrintAbortDoc(hDC)

bAbort = True

End If

IKPrintEndPage(hDC)

If bAbort = True Then Exit For

Next i

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintCreateDC

【機能】

デバイスコンテキストを作成します。

【関数書式】

(1)C++Builder/Visual C++

HDC IKPrintCreateDC(LPCTSTR PrinterName, LPCTSTR PrintFileName, HANDLE hDevMode, short Mode);

(2)Delphi

function IKPrintCreateDC(PrinterName, PrintFileName: PChar; hDevMode: THandle; Mode: Smallint): HDC;

(3)Visual Basic

Function IKPrintCreateDC(ByVal PrinterName As String, ByVal PrintFileName As String, ByVal hDevMode As Long, ByVal Mode As Integer) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
PrintFileName | プリンタ設定ファイル名（IKSaveDevModeHandle(Ex)もしくはIKSetPrintで保存したファイル名）
hDevMode | DEVMODE構造体のハンドル（IKGetDevModeHandle(Ex)で取得したハンドル）
Mode | デバイスコンテキストを作成する方法（0～2）

【戻り値】

デバイスコンテキスト（失敗した場合は、ヌル(0)が返されます）

【解説】

Modeが0の場合

PrinterNameに設定されたプリンタ名からデバイスコンテキストを作成します。

PrintFileNameとhDevModeは無効となります。

Modeが1の場合

PrintFileNameに設定されたファイルからデバイスコンテキストを作成します。

PrinterNameとhDevModeは無効となります。

Modeが2の場合

hDevModeに設定されたDEVMODE構造体のハンドルからデバイスコンテキストを作成します。

PrinterNameとPrintFileNameは無効となります。

通常使うプリンタを使用する場合は、Modeを1にしてPrintFileNameを"Default"（アルファベットの大小文字関係なし）に設定してください。

戻り値のデバイスコンテキストは、IKPrintStartDoc, IKPrintStartPage, IKPrintEndPage, IKPrintEndDoc関数と共に使用します。なお、取得したデバイスコンテキストはIKPrintDeleteDC関数で削除します。

拡張機能として、PrintFileNameにプリンタの設定情報を保存したファイル名にプラスして印刷部数、印刷の向き、用紙サイズを順番に設定すると、保存した項目の該当する部分を変更して印刷することができます。（後ろの項目は省略可、順番を入れ替えることは不可）

設定する場合はそれぞれの項目をセミコロン(;)で区切ります。

設定ファイルに保存された情報を有効にしたい場合は、それぞれの該当する項目に0を設定します。

印刷の向き：()内の説明はWindowsAPIで使用する定数と同じ意味です。

1:縦(DMORIENT_PORTRAIT) 2:横(DMORIENT_LANDSCAPE)

用紙サイズ：()内の説明はWindowsAPIで使用する定数と同じ意味です。

8:A3(DMPAPER_A3) 9:A4(DMPAPER_A4)

12:B4(DMPAPER_B4) 13:B5(DMPAPER_B5)

上記以外の用紙サイズについては、ご利用のコンテナのWindowsAPIに関連する部分を参考に設定してください。

設定ファイルを"IkPrint.Ik"とした場合(VisualBasic)

1)通常の場合

PrintFileName = "C:\Test\IkPrint.Ik"

2)拡張機能を使用した場合

A)印刷部数を3、印刷の向きを横、用紙サイズをB5にする

PrintFileName = "C:\Test\IkPrint.Ik;3;2;13"

B)印刷部数と用紙サイズを設定ファイルから読み出し、印刷の向きを横にする

PrintFileName = "C:\Test\IkPrint.Ik;0;2;0" or PrintFileName = "C:\Test\IkPrint.Ik;0;2"

プリンタ設定ファイル(IkPrn.Ik)を使用して印刷するコード例:

(1)C++Builder/Visual C++

HDC hDC;

hDC = IKPrintCreateDC(NULL, "C:\\Test\\IkPrn.Ik", NULL, 1);

if (hDC == NULL) return;

//Visual C++はForm1->Handleをm_hWndに

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

//イメージ・テキストなどの描画

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

DC := IKPrintCreateDC(nil, 'C:\Test\IkPrn.Ik', 0, 1);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

//イメージ・テキストなどの描画

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

hDC = IKPrintCreateDC(vbNullString, "C:\Test\IkPrn.Ik", 0, 1)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'イメージ・テキストなどの描画

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintCreateDCEx

【機能】

デバイスコンテキストを作成します。

【関数書式】

(1)C++Builder/Visual C++

HDC IKPrintCreateDCEx(LPCTSTR PrinterName, LPCTSTR PrintFileName, HANDLE hDevMode, HANDLE hDevNames, short Mode);

(2)Delphi

function IKPrintCreateDCEx(PrinterName, PrintFileName: PChar; hDevMode, hDevNames: THandle; Mode: Smallint): HDC;

(3)Visual Basic

Function IKPrintCreateDCEx(ByVal PrinterName As String, ByVal PrintFileName As String, ByVal hDevMode As Long, ByVal hDevNames As Long, ByVal Mode As Integer) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
PrintFileName | プリンタ設定ファイル名（IKSaveDevModeHandle(Ex)もしくはIKSetPrintで保存したファイル名）
hDevMode | DEVMODE構造体のハンドル（IKGetDevModeHandle(Ex)で取得したハンドル）
hDevNames | DEVNAMES構造体のハンドル（IKGetDevModeHandleExで取得したハンドル）
Mode | デバイスコンテキストを作成する方法（0～2）

【戻り値】

デバイスコンテキスト（失敗した場合は、ヌル(0)が返されます）

【解説】

Modeが0の場合

PrinterNameに設定されたプリンタ名からデバイスコンテキストを作成します。

PrintFileNameとhDevMode, hDevNamesは無効となります。

Modeが1の場合

PrintFileNameに設定されたファイルからデバイスコンテキストを作成します。

PrinterNameとhDevMode, hDevNamesは無効となります。

Modeが2の場合

hDevModeとhDevNamesに設定されたDEVMODE構造体とDEVNAMES構造体のハンドルからデバイスコンテキストを作成します。hDevNamesがNULLや0の場合はIKPrintCreateDCと同じ動作になります。

PrinterNameとPrintFileNameは無効となります。

通常使うプリンタを使用する場合は、Modeを1にしてPrintFileNameを"Default"（アルファベットの大小文字関係なし）に設定してください。

戻り値のデバイスコンテキストは、IKPrintStartDoc,IKPrintStartPage,IKPrintEndPage,IKPrintEndDoc関数と共に使用します。なお、取得したデバイスコンテキストはIKPrintDeleteDC関数で削除します。

拡張機能として、PrintFileNameにプリンタの設定情報を保存したファイル名にプラスして印刷部数、印刷の向き、用紙サイズを順番に設定すると、保存した項目の該当する部分を変更して印刷することができます。（後ろの項目は省略可、順番を入れ替えることは不可）

設定する場合はそれぞれの項目をセミコロン(;)で区切ります。

設定ファイルに保存された情報を有効にしたい場合は、それぞれの該当する項目に0を設定します。

印刷の向き：()内の説明はWindowsAPIで使用する定数と同じ意味です。

1:縦(DMORIENT_PORTRAIT) 2:横(DMORIENT_LANDSCAPE)

用紙サイズ：()内の説明はWindowsAPIで使用する定数と同じ意味です。

8:A3(DMPAPER_A3) 9:A4(DMPAPER_A4)

12:B4(DMPAPER_B4) 13:B5(DMPAPER_B5)

上記以外の用紙サイズについては、ご利用のコンテナのWindowsAPIに関連する部分を参考に設定してください。

設定ファイルを"IkPrint.Ik"とした場合(VisualBasic)

1)通常の場合

PrintFileName = "C:\Test\IkPrint.Ik"

2)拡張機能を使用した場合

A)印刷部数を3、印刷の向きを横、用紙サイズをB5にする

PrintFileName = "C:\Test\IkPrint.Ik;3;2;13"

B)印刷部数と用紙サイズを設定ファイルから読み出し、印刷の向きを横にする

PrintFileName = "C:\Test\IkPrint.Ik;0;2;0" or PrintFileName = "C:\Test\IkPrint.Ik;0;2"

プリンタ設定ファイル(IkPrn.Ik)を使用して印刷するコード例:

(1)C++Builder/Visual C++

HDC hDC;

hDC = IKPrintCreateDCEx(NULL, "C:\\Test\\IkPrn.Ik", NULL, NULL, 1);

if (hDC == NULL) return;

//Visual C++はForm1->Handleをm_hWndに

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

//イメージ・テキストなどの描画

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

DC := IKPrintCreateDCEx(nil, 'C:\Test\IkPrn.Ik', 0, 0, 1);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

//イメージ・テキストなどの描画

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

hDC = IKPrintCreateDCEx(vbNullString, "C:\Test\IkPrn.Ik", 0, 0, 1)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'イメージ・テキストなどの描画

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintDeleteDC

【機能】

デバイスコンテキストを削除します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPrintDeleteDC(HDC hDC);

(2)Delphi

function IKPrintDeleteDC(hDC: HDC): LongBool;

(3)Visual Basic

Function IKPrintDeleteDC(ByVal hDC As Long) As Long

【引数】

名称 | 内容
hDC | IKPrintCreateDC(Ex)もしくはIKPrintDialog, IKPrintDlgで取得したデバイスコンテキスト

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

印刷処理が終了し、デバイスコンテキストが不要になった段階で実行します。

印刷コードについてはIKPrintCreateDC(Ex)とIKPrintDialog, IKPrintDlgを参照してください。


IKPrintDialog

【機能】

デバイスコンテキストを作成します。

【関数書式】

(1)C++Builder/Visual C++

HDC IKPrintDialog(HWND hWnd, LPHANDLE hDevMode, LPHANDLE hDevNames, PTR_IKPRINT_DIALOG IkPrnDlg);

(2)Delphi

function IKPrintDialog(hWnd: HWND; hDevMode, hDevNames: PHandle; var IkPrnDlg: IKPRINT_DIALOG): HDC;

(3)Visual Basic

Function IKPrintDialog(ByVal hWnd As Long, hDevMode As Long, hDevNames As Long, IkPrnDlg As IKPRINT_DIALOG) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
hDevMode | DEVMODE構造体のハンドル（IKGetDevModeHandle(Ex)で取得したハンドル）、または取得する変数
hDevNames | DEVNAMES構造体のハンドル（IKGetDevModeHandleExで取得したハンドル）、または取得する変数
IkPrnDlg | 印刷ダイアログの設定

【戻り値】

デバイスコンテキスト（失敗した場合は、ヌル(0)が返されます）

【解説】

印刷ダイアログを表示し、設定した情報でデバイスコンテキストを作成します。

hDevMode（またはhDevModeとhDevNamesの両方）を設定すると、印刷ダイアログを表示する際にプリンタ名や印刷条件を操作できます。通常使うプリンタの印刷設定をそのまま使用する場合は、hDevModeとhDevNamesにNULLやnilまたは引数として渡す変数に0を設定してください。当関数実行後にデバイスコンテキスト作成時の情報を取得する場合はhDevModeとhDevNamesに渡す引数にNULLやnilを設定しないでください。デバイスコンテキストが作成されるとhDevModeとhDevNamesが更新されます。IKGetDevModeHandleEx関数で取得したハンドルをhDevModeとhDevNamesに渡すのではなく、当関数で両方のハンドルを取得する場合は引数として渡す変数に0を設定してください。また、その場合は印刷処理終了後にhDevModeとhDevNamesをIKReleaseDevModeHandleEx関数で解放してください。

IkPrnDlgは印刷ダイアログを表示する際の初期値として使用され、処理終了後には設定した情報が返されます。IKPRINT_DIALOGについては「Ik10Print.dll/Ik10PrintA.dll/Ik10Print64.dll/Ik10Print64A.dll」の構造体の定義をご覧ください。

戻り値のデバイスコンテキストは、IKPrintStartDoc関数などで使用します。なお、取得したデバイスコンテキストはIKPrintDeleteDC関数で削除します。

印刷コード例:

(1)C++Buil<>der/Visual C++

HDC hDC;

IKPRINT_DIALOG IkPrnDlg;

HANDLE hDevMode, hDevNames;

hDevMode = hDevNames = NULL;

hDevMode = IKGetDevModeHandleEx("", "Default", &hDevNames);

memset(&IkPrnDlg, 0x00, sizeof(IkPrnDlg));

IkPrnDlg.Copies = 1;

IkPrnDlg.Options = 0x4 | 0x8 | 0x100000

//Visual C++はForm1->Handleをm_hWndに

hDC = IKPrintDialog(Form1->Handle, &hDevMode, &hDevNames, &IkPrnDlg);

if (hDC == NULL) return;

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

//イメージ・テキストなどの描画

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

IKReleaseDevModeHandleEx(hDevMode, hDevNames);

(2)Delphi

DC: HDC;

IkPrnDlg: IKPRINT_DIALOG;

hDevMode, hDevNames: THandle;

hDevMode := nil;

hDevNames := nil;

hDevMode := IKGetDevModeHandleEx('', 'Default', @hDevNames);

FillChar(IkPrnDlg, SizeOf(IkPrnDlg), 0);

IkPrnDlg.Copies := 1;

IkPrnDlg.Options := $4 or $8 or $100000

DC := IKPrintDialog(Form1.Handle, @hDevMode, @hDevNames, IkPrnDlg);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

//イメージ・テキストなどの描画

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

IKReleaseDevModeHandleEx(hDevMode, hDevNames);

(3)Visual Basic

Dim hDC As Long

Dim IkPrnDlg As IKPRINT_DIALOG

Dim hDevMode As Long

Dim hDevNames As Long

hDevMode = 0

hDevNames = 0

hDevMode = IKGetDevModeHandleEx("", "Default", hDevNames)

IkPrnDlg.Copies = 1

IkPrnDlg.Options = &H4 Or &H8 Or &H100000

hDC = IKPrintDialog(Form1.hWnd, hDevMode, hDevNames, IkPrnDlg)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'イメージ・テキストなどの描画

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)

IKReleaseDevModeHandleEx(hDevMode, hDevNames)


IKPrintDlg

【機能】

デバイスコンテキストを作成します。

【関数書式】

(1)C++Builder/Visual C++

HDC IKPrintDlg(HWND hWnd, HANDLE hDevMode, PTR_IKPRINT_DIALOG IkPrnDlg);

(2)Delphi

function IKPrintDlg(hWnd: HWND; hDevMode: THandle; var IkPrnDlg: IKPRINT_DIALOG): HDC;

(3)Visual Basic

Function IKPrintDlg(ByVal hWnd As Long, ByVal hDevMode As Long, IkPrnDlg As IKPRINT_DIALOG) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
hDevMode | DEVMODE構造体のハンドル（IKGetDevModeHandle(Ex)で取得したハンドル）
IkPrnDlg | 印刷ダイアログの設定

【戻り値】

デバイスコンテキスト（失敗した場合は、ヌル(0)が返されます）

【解説】

印刷ダイアログを表示し、設定した情報でデバイスコンテキストを作成します。

hDevModeを設定すると、印刷ダイアログを表示する際にプリンタ名や印刷条件を操作できます。

通常使うプリンタの印刷設定をそのまま使用する場合は、hDevModeにNULLもしくは0を設定してください。

IkPrnDlgは印刷ダイアログを表示する際の初期値として使用され、処理終了後には設定した情報が返されます。IKPRINT_DIALOGについては「Ik10Print.dll/Ik10PrintA.dll/Ik10Print64.dll/Ik10Print64A.dll」の構造体の定義をご覧ください。

戻り値のデバイスコンテキストは、IKPrintStartDoc関数などで使用します。なお、取得したデバイスコンテキストはIKPrintDeleteDC関数で削除します。

印刷コード例:

(1)C++Builder/Visual C++

HDC hDC;

IKPRINT_DIALOG IkPrnDlg;

memset(&IkPrnDlg, 0x00, sizeof(IkPrnDlg));

IkPrnDlg.Copies = 1;

IkPrnDlg.Options = 0x4 | 0x8 | 0x100000

//Visual C++はForm1->Handleをm_hWndに

hDC = IKPrintDlg(Form1->Handle, NULL, &IkPrnDlg);

if (hDC == NULL) return;

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

//イメージ・テキストなどの描画

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

IkPrnDlg: IKPRINT_DIALOG;

FillChar(IkPrnDlg, SizeOf(IkPrnDlg), 0);

IkPrnDlg.Copies := 1;

IkPrnDlg.Options := $4 or $8 or $100000

DC := IKPrintDlg(Form1.Handle, 0, IkPrnDlg);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

//イメージ・テキストなどの描画

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

Dim IkPrnDlg As IKPRINT_DIALOG

IkPrnDlg.Copies = 1

IkPrnDlg.Options = &H4 Or &H8 Or &H100000

hDC = IKPrintDlg(Form1.hWnd, 0, IkPrnDlg)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'イメージ・テキストなどの描画

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintEndDoc

【機能】

印刷を終了します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPrintEndDoc(HDC hDC);

(2)Delphi

function IKPrintEndDoc(hDC: HDC): LongBool;

(3)Visual Basic

Function IKPrintEndDoc(ByVal hDC As Long) As Long

【引数】

名称 | 内容
hDC | IKPrintDialog, IKPrintDlgもしくはIKPrintCreateDC(Ex)で取得したデバイスコンテキスト

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKPrintEndDocは、IKPrintStartDoc, IKPrintStartPage, IKPrintEndPageと共に使用します。

印刷コードについてはIKPrintCreateDC(Ex)とIKPrintDialog, IKPrintDlgを参照してください。

【ImageKit5との違い】

戻り値が新たに追加されました。


IKPrintEndPage

【機能】

ページ単位の印刷を終了して、改ページを行います。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPrintEndPage(HDC hDC);

(2)Delphi

function IKPrintEndPage(hDC: HDC): LongBool;

(3)Visual Basic

Function IKPrintEndPage(ByVal hDC As Long) As Long

【引数】

名称 | 内容
hDC | IKPrintDialog, IKPrintDlgもしくはIKPrintCreateDC(Ex)で取得したデバイスコンテキスト

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKPrintEndPageは、IKPrintStartDoc, IKPrintStartPage, IKPrintEndDocと共に使用します。

印刷コードについてはIKPrintCreateDC(Ex)とIKPrintDialog, IKPrintDlgを参照してください。

【ImageKit5との違い】

戻り値が新たに追加されました。


IKPrintGdipEnd

【機能】

GDI+の終了処理を行います。

【関数書式】

(1)C++Builder/Visual C++

void IKPrintGdipEnd(ULONG_PTR token);

(2)Delphi

procedure IKPrintGdipEnd(token: DWORD);

(3)Visual Basic

Sub IKPrintGdipEnd(ByVal token As Long)

【引数】

名称 | 内容
token | IKPrintGdipStartで取得したトークン

【戻り値】

ありません。

【解説】

IKDrawStringやIKMeasureString関数を使用する場合に使用します。


IKPrintGdipStart

【機能】

GDI+の初期化処理を行います。

【関数書式】

(1)C++Builder/Visual C++

ULONG_PTR IKPrintGdipStart(void);

(2)Delphi

function IKPrintGdipStart(): DWORD;

(3)Visual Basic

Function IKPrintGdipStart() As Long

【引数】

ありません。

【戻り値】

トークン（失敗した場合は、0が返されます）。

【解説】

IKDrawStringやIKMeasureString関数を使用する場合に使用します。


IKPrintGetArrayNum

【機能】

指定されたプリンタ名からサポートされている項目を取得する際に必要な配列の要素数を取得します。

【関数書式】

(1)C++Builder/Visual C++

int IKPrintGetArrayNum(LPCTSTR PrinterName, short CapNo);

(2)Delphi

function IKPrintGetArrayNum(PrinterName: PChar; CapNo: Smallint): Integer;

(3)Visual Basic

Function IKPrintGetArrayNum(ByVal PrinterName As String, ByVal CapNo As Integer) As Long

【引数】

名称 | 内容
PrinterName | プリンタ名
CapNo | 取得する項目の種類（0：用紙サイズ、1：用紙トレイ、2：解像度）

【戻り値】

取得する配列に必要な要素数（0は失敗）

【解説】

IKEnumPaperSizes, IKEnumPaperBins, IKEnumResolutions関数で引数として渡す配列の要素数を取得します。

コード例：

(1)C++Builder/Visual C++

int Size;

LPPOINT Resolutions;

Size := IKPrintGetArrayNum("EPSON LP-8200C", 2);

if (Size < 1) return;

Resolutions = (LPPOINT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POINT) * Size);

__try {

IKEnumResolutions("EPSON LP-8200C", Resolutions);

// 様々な処理

・・・・・・・

} __finally {

HeapFree(GetProcessHeap(), 0, Resolutions);

}

(2)Delphi

Size: Integer;

Resolutions: array of TPoint;

Size := IKPrintGetArrayNum('EPSON LP-8200C', 2);

if Size < 1 then Exit;

SetLength(Resolutions, Size);

IKEnumResolutions('EPSON LP-8200C', Resolutions[0]);

// 様々な処理

・・・・・・・

(3)Visual Basic

Dim Size As Long

Dim Resolutions() As IKPOINT

Size = IKPrintGetArrayNum("EPSON LP-8200C", 2)

If Size < 1 Then Exit Sub

ReDim Resolutions(Size)

Call IKEnumResolutions("EPSON LP-8200C", Resolutions(0))

' 様々な処理


IKPrintStartDoc

【機能】

印刷を開始します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPrintStartDoc(HDC hDC, HWND hWnd, LPCTSTR Caption, LPCTSTR Message, LPCTSTR ButtonName, LPCTSTR DocName);

(2)Delphi

function IKPrintStartDoc(hDC: HDC; hWnd: HWND; Caption, Message, ButtonName, DocName: PChar): LongBool;

(3)Visual Basic

Function IKPrintStartDoc(ByVal hDC As Long, ByVal hWnd As Long, ByVal Caption As String, ByVal Message As String, ByVal ButtonName As String, ByVal DocName As String) As Long

【引数】

名称 | 内容
hDC | IKPrintDialog, IKPrintDlgもしくはIKPrintCreateDC(Ex)で取得したデバイスコンテキスト
hWnd | ウィンドウハンドル
Caption | 印刷中止ダイアログのキャプションに表示する文字列
Message | 印刷中止ダイアログの中央に表示する文字列
ButtonName | 印刷中止ダイアログのボタンに表示する文字列
DocName | 印刷するドキュメント名を表す文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

Caption, ButtonName, Messageが空の文字列の場合は印刷中止のダイアログボックスは表示されません。IKPrintStartDocは、IKPrintStartPage, IKPrintEndPage, IKPrintEndDocと共に使用します。

印刷コードについてはIKPrintCreateDC(Ex)とIKPrintDialog, IKPrintDlgを参照してください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5PrintStartDoc | hWnd, Caption, Message, ButtonName, PrintFileName
IKPrintStartDoc | hDC, hWnd, Caption, Message, ButtonName, DocName

印刷するドキュメント名がMessageからDocNameに変更されました。

戻り値についてもIK5ではデバイスコンテキストを返していましたが、IK6以降では成功もしくは失敗を返すようになりました。IK6以降ではIKPrintDialog, IKPrintDlgもしくはIKPrintCreateDC(Ex)を使用してデバイスコンテキストを取得します。


IKPrintStartPage

【機能】

ページ単位の印刷を開始します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKPrintStartPage(HDC hDC);

(2)Delphi

function IKPrintStartPage(hDC: HDC): LongBool;

(3)Visual Basic

Function IKPrintStartPage(ByVal hDC As Long) As Long

【引数】

名称 | 内容
hDC | IKPrintDialog, IKPrintDlgもしくはIKPrintCreateDC(Ex)で取得したデバイスコンテキスト

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKPrintStartPageは、IKPrintStartDoc, IKPrintEndPage, IKPrintEndDocと共に使用します。

印刷コードについてはIKPrintCreateDC(Ex)とIKPrintDialog, IKPrintDlgを参照してください。


IKRasterToVector

【機能】

ラスタイメージをベクトルイメージに変換します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRasterToVector(HANDLE Handle, BOOL BlackOnWhite, short Tolerance, long TimeOutSeconds, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRasterToVector(Handle: THandle; BlackOnWhite: LongBool; Tolerance: Smallint; TimeOutSeconds, UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRasterToVector(ByVal Handle As Long, ByVal BlackOnWhite As Long, ByVal Tolerance As Integer, ByVal TimeOutSeconds As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
BlackOnWhite | False(0)：黒地に白字、True(0以外)：白地に黒字
Tolerance | 許容値 0（感度高）～10（感度低）
TimeOutSeconds | 処理を中止するタイムアウト（秒）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

白黒2値イメージが対象です。

処理中にTimeOutSecondsで設定された時間を超えた場合、強制的に処理を中断します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10RasToVect.dll/Ik10RasToVectA.dll/Ik10RasToVect64.dll/Ik10RasToVect64A.dll」のユーザ関数の定義 をご覧ください。


IKRectangle

【機能】

描画先オブジェクトに矩形を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKRectangle(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKRectangle(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKRectangle(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 矩形を指定する構造体変数
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した座標を基に矩形を描画します。アウトラインはPenStyleの値で描画され、内部はBrushStyleの値で塗りつぶされます。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

PrintRectのメンバー変数の値をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数の値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5Rectangle | DeviceValue, PrintRect, PrintInfo
IKRectangle | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKRedEyeRemoval

【機能】

赤目を指定した色に補正します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRedEyeRemoval(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Error, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRedEyeRemoval(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue, Error: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRedEyeRemoval(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Error As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | 補正後の赤(0～255)
Green | 補正後の緑(0～255)
Blue | 補正後の青(0～255)
Error | 補正する赤目の誤差範囲(0～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Errorは値が大きい程より赤に近い色を補正し、小さい程補正する色の範囲が広がります。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKReleaseDevModeHandle

【機能】

DEVMODE構造体やDEVNAMES構造体のハンドルを解放します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKReleaseDevModeHandle(HANDLE hDevMode);

(2)Delphi

function IKReleaseDevModeHandle(hDevMode: THandle): LongBool;

(3)Visual Basic

Function IKReleaseDevModeHandle(ByVal hDevMode As Long) As Long

【引数】

名称 | 内容
hDevMode | IKGetDevModeHandle(Ex)やIKPrintDialogで取得したDEVMODEやDEVNAMES構造体のハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

DEVMODE構造体やDEVNAMES構造体のハンドルが不要になった段階で実行します。

成功した場合、hDevModeが占有するメモリは解放されます。


IKReleaseDevModeHandleEx

【機能】

DEVMODE構造体やDEVNAMES構造体のハンドルを解放します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKReleaseDevModeHandleEx(HANDLE hDevMode, HANDLE hDevNames);

(2)Delphi

function IKReleaseDevModeHandleEx(hDevMode, hDevNames: THandle): LongBool;

(3)Visual Basic

Function IKReleaseDevModeHandleEx(ByVal hDevMode As Long, ByVal hDevNames As Long) As Long

【引数】

名称 | 内容
hDevMode | IKGetDevModeHandleExやIKPrintDialogで取得したDEVMODE構造体のハンドル
hDevNames | IKGetDevModeHandleExやIKPrintDialogで取得したDEVNAMES構造体のハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

DEVMODE構造体やDEVNAMES構造体のハンドルが不要になった段階で実行します。

成功した場合、hDevModeやhDevNamesが占有するメモリは解放されます。

hDevNamesがNULLまたは0の場合、IKReleaseDevModeHandleと同じ動作となります。


IKRemoveNoise

【機能】

ラスタイメージのノイズを除去します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRemoveNoise(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Mode, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRemoveNoise(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Mode, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRemoveNoise(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Mode As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Mode | 処理モード（0:輝度値のメディアン法, 1:RGB別のノイズ除去）
Level | RGBでのノイズ除去レベル（0～255、Modeが1の時に有効）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Modeが1の場合にはLevelで設定された値が有効になります。Levelを高く設定するほどノイズを除去することができます。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

【ImageKit8との違い】

白黒2値画像に対応しました（引数のSrcHandleに白黒2値画像を渡すことができる）。


IKResize, IKResizeEx

【機能】

ラスタイメージのサイズを変更します。

【関数書式】

(1)C++Builder

BOOL IKResizeEx(PTR_IKSELECT_IMAGE SrcHandle, PTR_IKSELECT_IMAGE DstHandle, long Width, long Height, BOOL Mode, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKResizeEx(var SrcHandle, DstHandle: IKSELECT_IMAGE; Width, Height: Longint; Mode: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKResize(SrcHandle As IKSELECT_IMAGE, ByVal Width As Long, ByVal Height As Long, ByVal Mode As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE

(4)Visual C++

IKSELECT_IMAGE IKResize(PTR_IKSELECT_IMAGE SrcHandle, long Width, long Height, BOOL Mode, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
DstHandle | 処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ） （実行に失敗した場合はそれぞれのメンバーに、0が返されます） ※DstHandleはIKResizeExの場合に使用
Width | 処理後のイメージの幅（ピクセル）
Height | 処理後のイメージの高さ（ピクセル）
Mode | 補間の有無(False(0):なし、True(0以外):あり) Trueの場合、拡大時は線形補間を行い、縮小時は平均を取り出力 8ビットグレースケール, 16, 24, 32ビットイメージが対象となり、それ以外は無視される
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

IKResize:

処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ）

（実行に失敗した場合はそれぞれのメンバーに0が返されます）

IKResizeEx:

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

基となるイメージを、Width・Heightで指定した新しいサイズになるように自動的に縮小もしくは拡大してサイズを変更します。

ModeがFalseの場合、基のイメージより大きくするとその拡大率に比例してイメージが粗くなります。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

C++Builder、Delphiでご利用の場合は、必ずIKResizeExをご使用ください。


IKResizeRefine1BitImage

【機能】

1ビットイメージを8ビットグレースケールに補間してリサイズします。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKResizeRefine1BitImage(HANDLE Handle, long Width, long Height);

(2)Delphi

function IKResizeRefine1BitImage(Handle: THandle; Width, Height: Longint): THandle;

(3)Visual Basic

Function IKResizeRefine1BitImage(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
Width | 処理後のイメージの幅（ピクセル）
Height | 処理後のイメージの高さ（ピクセル）

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

1ビットイメージを高精彩に縮小してイメージを作成します。

引数として与えたメモリハンドルは解放されずにそのまま残ります。


IKRGBBmpPlaneFileLoad

【機能】

RGBプレーン毎に保存してあるBMPファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRGBBmpPlaneFileLoad(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName);

(2)Delphi

function IKRGBBmpPlaneFileLoad(RedFileName, GreenFileName, BlueFileName: PChar): THandle;

(3)Visual Basic

Function IKRGBBmpPlaneFileLoad(ByVal RedFileName As String, ByVal GreenFileName As String, ByVal BlueFileName As String) As Long

【引数】

名称 | 内容
RedFileName | Rプレーンとして読み込むファイル名
GreenFileName | Gプレーンとして読み込むファイル名
BlueFileName | Bプレーンとして読み込むファイル名

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

RGBそれぞれのプレーンを表すイメージは8ビットグレーで、出力イメージは24ビットカラーです。


IKRGBBmpPlaneFileSave

【機能】

ラスタイメージをRGBプレーン毎にBMP形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKRGBBmpPlaneFileSave(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName, HANDLE Handle);

(2)Delphi

function IKRGBBmpPlaneFileSave(RedFileName, GreenFileName, BlueFileName: PChar; Handle: THandle): LongBool;

(3)Visual Basic

Function IKRGBBmpPlaneFileSave(ByVal RedFileName As String, ByVal GreenFileName As String, ByVal BlueFileName As String, ByVal Handle As Long) As Long

【引数】

名称 | 内容
RedFileName | Rプレーンとして保存するファイル名
GreenFileName | Gプレーンとして保存するファイル名
BlueFileName | Bプレーンとして保存するファイル名
Handle | ラスタイメージのメモリハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

保存対象イメージは24ビットカラーです。Handleに設定されているメモリハンドルをRGBのそれぞれのプレーン毎にファイルに保存します。保存されるイメージは8ビットグレーとなります。


IKRGBGamma

【機能】

ラスタイメージのRGB値のガンマ補正を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRGBGamma(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Red, double Green, double Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRGBGamma(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: Double; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRGBGamma(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Double, ByVal Green As Double, ByVal Blue As Double, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | Redのガンマ係数
Green | Greenのガンマ係数
Blue | Blueのガンマ係数
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

処理後のピクセル値をy、基のピクセル値をxとすると

(1)Bright > 0の場合

(2)Bright < 0の場合

となります。

BrightはRed、Green、Blueのいずれかになります。Red、Green、Blueが0の場合は処理の前後で変化ありません。Red、Green、Blueが＋の場合はレベルが下がり、－の場合はレベルが上がります。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKRGBLevel

【機能】

ラスタイメージのRGB値の加減処理を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRGBLevel(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int Red, int Green, int Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRGBLevel(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRGBLevel(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | Redの加減(-255～255)
Green | Greenの加減(-255～255)
Blue | Blueの加減(-255～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

Red, Green, Blueのそれぞれの値が大きくなると該当する成分が明るくなり、小さくなると該当する成分が暗くなります。また、Red, Green, Blueが0の場合は処理の前後で変化ありません。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKRGBRev

【機能】

ラスタイメージのRGB値の反転処理を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRGBRev(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BOOL Red, BOOL Green, BOOL Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRGBRev(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRGBRev(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | Redの反転（False(0): 反転なし, True(0以外): 反転あり）
Green | Greenの反転（False(0): 反転なし, True(0以外): 反転あり）
Blue | Blueの反転（False(0): 反転なし, True(0以外): 反転あり)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

Red、Green、BlueをTrueにするとそれぞれのRGB値を反転します。

例えば、Redが255の場合は0となります。（Red = 255 - Red）

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKRGBSpline

【機能】

ラスタイメージのRGB値のスプライン補正を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRGBSpline(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, LPPOINT lpSpPoint, int SpPoints, BOOL Red, BOOL Green, BOOL Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRGBSpline(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; var lpSpPoint: TPoint; SpPoints: Integer; Red, Green, Blue: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRGBSpline(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, lpSpPoint As IKPOINT, ByVal SpPoints As Long, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
lpSpPoint | スプラインの通過座標を指定する構造体変数の配列（値の設定方法は、lpPointと同じ）
SpPoints | lpSpPointの配列の数（3～10が有効）
Red | 赤の成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Green | 緑の成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Blue | 青の成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

入力されたイメージデータのRGB値に対してスプライン曲線により変化させることができます。

「使用例」

lpSpPointの値 点A(0, 0) 点B(64, 30) 点C(128, 128) 点D(192, 225) 点E(255, 255)

SpPointsの値 5

・作成される曲線はlpSpPointを通過するスプライン曲線を描きます。（最大10ポイントまで）

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

lpSpPointのメンバーには0～255の間の値を設定してください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKRipple

【機能】

ラスタイメージに波紋効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKRipple(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Amp, double Wavelen, double Phase, BOOL BackColor, BOOL Reflect, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRipple(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Amp, Wavelen, Phase: Double; BackColor, Reflect: LongBool; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKRipple(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Amp As Double, ByVal Wavelen As Double, ByVal Phase As Double, ByVal BackColor As Long, ByVal Reflect As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Amp | 波の振幅の大きさ
Wavelen | 波長の長さ
Phase | 波の位相
BackColor | 空白部分の設定 [False(0):背景色で塗る, True(0以外):隣接するピクセルで塗る]
Reflect | 波の反射設定 [False(0):しない, True(0以外):する]
Red | 背景色の赤（0～255）
Green | 背景色の緑（0～255）
Blue | 背景色の青（0～255）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。

その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

Red, Green, BlueはBackColorがFalse(0)の場合に有効です。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKRotation, IKRotationEx

【機能】

ラスタイメージを回転させます。

【関数書式】

(1)C++Builder

BOOL IKRotationEx(PTR_IKSELECT_IMAGE SrcHandle, PTR_IKSELECT_IMAGE DstHandle, int Angle, BOOL TurnX, BOOL TurnY, BOOL Mode, BYTE Red, BYTE Green, BYTE Blue, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKRotationEx(var SrcHandle, DstHandle: IKSELECT_IMAGE; Angle: Integer; TurnX, TurnY, Mode: LongBool; Red, Green, Blue: Byte; Clip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LonBool;

(3)Visual Basic

Function IKRotation(SrcHandle As IKSELECT_IMAGE, ByVal Angle As Long, ByVal TurnX As Long, ByVal TurnY As Long, ByVal Mode As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Clip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE

(4)Visual C++

IKSELECT_IMAGE IKRotation(PTR_IKSELECT_IMAGE SrcHandle, int Angle, BOOL TurnX, BOOL TurnY, BOOL Mode, BYTE Red, BYTE Green, BYTE Blue, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
DstHandle | 処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ） （実行に失敗した場合はそれぞれのメンバーに0が返されます） ※DstHandleはIKRotationExの場合に使用
Angle | 回転角度 (-35999～35999 1/100度単位)
TurnX | X方向反転の有無 (False(0):反転なし True(0以外):反転あり)
TurnY | Y方向反転の有無 (False(0):反転なし True(0以外):反転あり)
Mode | 補間の有無(False(0):なし、True(0以外):あり) Trueの場合は線形補間を行う 8ビットグレースケール, 16, 24, 32ビットイメージが補間の対象となる
Red | イメージの背景色の赤 (0～255)
Green | イメージの背景色の緑 (0～255)
Blue | イメージの背景色の青 (0～255)
Clip | クリッピングの有無(False(0):なし、True(0以外):あり)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

IKRotation:

処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ）

（実行に失敗した場合はそれぞれのメンバーに、0が返されます）

IKRotationEx:

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

Angleの値が＋の場合は反時計周りに回転し、－の場合は時計回りに回転します。

ClipがTrueの時は、基のイメージのサイズより大きくなった場合に、はみでた領域をカットします。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

C++Builder、Delphiでご利用の場合は、必ずIKRotationExをご使用ください。


IKRoundRect

【機能】

描画先オブジェクトに角が丸の矩形を描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKRoundRect(LPVOID DeviceValue, LPRECT PrintRect, int x, int y, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);

(2)Delphi

function IKRoundRect(DeviceValue: THandle; var PrintRect: TRect; x, y: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKRoundRect(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x As Long, ByVal y As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
PrintRect | 矩形を指定する構造体変数
x, y | 丸い角を描画するための楕円の幅と高さ
DrawInfo | 描画する情報を指定する構造体変数
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintRectで指定した座標を基に矩形を描画し、その角が指定の楕円のパラメータによって丸められます。アウトラインはPenStyleの値で描画され、内部はBrushStyleの値で塗りつぶされます。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはDrawInfoのPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorに値を設定する必要があります。BackColorはTransparent = 0でペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

PrintRectのメンバー変数とx, yの値をピクセル単位として扱う場合

DeviceModeが0もしくは2

PrintRectのメンバー変数とx, yの値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5RoundRect | DeviceValue, PrintRect, x, y, PrintInfo
IKRoundRect | DeviceValue, PrintRect, x, y, DrawInfo, DeviceMode

PrintInfoとDrawInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。Transparentを0以外に設定し、IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_DRAWINFO構造体にBackColorが追加されました。Transparentが0以外であればIK6と同じ動作です。


IKSaveDevModeHandle

【機能】

DEVMODE構造体のハンドルをファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSaveDevModeHandle(LPCTSTR PrintFileName, HANDLE hDevMode);

(2)Delphi

function IKSaveDevModeHandle(PrintFileName: PChar; hDevMode: THandle): LongBool;

(3)Visual Basic

Function IKSaveDevModeHandle(ByVal PrintFileName As String, ByVal hDevMode As Long) As Long

【引数】

名称 | 内容
PrintFileName | 保存するプリンタ設定ファイル名
hDevMode | IKGetDevModeHandle(Ex)やIKPrintDialogで取得したDEVMODE構造体のハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintFileNameに保存されるファイル形式はIKSetPrintで保存されるファイル形式と同じです。

そのため、保存したファイルはIKGetDevModeHandlee(Ex), IKPrintCreateDCe(Ex), IKSetPrintで使用可能です。

DEVMODE構造体についてはWindowsAPI関連の書籍などをご覧ください。


IKSaveDevModeHandleEx

【機能】

DEVMODE構造体とDEVNAMES構造体のハンドルをファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSaveDevModeHandleEx(LPCTSTR PrintFileName, HANDLE hDevMode, HANDLE hDevNames);

(2)Delphi

function IKSaveDevModeHandleEx(PrintFileName: PChar; hDevMode, hDevNames: THandle): LongBool;

(3)Visual Basic

Function IKSaveDevModeHandleEx(ByVal PrintFileName As String, ByVal hDevMode As Long, ByVal hDevNames As Long) As Long

【引数】

名称 | 内容
PrintFileName | 保存するプリンタ設定ファイル名
hDevMode | IKGetDevModeHandle(Ex)やIKPrintDialogで取得したDEVMODE構造体のハンドル
hDevNames | IKGetDevModeHandleExやIKPrintDialogで取得したDEVNAMES構造体のハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

PrintFileNameに保存されるファイル形式はIKSetPrintで保存されるファイル形式と同じです。

そのため、保存したファイルはIKGetDevModeHandle(Ex), IKPrintCreateDC(Ex), IKSetPrintで使用可能です。

hDevNamesがNULLまたは0の場合、IKSaveDevModeHandleと同じ動作となります。

DEVMODE構造体とDEVNAMES構造体についてはWindowsAPI関連の書籍などをご覧ください。


IKSaveFileDialog

【機能】

プレビューおよびファイル情報付きのファイルセーブダイアログを表示します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSaveFileDialog(HWND hWnd, LPTSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL ExtendedDialog, BOOL Preview, LPINT FileType, BOOL FileInfo);

(2)Delphi

function IKSaveFileDialog(hWnd: HWND; FileName, FilePath, FileExt: PChar; ExtendedDialog, Preview: LongBool; var FileType: Integer; FileInfo: LongBool): LongBool;

(3)Visual Basic

Function IKSaveFileDialog(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal ExtendedDialog As Long, ByVal Preview As Long, FileType As Long, ByVal FileInfo As Long) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
FileName | 選択されたファイル名もしくは初期表示のファイル名
FilePath | 初期表示のフォルダの名称（ヌル文字列を設定した場合は、カレントフォルダを参照）
FileExt 初期表示のファイルの拡張子（アルファベットの大文字と小文字は区別しない）
複数の種類を設定する場合は、"BMP;JPG"のように";"で区切ります。
"*"を設定すると、種類のところに「全てのファイル」は表示されません。
拡張子を"<JPG>"のように<>で囲むとデフォルトとして表示できます。
ExtendedDialog False(0)：PreviewとFileInfoのチェックボックスを非表示
True(0以外)：PreviewとFileInfoのチェックボックスを表示
Preview 初期表示時のプレビューの設定
False(0)：プレビュー表示なし、True(0以外)：プレビュー表示あり
FileType 選択されたファイルの種類
1:BMP, 2：JPEG, 3：GIF, 4：TIFF, 5：PNG, 6：FPX, 7：PCX, 8：WMF, 9：EMF, 10：DXF, 11:SVG, 12:JPEG2000, 13:JPEG2000(Code Stream), 14:SXF(p21), 15:SXF(sfc)
FileInfo 初期表示時のファイル情報の設定
False(0)：ファイル情報表示なし、True(0以外)：ファイル情報表示あり

【戻り値】

キャンセルを選択した場合はFalse(0)、保存を選択した場合はTrue(0以外)が返されます。

【解説】

FilePathとFileExtの条件に合ったファイルをダイアログのリストに初期表示します。ただし、FileNameにフルパスが設定されている場合はFilePathは無効です。

保存ボタンを選択するとファイル名がフルパスでFileNameに、FileTypeに選択されたファイルの種類が設定されます。

ExtendedDialogがTrue(0以外)の場合は、PreviewとFileInfoがFalse(0)でもダイアログ表示時にそれぞれ表示することができます。

プレビューでベクトルイメージを参照する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

例：

(1)C++Builder/Visual C++

TCHAR FileName[256];

BOOL Ret;

int FileType;

memset(FileName, 0, sizeof(FileName)); //この場合は、FilePath有効

//FileNameにフルパスでファイル名を設定するとFilePath無効

//lstrcpy(FileName, "C:\\Images\\001.jpg");

//Visual C++はForm1->Handleをm_hWndに

Ret = IKSaveFileDialog(Form1->Handle, FileName, "C:\\My Pictures", "*;BMP;JPG;", FALSE, FALSE, &FileType, FALSE,);

(2)Delphi

FileName: array [0..255] of Char;

Ret: LongBool;

FileType: Integer;

FillChar(FileName, SizeOf(FileName), 0); //この場合は、FilePath有効

//FileNameにフルパスでファイル名を設定するとFilePath無効

//StrPCopy(FileName, 'C:\Images\001.jpg');

Ret = IKSaveFileDialog(Form1.Handle, FileName, 'C:\My Pictures', '*;BMP;JPG;', False, False, FileType, False);

(3)Visual Basic

Dim FileName As String * 256

Dim Ret As Long

Dim FileType As Long

FileName = Chr$(0) 'この場合は、FilePath有効

'FileNameにフルパスでファイル名を設定するとFilePath無効

'FileName = "C:\Images\001.jpg"

Ret = IKSaveFileDialog(Form1.hWnd, FileName, "C:\My Pictures", "*;BMP;JPG;", False, False, FileType, False);


IKSaveFileDlg, IKSaveFileDlgEx

【機能】

プレビュー付きのファイルセーブダイアログを表示します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSaveFileDlg(HWND hWnd, LPTSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL Preview);

BOOL IKSaveFileDlgEx(HWND hWnd, LPTSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL Preview, LPINT FileType);

(2)Delphi

function IKSaveFileDlg(hWnd: HWND; FileName, FilePath, FileExt: PChar; Preview: LongBool): LongBool;

function IKSaveFileDlgEx(hWnd: HWND; FileName, FilePath, FileExt: PChar; Preview: LongBool; var FileType: Integer): LongBool;

(3)Visual Basic

Function IKSaveFileDlg(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal Preview As Long) As Long

Function IKSaveFileDlgEx(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal Preview As Long, FileType As Long) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
FileName | 選択されたファイル名もしくは初期表示のファイル名
FilePath | 初期表示のフォルダの名称（ヌル文字列を設定した場合は、カレントフォルダを参照）
FileExt | 初期表示のファイルの拡張子（アルファベットの大文字と小文字は区別しない） 複数の種類を設定する場合は、"BMP;JPG"のように";"で区切ります。 "*"を設定すると、種類のところに「全てのファイル」は表示されません。 拡張子を"<JPG>"のように<>で囲むとデフォルトとして表示できます。
Preview | 初期表示時のプレビューの設定（ダイアログ表示時にも設定可） False(0)：プレビュー表示なし、True(0以外)：プレビュー表示あり
FileType | 選択されたファイルの種類（IKSaveFileDlgExで使用） 1:BMP, 2：JPEG, 3：GIF, 4：TIFF, 5：PNG, 6：FPX, 7：PCX, 8：WMF, 9：EMF, 10：DXF, 11:SVG, 12:JPEG2000, 13:JPEG2000(Code Stream), 14:SXF(p21), 15:SXF(sfc)

【戻り値】

キャンセルを選択した場合はFalse(0)、保存を選択した場合はTrue(0以外)が返されます。

【解説】

FilePathとFileExtの条件に合ったファイルをダイアログのリストに初期表示します。ただし、FileNameにフルパスが設定されている場合はFilePathは無効です。

保存ボタンを選択するとファイル名がフルパスでFileNameに設定されます。

IKSaveFileDlgExでは、保存ボタンを選択するとFileTypeに選択されたファイルの種類が設定されます。

プレビューでベクトルイメージを参照する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

例：

(1)C++Builder/Visual C++

TCHAR FileName[256];

BOOL Ret;

int FileType;

memset(FileName, 0, sizeof(FileName)); //この場合は、FilePath有効

//FileNameにフルパスでファイル名を設定するとFilePath無効

//lstrcpy(FileName, "C:\\Images\\001.jpg");

//Visual C++はForm1->Handleをm_hWndに

Ret = IKSaveFileDlgEx(Form1->Handle, FileName, "C:\\My Pictures", "*;BMP;JPG;", FALSE, &FileType);

(2)Delphi

FileName: array [0..255] of Char;

Ret: LongBool;

FileType: Integer;

FillChar(FileName, SizeOf(FileName), 0); //この場合は、FilePath有効

//FileNameにフルパスでファイル名を設定するとFilePath無効

//StrPCopy(FileName, 'C:\Images\001.jpg');

Ret = IKSaveFileDlgEx(Form1.Handle, FileName, 'C:\My Pictures', '*;BMP;JPG;', False, FileType);

(3)Visual Basic

Dim FileName As String * 256

Dim Ret As Long

Dim FileType As Long

FileName = Chr$(0) 'この場合は、FilePath有効

'FileNameにフルパスでファイル名を設定するとFilePath無効

'FileName = "C:\Images\001.jpg"

Ret = IKSaveFileDlgEx(Form1.hWnd, FileName, "C:\My Pictures", "*;BMP;JPG;", False, FileType);


IKScanCloseDS

【機能】

データソースをクローズします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanCloseDS(HANDLE AppHandle, HANDLE SrcHandle);

(2)Delphi

function IKScanCloseDS(AppHandle, SrcHandle: THandle): LongBool;

(3)Visual Basic

Function IKScanCloseDS(ByVal AppHandle As Long, ByVal SrcHandle As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

オープンしたデータソースをクローズすると共に、IKScanOpenDSで取得したデータソースハンドルを解放します。SrcHandleに無効な値を設定した場合はエラーとなります。


IKScanExec

【機能】

TWAINデータソースからイメージの取込を実行します。

【関数書式】

(1)C++Builder/Visual C++

int IKScanExec(HANDLE AppHandle, HANDLE SrcHandle, PTR_IKSCAN_EXEC Image, IK_BEFORESCANPROC BeforeScanProc, IK_SCANNINGPROC ScanningProc, IK_AFTERSCANPROC AfterScanProc, DWORD *Index);

(2)Delphi

function IKScanExec(AppHandle, SrcHandle: THandle; var Image: IKSCAN_EXEC; BeforeScanProc, ScanningProc, AfterScanProc: Longint; var Index: DWORD): Integer;

(3)Visual Basic

Function IKScanExec(ByVal AppHandle As Long, ByVal SrcHandle As Long, Image As IKSCAN_EXEC, ByVal BeforeScanProc As Long, ByVal ScanningProc As Long, ByVal AfterScanProc As Long, Index As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
Image | 取込条件を設定する構造体（ユーザ定義型）変数
BeforeScanProc | イメージ取り込み前に処理するユーザ関数のアドレス（必要ない場合は0を指定）
ScanningProc | イメージ取り込み中に処理するユーザ関数のアドレス（必要ない場合は0を指定）
AfterScanProc | イメージ取り込み後に処理するユーザ関数のアドレス（必要ない場合は0を指定） ユーザ関数名がAfterScanProcの場合は以下のような形式で引数に渡します。 (1)C++Builder/Visual C++ AfterScanProc (2)Delphi LONG_PTR(Addr(AfterScanProc)) or LONG_PTR(@AfterScanProc) (3)Visual Basic Address Of AfterScanProc
Index | デジカメから取り込む際に使用するインデックス配列 (1)C++Builder/Visual C++ 配列の先頭のポインタを渡す (2)Delphi Ix: array [0..2] of DWORDの場合は、Ix[0]を与える (3)Visual Basic Dim Ix(0 To 2) As Longの場合は、Ix(0)を与える ※インデックス配列を使用しない場合はNULLもしくはダミー配列を与えてください。

【戻り値】

取込んだイメージの数（取込んだイメージがない場合は0が返されます）。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

Imageは、取込条件用の構造体（ユーザ定義型）変数です。IKSCAN_EXECについては、「Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll」の構造体の定義をご覧ください。

SrcHandleが0の場合ScanDSNameは必須ですが、0以外の場合は無効です。

IndexはUiModeが2でScanModeがデジカメを表す場合に有効となりますが、Indexが必要ない場合はNULLもしくはダミー配列を渡してください。

Indexは、デジタルカメラから指定した画像を取り込む際に使用します。（ScanModeが4, 6の時に有効）

例えば、5番目の画像と8番目の画像を取り込むには

Index(0) = 5

Index(1) = 8

とします。

その際、配列の要素数2をPageCountに設定します。

イメージを1枚取り込む前後および最中に、ユーザ関数（BeforeScanProc, AfterScanProc, ScanningProc）に制御が移りますので、その中で処理したいコードを記述してください。データソースによってはサポートしていない機能があります。その場合はサポートされている機能のみを使用して取り込みを行います。

＜関数を実行する前に設定する必要のあるIKSCAN_EXEC構造体のメンバ変数＞

「必須項目」

ScanDsName（空文字列を指定する場合は、予めIKScanSelect関数を実行しておくこと）

※IKScanOpenDS関数を事前に実行した場合はScanDsNameは無効（オープンされたデータソースが有効）

TransferMode, Compression, UiMode（エプソン製スキャナ用ドライバご利用時はExtUiModeも必須）

「設定条件により必要な項目」

FileFormat, FileName, InformationFileName, JpegQuality

UiModeが2でScanModeが100の場合

ScanMode, PageCount, UnitMode

UiModeが2でScanModeが100以外の場合

(1)スキャナ

AdjustGamma, AutoBright, BitDepth, BitDepthReduction, Border, BorderColor, BorderDetection, Brightness, ColorBWRatio, Contrast, Deskew, DropoutColor, DynamicThreshold, FocusPosition, Gamma, HalfTone, Highlight, IgnoreBackColor, ImageFilter, ImageMerge, Indicator, MoireFilter, NoiseFilter, Orientation, OverScan, PageCount, PaperSize, PixelType, RemoveHole, Rotation, ScanMode, ScanningSpeed, Shadow, Sharpness, SkipBlankPage, SkipBlankThreshold, TextEnhancement, Threshold, UnitFlag, UnitMode, XResolution, XScaling, YResolution, YScaling

PaperSize<=0: Bottom, Left, Right, Top

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

(2)デジタルカメラ

PageCount, ScanMode, UnitMode ※ScanMode=1の場合は、XResolution = 0とすること。

＜関数実行後に取得されるIKSCAN_EXEC構造体のメンバ変数＞

BitDepth, Bottom, Compression, FileFormat（ファイル転送の場合）, Left,PixelType, Right, Top, UnitMode, XResolution, YResolution

（開発者作成UIを使用する上での注意事項）

UiModeが2の場合、機種やプロパティの設定状態により読み取りに失敗する場合があります。エラーが発生する主な原因を次に示しますので参考にしてください。

・設定した取りこみ単位がサポートされていない。サポートされている値はIKScanGetCapEnum関数で取得できます。

・設定したピクセルタイプがサポートされていない。サポートされている値はIKScanGetCapEnumもしくはIKScanGetCapPixelType関数で取得できます。

・設定した画素ビット数がサポートされていない。サポートされている値はIKScanGetBitDepth関数で取得できます。

・設定した解像度がサポートされていない。サポートされている値はIKScanGetCapEnumもしくはIKScanGetCapRange関数で取得できます。

・設定した用紙サイズがサポートされていない。サポートされている値はIKScanGetCapEnum関数で取得できます。

(1)用紙サイズそのものがサポートされていない場合

PaperSizeに0（ユーザ定義サイズ）を設定し、Left,Top,Right,Bottomに範囲内の値を設定する。読み取り範囲は、IKScanGetMinimumSize(Ex)とIKScanGetPhysicalSize(Ex)関数で取得できます。

(2)設定した用紙サイズがサポートされているのに読み取りに失敗する場合

PaperSizeに0（ユーザ定義サイズ）以外を設定してご確認ください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5ScanExec | hWnd, Image, ScanUserProc
IKScanExec | AppHandle, SrcHandle, Image, BeforeScanProc, ScanningProc, AfterScanProc, Index

IK6からhWndをIKScanInitializeで渡し、その戻り値のAppHandleを使用します。

IK5のScanUserProcはIK6以降のAfterScanProcにあたります。Imageの構造はIK5とIK10で異なります。

【ImageKit6との違い】

IKSCAN_EXEC構造体にメンバー変数が追加されました。

【ImageKit7との違い】

IKSCAN_EXEC構造体にメンバー変数が追加されました。

【ImageKit8との違い】

IKSCAN_EXEC構造体にメンバー変数が追加されました。

【ImageKit9との違い】

IKSCAN_EXEC構造体にメンバー変数が追加されました。

【ユーザ関数の定義】

Visual Basicの場合、ユーザ関数をフォームモジュールではなく標準モジュールとして作成してください。

BeforeScanProc: イメージを取り込む前に制御が移ります。

【関数書式】

(1)C++Builder/Visual C++

BOOL __stdcall BeforeScanProc(PTR_IKSCAN_IMAGEINFO ImageInfo, long Count);

(2)Delphi

function BeforeScanProc(var ImageInfo: IKSCAN_IMAGEINFO; Count: Integer): LongBool; stdcall;

(3)Visual Basic

Function BeforeScanProc(ImageInfo As IKSCAN_IMAGEINFO, ByVal Count As Long) As Long

【引数】

名称 | 内容
ImageInfo | 取り込もうとするイメージの情報
Count | 取り込もうとするイメージの順番（1～）

【戻り値】

False(0)の場合は取り込みを終了します。True(0以外)の場合は処理を継続します。

IKSCAN_EXEC構造体のPaperSizeに1000以上を設定するとImageInfoのWidthとHeightが-1になる場合があります。また、実際の原稿サイズよりもWidth,Heightとも大きくなる場合があります。

IKSCAN_EXEC構造体のPixelTypeに1000を設定するとImageInfoのBitDepthとPixelTypeが実際に取り込んだ画像と異なる場合があります。

ユーザ関数はBeforeScanProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。

ScanningProc: イメージを取り込んでいる最中に制御が移ります。

【関数書式】

(1)C++Builder/Visual C++

BOOL __stdcall ScanningProc(short Percent);

(2)Delphi

function ScanningProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic

Function ScanningProc(ByVal Percent As Integer) As Long

【引数】

名称 | 内容
Percent | 取り込んでいるイメージの進捗状況（0～100、パーセントで示す）

【戻り値】

False(0)の場合は取り込みを終了します。True(0以外)の場合は処理を継続します。

この関数はメモリ転送のみが対象で、ネイティブ転送やファイル転送では無効です。また、メモリ転送でも圧縮形式の場合とBeforeScanProc関数の引数ImageInfoのWidthとHeightが-1の場合は無効です。

ユーザ関数はScanningProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。

AfterScanProc: イメージを取り込んだ後に制御が移ります。

【関数書式】

(1)C++Builder/Visual C++

BOOL __stdcall AfterScanProc(HANDLE DibHandle, HANDLE OrgHandle, long Count, short BitOrder);

(2)Delphi

function AfterScanProc(DibHandle, OrgHandle: THandle; Count: Integer; BitOrder): LongBool; stdcall;

(3)Visual Basic

Function AfterScanProc(ByVal DibHandle As Long, ByVal OrgHandle As Long, ByVal Count As Long, ByVal BitOrder As Integer) As Long

【引数】

名称 | 内容
DibHandle | Windowsで処理できるDIBのメモリハンドル
OrgHandle | Windowsで処理できないメモリハンドル （12, 14, 16ビットグレースケールや36, 42, 48ビットカラー、および圧縮モード時）
Count | 取り込んだイメージの数
BitOrder | 取り込んだイメージのビットがバイトの左端から始まっているか、右端から始まっているかを表します。 0：右端から（LSB）、1：左端から(MSB)

【戻り値】

False(0)の場合は取り込みを終了します。True(0以外)の場合は処理を継続します。

※AfterScanProcの後で取り込んだイメージのメモリハンドルを解放しています（DibHandleとOrgHandleの両方）。

メモリハンドルを残しておきたい場合はメモリのコピーを実行してください。

(1)ネイティブ転送、メモリ転送で非圧縮モードの場合

取り込んだイメージが1, 4, 8, 24ビットイメージの場合は、イメージをDibHandleに設定しOrgHandleは0になります。

取り込んだイメージが12, 14, 16ビットグレースケールもしくは36, 42, 48ビットカラーの場合は、イメージをOrgHandleに設定し、OrgHandleを8ビットグレースケールもしくは24ビットカラーに減色したイメージをDibHandleに設定します。ただし、DibHandle用のメモリが確保できない場合は0となります。

(2)メモリ転送で圧縮モードの場合

DibHandleは0でOrgHandleに取り込んだイメージを設定します。

(3)ファイル転送の場合

DibHandle, OrgHandleとも0になります。

IKSCAN_EXEC構造体のUiModeを2（UI非表示）、かつUnitModeを5（ピクセル）に設定すると、DibHandleとOrgHandleの2つのメモリハンドルの解像度情報が1になる場合があります。

ユーザ関数はAfterScanProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。

【ImageKit5との違い】

IK6から引数にBitOrderが追加されています。


IKScanFreeTwain

【機能】

IKScanLoadTwainでロードしたTWAIN DLLを解放します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanFreeTwain(void);

(2)Delphi

function IKScanFreeTwain(): LongBool;

(3)Visual Basic

Function IKScanFreeTwain() As Long

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

IKScanLoadTwainを実行していない場合はIKScanFreeTwainを実行する必要はありません（ImageKit内で自動的にロード/解放が行われます）。IKScanLoadTwain/FreeTwainは対で使用してください。

IKScanFreeTwain を実行する場合は、事前にIKScanTerminateを実行するようにしてください。


IKScanGetBitDepth

【機能】

データソースがサポートしている画素ビット数を取得します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKScanGetBitDepth(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD PixelType, WORD *List, DWORD ListNum);

(2)Delphi

function IKScanGetBitDepth(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; PixelType: Word; var List: Word; ListNum: DWORD): DWORD;

(3)Visual Basic

Function IKScanGetBitDepth(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal PixelType As Integer, List As Integer, ByVal ListNum As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
PixelType | ピクセルタイプ（0:白黒2値、1：グレースケール、2：RGBカラー、3:パレットカラー）
List | 画素ビット数を取得する配列 (1)C++Builder/Visual C++配列の先頭のポインタを渡す (2)DelphiLt: array [0..2] of DWORDの場合は、Lt[0]を与える (3)Visual BasicDim Lt(0 To 2) As Longの場合は、Lt(0)を与える
ListNum | Listの要素数

【戻り値】

ListとListNumを設定した場合

取得した数を返します。0の場合はエラーとなりますのでエラーステータスを確認してください。

ListがNULLもしくはListNumが0の場合

取得する際に必要な配列の要素数を返します。データソースによってはピクセルタイプの値に関係なく、サポートしている全ての画素ビット数を取得するものがあります。その場合は、実際の数よりも多い値が返されます。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

SrcHandleが0でScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

PixelTypeにはデータソースがサポートしている値を設定してください。


IKScanGetCapEnum

【機能】

データソースから指定した項目の設定可能値を取得します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKScanGetCapEnum(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, WORD *ConType, float *List, LPSTR StringList, DWORD *CurrentIndex, DWORD *DefaultIndex, DWORD ListNum);

(2)Delphi

function IKScanGetCapEnum(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; CapNo: Word; var ConType: Word; var List: Single; StringList: PAnsiChar; var CurrentIndex, DefaultIndex: DWORD; ListNum: DWORD): DWORD;

(3)Visual Basic

Function IKScanGetCapEnum(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal CapNo As Integer, ConType As Integer, List As Single, ByVal StringList As String, CurrentIndex As Long, DefaultIndex As Long, ByVal ListNum As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
CapNo | 取得する項目番号（16進表記） 0x0100 圧縮方法 0x0101 ピクセルタイプ 0x0102 取り込み単位 0x0103 転送方法 0x1100 明るさの自動化(*1) 0x1101 明るさ 0x1103 コントラスト 0x1108 ガンマ 0x1109 ハーフトーン 0x110a ハイライト 0x110c ファイルフォーマット 0x110e ドロップアウトカラー 0x1110 用紙の向き 0x1113 シャドウ 0x1118 X方向解像度 0x1119 Y方向解像度 0x1121 回転角度 0x1122 用紙サイズ 0x1123 しきい値 0x1124 X方向スケーリング 0x1125 Y方向スケーリング 0x112c 色深度の減少方法 0x1147 イメージフィルタ 0x1148 ノイズフィルタ 0x1149 オーバースキャン 0x1153 JPEG品質係数 0x115c 両面合成 0xf001 読み取り速度 0xf002 モアレフィルタ 0xf004 シャープネス 0xf006 拡張UIモード 0xf007 ダイナミックスレッシュホールド 0xf00b 白紙ページ除去 0xf00e テキストエンハンスメント ※Delphiは0xを$に、Visual Basicは0xを&Hに置き換えてください。
ConType | 項目の型を取得する変数
List | 項目値を取得する配列（CapNoがハーフトーン以外を表す場合に使用） (1)C++Builder/Visual C++配列の先頭のポインタを渡す (2)DelphiLt: array [0..2] of Singleの場合は、Lt[0]を与える (3)Visual BasicDim Lt(0 To 2) As Singleの場合は、Lt(0)を与える
StringList | 文字列を取得する変数（CapNoがハーフトーンを表す場合に使用）
CurrentIndex | 現在値を示すListへのインデックス（インデックスは0から始まります） List[CurrentIndex] = 現在値
DefaultIndex | デフォルト値を示すListへのインデックス（インデックスは0から始まります） List[DefaultIndex] = デフォルト値
ListNum | Listの要素数

【戻り値】

CapNoがハーフトーンを表す場合

StringListがNULL(C++Builder/Visual C++),nil(Delphi),vbNullString(Visual Basic)のいずれかの場合は、取得する際に必要な文字列のサイズを返します。（終端のヌルは除く）

StringListに変数を指定した場合は、取得した数を返します。

CapNoがハーフトーン以外を表す場合

ConType=3もしくは4の場合は取得した数を返します。

ConType=5の場合は1、ConType=6の場合は5を返します。（固定）

ListがNULLもしくはListNumが0の場合は、取得する際に必要な配列の要素数を返します。

0の場合はエラーとなりますので、エラーステータスを確認してください。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

SrcHandleが0でScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

SrcHandleが0もしくは本コマンドを実行した後でデータソースをクローズし、再度データソースをオープンして本コマンドを実行した場合、データソースによっては項目に設定された値がクリアされCurrentIndexとDefaultIndexが同じになる場合があります。

CapNoがハーフトーンを表す場合、List配列は使用しませんので、ダミー配列やNULLを引数として与えてください。ListNumも使用しませんので0などを与えてください。CapNoがハーフトーン以外を表す場合、StringListは使用しませんので、空文字列やNULLもしくはダミー変数を与えてください。

ConTypeに設定される値について

（0：関数の戻り値が0の場合、3:配列型、4:列挙型、5：単一型、6：範囲型）

CapNoがハーフトーンを表す場合

ConType=3の場合、StringListに値が設定され、CurrentIndexとDefaultIndexは無効となります。

ConType=4の場合、StringListに値が設定されます。

ConType=5の場合、StringListに現在値が設定されます。

ConType=6の場合はありません。

CapNoがハーフトーン以外を表す場合

ConType=3の場合、List配列に値が設定され、CurrentIndexとDefaultIndexは無効となります。

ConType=4の場合、List配列に値が設定されます。

ConType=5の場合、List[0]に現在値が設定されます。

ConType=6の場合、List[0]に最小値が、List[1]に最大値が、List[2]にステップ値が、List[3]にデフォルト値が、List[4]に現在値がそれぞれ設定されます。

Listに設定される値の内容

CapNoが圧縮方法を表す場合:

0:非圧縮、1：PACKBITS、2：GROUP3-1D、3:GROUP3-1DEOL、4:GROUP3-2D、5:GROUP4、6：JPEG

7：LZW、8:JBIG、9:PNG、10：RLE4、11: RLE8、12:BITFIELDS

（2, 3, 4, 5はFAX[CCITT]、10, 11, 12はBMP形式）

CapNoがピクセルタイプを表す場合:

0:白黒2値、1：グレースケール、2：RGBカラー、3:パレットカラー

（データソースによっては4～8が設定される場合もあります）

CapNoが取り込み単位を表す場合:

0:インチ、1:cm、2:パイカ、3:ポイント、4:twip、5:ピクセル、6：mm

CapNoが転送方法を表す場合：

0：ネイティブ、1：ファイル、2:メモリ、3：ファイル2

CapNoがファイルフォーマットを表す場合:

0：TIFF、1:PICT、2：BMP、3:XBM、4:JFIF(JPEG)、5:FPX、6：TIFF MULTI、7：PNG、8:SPIFF、9:EXIF、10:PDF、11:JP2(JPEG2000 Part1)、13:JPX(JPEG2000 Part2)、14:DEJAVU、15:PDF/A(Version 1)、16:PDF/A(Version 2)

CapNoがドロップアウトカラーを表す場合:

0：赤、1:緑、2：青、3:なし、4：白

（データソースによっては5, 6が設定される場合もあります）

CapNoが用紙の向きを表す場合:

0:0度（ポートレイト）、1:90度、2：180度、3：270度（ランドスケープ）

CapNoが用紙サイズを表す場合:

0：ユーザ定義サイズ、1：A4、2:JIS B5、3：USレター、4：USリーガル、5：A5、6：ISO B4、7：ISO B6、9：USレジャー

10：USエグゼクティブ、11:A3、12：ISO B3、13：A6、14：C4、15：C5、16：C6、17:4A0、18:2A0、19：A0、20：A1、21：A2

22：A7、23：A8、24：A9、25：A10、26：ISO B0、27：ISO B1、28：ISO B2、29：ISO B5、30：ISO B7、31：ISO B8

32：ISO B9、33：ISO B10、34：JIS B0、35：JIS B1、36：JIS B2、37：JIS B3、38：JIS B4、39：JIS B6、40：JIS B7、41：JIS B8

42：JIS B9、43：JIS B10、44：C0、45：C1、46：C2、47：C3、48：C7、49：C8、50：C9、51：C10、52：USステイトメント

53：ビジネスカード、54：最大サイズ

CapNoが色深度の減少方法を表す場合:

0：しきい値、1：ハーフトーン、2：カスタムハーフトーン、3：拡散、4：動的しきい値

CapNoがイメージフィルタを表す場合:

0：なし、1:自動、2：LOWPASS、3:BANDPASS、4: HIGHPASS

CapNoがノイズフィルタを表す場合:

0：なし、1:自動、2：LONEPIXEL、3:MAJORITYRULE

CapNoがオーバースキャンを表す場合:

0：指定されたサイズで読み取り、1:指定されたサイズを考慮して自動で読み取り

2：指定されたサイズを基に上下を広げて読み取り、3:指定されたサイズを基に左右を広げて読み取り

4:指定されたサイズを基に上下左右を広げて読み取り

CapNoが両面合成を表す場合:

0：なし（合成しない）、1:指定されたサイズを考慮して自動で読み取り

2：裏面が上で表面が下になる（上下の貼り合わせ）、3:表面が左で裏面が右になる（左右の貼り合わせ）

4:裏面が左で表面が右になる（左右の貼り合わせ）

CapNoが読み取り速度を表す場合:

エプソン製スキャナ用ドライバおよびパナソニック製スキャナ用ドライバご利用時に有効です。

(1)エプソン製スキャナ用ドライバ 0：品質優先、1:速度優先

(2)パナソニック製スキャナ用ドライバ 0：低速、 1:通常、2：高速

CapNoがモアレフィルタを表す場合:

エプソン製スキャナ用ドライバ、キヤノン製DRスキャナ用ドライバ、PFU製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。

(1)エプソン製スキャナ用ドライバ

0：なし、1:標準、2:85lpi（新聞など）、3:133lpi（週刊誌やカタログなど）、4：175lpi（写真など）

(2)キヤノン製DRスキャナ用ドライバ

1：なし、2:高速、3:高画質

(3)PFU製スキャナ用ドライバ

0：なし、1:モアレ除去レベル1、2:モアレ除去レベル2、3:モアレ除去レベル3、4:モアレ除去レベル4

(4)パナソニック製スキャナ用ドライバ

0：なし、1:あり

CapNoがシャープネスを表す場合:

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

キヤノン製DRスキャナ用ドライバでは「エッジ強調」、エプソン製スキャナ用ドライバでは「アンシャープマスク」、パナソニック製スキャナ用ドライバでは「画質」、PFU製スキャナ用ドライバでは「輪郭強調」という表現を用いています。

(1)キヤノン製DRスキャナ用ドライバ 1から5

(2)エプソン製スキャナ用ドライバ 0：なし、1:小、2:中（デフォルト）、3:大

(3)パナソニック製スキャナ用ドライバ 0：なし、1:スムーズ、2:低、3:標準、4:高、5:自動

(4)PFU製スキャナ用ドライバ 0：なし、1:弱、2:中、3:強

CapNoが拡張UIモードを表す場合:

エプソン製スキャナ用ドライバご利用時に有効です。

0：前回設定のUIモードで起動、1:プロフェッショナルモードで起動、2:全自動モードで起動、3:ホームモードで起動

4：全自動モードで起動（エラーメッセージを除き、UI非表示）、5：オフィスモードで起動

CapNoがダイナミックスレッシュホールドを表す場合:

パナソニック製スキャナ用ドライバご利用時に有効です。

0：なし、1:明るい、2:少し明るい、3:標準、4：少し暗い、5：暗い

CapNoがテキストエンハンスメントを表す場合:

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。

(1)キヤノン製DRスキャナ用ドライバ

0:適用しない、1:テキストエンハンスメント、2:アドバンスドテキストエンハンスメント、3:高速テキストエンハンスメント

4, 5:アドバンスドテキストエンハンスメントⅡ

(2)エプソン製スキャナ用ドライバ

0：適用しない、1:文字くっきり（標準）、2:文字くっきり（強）

CapNoが明るさの自動化、明るさ、コントラスト、ガンマ、ハイライト、シャドウ、X方向解像度、Y方向解像度、回転角度、しきい値、X方向スケーリング、Y方向スケーリング、JPEG品質係数、白紙ページ除去を表す場合は設定可能な値となります。

ただし、ConType=6の場合はIKScanGetCapRangeを実行した結果と同じとなります。

(*1)データソースがTWAIN2.0以降に対応している場合は設定可能な値となりますが、それ以外は現在値となります。

StringListに設定される文字列の内容

CapNoがハーフトーンを表す場合、ハーフトーンを表す名称が設定されます。

名称が1つの場合: "XXX,"

名称が複数の場合: "XXX,YYY,・・・・・・,"

XXXとYYYは名称を表し、名称の間はカンマで区切られ、終了を表すターミネータもカンマとなります。

【ImageKit6との違い】

CapNoにファイルフォーマット、ドロップアウトカラー、イメージフィルタ、ノイズフィルタ、JPEG品質係数、読み取り速度、モアレフィルタ、シャープネス、拡張UIモード、ダイナミックスレッシュホールドの値が追加されました。

【ImageKit7との違い】

CapNoに回転角度、オーバースキャン、白紙ページ除去、テキストエンハンスメントの値が追加されました。

【ImageKit8との違い】

CapNoに両面合成の値が追加されました。

【ImageKit9との違い】

CapNoに明るさの自動化の値が追加されました。


IKScanGetCapRange

【機能】

データソースから指定した項目の範囲を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanGetCapRange(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, WORD *ConType, PTR_IKSCAN_RANGE Value);

(2)Delphi

function IKScanGetCapRange(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; CapNo: Word; var ConType: Word; var Value: IKSCAN_RANGE): LongBool;

(3)Visual Basic

Function IKScanGetCapRange(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal CapNo As Integer, ConType As Integer, Value As IKSCAN_RANGE) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
CapNo | 取得する項目番号（16進表記） 0x1101 明るさ 0x1103 コントラスト 0x1108 ガンマ 0x110a ハイライト 0x1113 シャドウ 0x1118 X方向解像度 0x1119 Y方向解像度 0x1121 回転角度 0x1123 しきい値 0x1124 X方向スケーリング 0x1125 Y方向スケーリング 0x1153 JPEG品質係数 0xf004 シャープネス 0xf00b 白紙ページ除去 0xf00d 焦点位置 ※Delphiは0xを$に、Visual Basicは0xを&Hに置き換えてください。
ConType | 項目の型を取得する変数
Value | 範囲を取得する構造体（ユーザ定義型）変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

SrcHandleが0でScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

Valueは、範囲を取得する構造体（ユーザ定義型）変数です。

IKSCAN_RANGEについては、「Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll」の構造体の定義をご覧ください。

ConTypeに設定される値について

（0：関数の戻り値がFalse(0)の場合、3:配列型、4:列挙型、5：単一型、6：範囲型）

ConType=3または4の場合、Value.Maxに項目を取得する際に必要な要素数が設定されますので、その要素数を基にIKScanGetCapEnumを実行してください。

ConType=5の場合、Value.Currentに現在値が、Value.Defaultにデフォルト値が設定されます。

ConType=6の場合、Valueの全てのメンバーに値が設定されます。

【ImageKit6との違い】

CapNoにJPEG品質係数の値が追加されました。

【ImageKit7との違い】

CapNoに回転角度、シャープネス、白紙ページ除去、焦点位置の値が追加されました。


IKScanGetDSInfo

【機能】

指定したデータソースの情報を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanGetDSInfo(HANDLE AppHandle, LPCSTR ScanDsName, PTR_IKSCAN_DATASOURCEINFO DS);

(2)Delphi

function IKScanGetDSInfo(AppHandle: THandle; ScanDsName: PAnsiChar; var DS: IKSCAN_DATASOURCEINFO): LongBool;

(3)Visual Basic

Function IKScanGetDSInfo(ByVal AppHandle As Long, ByVal ScanDsName As String, DS As KSCAN_DATASOURCEINFO) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
ScanDsName | データソース名
DS | データソースの情報を取得する構造体（ユーザ定義型）変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ScanDSNameに""やNULLを設定した場合は、IKScanSelectで選択されたデータソースが対象となります。DSは、データソースの情報を取得する構造体（ユーザ定義型）変数です。

IKSCAN_DATASOURCEINFOについては、「Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll」の構造体の定義をご覧ください。

【ImageKit6との違い】

IKSCAN_DATASOURCEINFO構造体の一部のメンバー変数の型が4バイト型から2バイト型に変更されました。


IKScanGetMinimumSize, IKScanGetMinimumSizeEx

【機能】

データソースから取り込める最小サイズを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanGetMinimumSize(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, float *Width, float *Height);

BOOL IKScanGetMinimumSizeEx(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, int Xdpi, int Ydpi, float *Width, float *Height);

(2)Delphi

function IKScanGetMinimumSize(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; var Width, Height: Single): LongBool;

function IKScanGetMinimumSizeEx(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; Xdpi, Ydpi: Integer; var Width, Height: Single): LongBool;

(3)Visual Basic

Function IKScanGetMinimumSize(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, Width As Single, Height As Single) As Long

Function IKScanGetMinimumSizeEx(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, ByVal Xdpi As Long, ByVal Ydpi As Long, Width As Single, Height As Single) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
ScanMode | 取り込みモード（0:反射原稿-原稿台、1:反射原稿-ADF片面、2:反射原稿-ADF両面）
UnitMode | 取り込み単位（0:インチ、1:cm、2:パイカ、3:ポイント、4:twip、5:ピクセル、6:mm）
Xdpi | UnitModeが5の場合のX方向解像度(DPI単位)、IKScanGetMinimumSizeExで使用
Ydpi | UnitModeが5の場合のY方向解像度(DPI単位)、IKScanGetMinimumSizeExで使用
Width | 取り込める最小幅を取得する変数
Height | 取り込める最小高さを取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

UnitModeにはデータソースがサポートしている値を設定してください。

Width、HeightにはScanModeおよびUnitModeに応じた値が設定されます。IKScanGetMinimumSizeではUnitModeが5（ピクセル）の場合は現在の解像度（DPI）に応じた値となりますが、IKScanGetMinimumSizeExではXdpiとYdpiに応じた値となります。

【ImageKit7との違い】

IKScanGetMinimumExが追加されました。


IKScanGetPhysicalSize, IKScanGetPhysicalSizeEx

【機能】

データソースから取り込める最大物理サイズを取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanGetPhysicalSize(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, float *Width, float *Height);

BOOL IKScanGetPhysicalSizeEx(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, int Xdpi, int Ydpi, float *Width, float *Height);

(2)Delphi

function IKScanGetPhysicalSize(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; var Width, Height: Single): LongBool;

function IKScanGetPhysicalSizeEx(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; Xdpi, Ydpi: Integer; var Width, Height: Single): LongBool;

(3)Visual Basic

Function IKScanGetPhysicalSize(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, Width As Single, Height As Single) As Long

Function IKScanGetPhysicalSizeEx(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, ByVal Xdpi As Long, ByVal Ydpi As Long, Width As Single, Height As Single) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
ScanMode | 取り込みモード（0:反射原稿-原稿台、1:反射原稿-ADF片面、2:反射原稿-ADF両面、7：透過原稿-ポジフィルム、フィルムホルダ使用、8：透過原稿--ポジフィルム、フィルムエリアガイド使用）
UnitMode | 取り込み単位（0:インチ、1:cm、2:パイカ、3:ポイント、4:twip、5:ピクセル、6:mm）
Xdpi | UnitModeが5の場合のX方向解像度(DPI単位)、IKScanGetPhysicalSizeExで使用
Ydpi | UnitModeが5の場合のY方向解像度(DPI単位)、IKScanGetPhysicalSizeExで使用
Width | 取り込める最大物理幅を取得する変数
Height | 取り込める最大物理高さを取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

ScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

UnitModeにはデータソースがサポートしている値を設定してください。

Width、HeightにはScanModeおよびUnitModeに応じた値が設定されます。IKScanGetPhysicalSizeではUnitModeが5（ピクセル）の場合は現在の解像度（DPI）に応じた値となりますが、IKScanGetPhysicalSizeExではXdpiとYdpiに応じた値となります。

【ImageKit5との違い】

関数名 | 引数の並び
IK5ScanGetPhysicalSize | hWnd, ScanDsName, ScanMode, Width, Height
IKScanGetPhysicalSize | AppHandle, SrcHandle, ScanDsName, ScanMode, UnitMode, Width, Height

IK6からhWndをIKScanInitializeで渡し、その戻り値のAppHandleを使用します。

【ImageKit7との違い】

IKScanGetPhysicalSizeExが追加されました。


IKScanGetPixelType

【機能】

データソースがサポートしているピクセルタイプを取得します。

【関数書式】

(1)C++Builder/Visual C++

DWORD IKScanGetPixelType(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD *List, WORD ListNum);

(2)Delphi

function IKScanGetPixeltype(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; var List: Word; ListNum: Word): DWORD;

(3)Visual Basic

Function IKScanGetPixeltype(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, List As Integer, ByVal ListNum As Integer) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
List | ピクセルタイプを取得する配列 (1)C++Builder/Visual C++ 配列の先頭のポインタを渡す (2)Delphi List: array [0..3] of Wordの場合は、引数にList[0]を与える (3)Visual Basic Dim x(0 To 3) As Integerの場合は、引数にList(0)を与える
ListNum | Listの要素数

【戻り値】

ListとListNumを設定した場合

取得した数を返します。0の場合はエラーとなりますのでエラーステータスを確認してください。

ListがNULLもしくはListNumが0の場合

取得する際に必要な配列の要素数を返します。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

List配列に取得する値は0～3となり、IKSCAN_EXECのメンバーのPixelTypeに設定する値と同様となります。IKSCAN_EXECについては、「Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll」の構造体の定義をご覧ください。

ScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

このコマンドはImageKit5の互換性のために用意してありますが、同等な機能を提供するものとしてIKScanGetCapEnumもあります。

【ImageKit5との違い】

関数名 | 引数の並び
IK5ScanGetPixeltype | hWnd, ScanDsName, List, ListNum
IKScanGetPixelType | AppHandle, SrcHandle, ScanDsName, List, ListNum

関数名のPixeltypeのtが大文字に変更されました。

IK6からhWndをIKScanInitializeで渡し、その戻り値のAppHandleを使用します。

戻り値についても成功もしくは失敗から、要素数を返すように変更されています。


IKScanInitialize

【機能】

TWAINの初期化を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKScanInitialize(HWND hWnd, WORD MajorNum, WORD MinorNum, LPCSTR VersionInfo, LPCSTR Manufacturer, LPCSTR ProductFamily, LPCSTR ProductName);

(2)Delphi

function IKScanInitialize(hWnd: HWND; MajorNum, MinorNum: Word; VersionInfo, Manufacturer, ProductFamily, ProductName: PAnsiChar): THandle;

(3)Visual Basic

Function IKScanInitialize(ByVal HWND As Long, ByVal MajorNum As Integer, ByVal MinorNum As Integer, ByVal VersionInfo As String, ByVal Manufacturer As String, ByVal ProductFamily As String, ByVal ProductName As String) As Long

【引数】

名称 | 内容
hWnd | フォームのウィンドウハンドル
MajorNum | アプリケーションのメジャーバージョン番号（バージョンが1.00の場合は1）
MinorNum | アプリケーションのマイナーバージョン番号（バージョンが1.00の場合は0）
VersionInfo | アプリケーションのバージョン情報（32バイト以内）
Manufacturer | 製造者名（32バイト以内）
ProductFamily | 製品ファミリー名（32バイト以内）
ProductName | 製品名（32バイト以内）

【戻り値】

アプリケーションハンドルを返します。（実行に失敗した場合は0）

【解説】

TWAINによる機能を使用する場合、必ず実行する必要があります。

MajorNum、MinorNum、VersionInfo、Manufacturer、ProductFamily、ProductNameはTWAINに対してアプリケーションの情報を通知するために使用されます。

戻り値のアプリケーションハンドルはスキャン関連の関数で使用します。


IKScanIsCapSupported

【機能】

データソースから指定した項目がサポートされているかどうかを確認します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanIsCapSupported(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, int *Value);

(2)Delphi

function IKScanIsCapSupported(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; CapNo: Word; var Value: Integer): LongBool;

(3)Visual Basic

Function IKScanIsCapSupported(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal CapNo As Integer, Value As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SrcHandle | IKScanOpenDSで取得したデータソースハンドルもしくは0
ScanDsName | データソース名（SrcHandleが0の場合は必須）
CapNo | 取得する項目番号（16進表記） 0x1002 ドキュメントフィーダー機能 0x1003 ドキュメントフィーダーに用紙があるかどうかを確認する機能 0x100b インジケータ 0x100e UIコントロール機能 0x100f デバイスの稼動状態の確認機能 0x1011 サムネイル画像の転送機能 0x1012 ドキュメントフィーダーの両面機能 0x1014 設定用UI表示機能 0x1015 UI設定値の取得/設定機能 0x1100 明るさの自動化 0x112d 未定義サイズ 0x112e デジタルカメラ内の画像枚数 0x1150 自動領域切り出し機能 0x1151 デスキュー（傾き補正） 0xf003 モアレフィルタ使用時の最大有効解像度 0xf005 ADFを使用した両面スキャン時の裏面回転 0xf008 白黒/カラー自動判別読み取り機能 0xf009 マルチストリーム 0xf00a 文字向き検知または自動回転 0xf00c パンチ穴除去 0xf00f 境界補正 0xf010 ガンマ補正 ※Delphiは0xを$に、Visual Basicは0xを&Hに置き換えてください。
Value | 状態を取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SrcHandleにIKScanOpenDSで取得した値を使用すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

SrcHandleが0でScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

Valueに設定される値について

CapNoがドキュメントフィーダー機能を示す場合、0:フィーダー使用不可（原稿台使用可）, 1:フィーダー使用可, 2: 原稿台とフィーダー使用可。

CapNoがドキュメントフィーダーに用紙があるかどうかの機能を示す場合、0:用紙なし, 1:用紙あり。

CapNoがインジケータを示す場合、0:インジケータ使用不可, 1:インジケータ使用可。

CapNoがUIコントロール機能を示す場合、0:メーカ提供UIのみ, 1:メーカ提供UI非表示可。

CapNoがデバイスの稼動状態の確認機能を示す場合、現在の状態を表します。（0:応答なし, 1:使用可）

CapNoがサムネイル画像の転送機能を示す場合、0:サムネイル転送不可, 1:サムネイル転送可。

CapNoがドキュメントフィーダーの両面機能を示す場合、0:両面スキャン不可, 1:1回の読み取りで両面スキャン、2:2回の読み取りで両面スキャン。

CapNoが設定用UI表示機能を示す場合、0:設定用UI表示不可, 1:設定用UI表示可。

CapNoがUI設定値の取得/設定機能を示す場合、0:UI設定値の取得/設定不可, 1: UI設定値の取得/設定可。

CapNoが明るさの自動化を示す場合、0:明るさの自動不可, 1:明るさの自動可。

CapNoが未定義サイズを示す場合、一般的には「0:未定義サイズ使用不可, 1:未定義サイズ使用可」となりますが、エプソン製スキャナ用ドライバご利用時には次の値が設定されます。「0：使用不可, 1:原稿台のみ可, 2:ADFのみ可, 3:原稿台,ADFとも可」。

CapNoがデジタルカメラ内の画像枚数を示す場合、撮影した画像の数を表します。

CapNoが自動領域切り出し機能を示す場合、0:領域切り出し不可, 1:領域切り出し可。

CapNoがデスキュー（傾き補正）を示す場合、0:デスキュー使用不可, 1:デスキュー使用可, 2:デスキュー滑らかオプション使用可。2が設定されるのはパナソニック製スキャナ用ドライバご利用時のみですが、その場合は1も使用可能です。

CapNoがモアレフィルタ使用時の最大有効解像度を示す場合、最大有効解像度を表します。エプソン製スキャナ用ドライバご利用時に有効です。

CapNoがADFを使用した両面スキャン時の裏面回転を示す場合、0：裏面回転不可, 1:裏面回転可。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ『EPSON Scan』ご利用時に有効です。

CapNoが白黒/カラー自動判別読み取り機能を示す場合、0:白黒/カラー自動判別読み取り不可, 1:白黒/カラー自動判別読み取り可。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

CapNoがマルチストリームを示す場合、0:マルチストリーム不可, 1:マルチストリーム可。マルチストリームとは1枚の原稿から2つの異なるピクセルタイプの画像を取得することです。キヤノン製DRスキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。

CapNoが文字向き検知または自動回転を示す場合、0:文字向き検知または自動回転不可, 1:文字向き検知または自動回転可。文字向き検知についてはキヤノン製DRスキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。キヤノン製DRスキャナ用ドライバでは「文字向き検知」、パナソニック製スキャナ用ドライバでは「原稿方向補正」という表現を用いています。

また、TWAIN仕様書に記載されている自動回転に対応しているドライバについても確認できます。

CapNoがパンチ穴除去を示す場合、0:パンチ穴除去不可, 1:パンチ穴除去可。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

CapNoが境界補正を示す場合、0:境界補正不可, 1:境界補正可。エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。

CapNoがガンマ補正を示す場合、0:ガンマ補正不可, 1:ガンマ補正可。エプソン製スキャナ用ドライバご利用時に有効です。

※関数の戻り値がFalse(0)の場合にはValueは設定されません。

【ImageKit6との違い】

CapNoに未定義サイズ、自動領域切り出し機能、デスキュー、モアレフィルタ使用時の最大有効解像度、ADFを使用した両面スキャン時の裏面回転の値が追加されました。

【ImageKit7との違い】

CapNoに設定用UI表示機能、UI設定値の取得/設定機能、マルチストリーム、文字向き検知または自動回転、パンチ穴除去の値が追加されました。また、ドキュメントフィーダー機能でValueに新たに2が設定されるようになりました。

【ImageKit8との違い】

CapNoに境界補正、ガンマ補正の値が追加されました。

【ImageKit9との違い】

CapNoに明るさの自動化の値が追加されました。


IKScanList

【機能】

データソースを列挙します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanList(HANDLE AppHandle, LPSTR List, short *SourceCount);

(2)Delphi

function IKScanList(AppHandle: THandle; List: PAnsiChar; var SourceCount: Smallint): LongBool;

(3)Visual Basic

Function IKScanList(ByVal AppHandle As Long, ByVal List As String, SourceCount As Integer) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
List | データソースの列挙文字列を取得する変数
SourceCount | インストールされているデータソースの数を取得する変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

※Listには大きめのサイズを確保してください。

(1)C++Builder/Visual C++

char List[1024];

(2)Delphi

List: array[0..1023] of AnsiChar;

(3)Visual Basic

Dim List As String * 1024

戻り値がTrue(0以外)の場合、List文字列は"カレント,xxxxx,xxxxx,xxxxx,････････,"となり、名称はカンマで区切られて設定されます（終了は","です）。データソースが何も選択されていない場合は","から始まります。

カレントは現在選択されているデータソースとなります。

SourceCountはList文字列の最初の項目（カレント）を除いた項目数と同じです。

【ImageKit5との違い】

関数名 | 引数の並び
IK5ScanList | hWnd, List
IKScanList | AppHandle, List, SourceCount

IK6からhWndをIKScanInitializeで渡し、その戻り値のAppHandleを使用します。


IKScanListLen

【機能】

データソースを列挙した文字列の長さを返します。

【関数書式】

(1)C++Builder/Visual C++

int IKScanListLen(HANDLE AppHandle);

(2)Delphi

function IKScanListLen(AppHandle: THandle): Integer;

(3)Visual Basic

Function IKScanListLen(ByVal AppHandle As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル

【戻り値】

データソースを列挙した文字列の長さ（0は失敗）

【解説】

データソースを列挙した文字列の長さを返します。（終端のヌルは除く）

【ImageKit5との違い】

関数名 | 引数の並び
IK5ScanListLen | hWnd
IKScanListLen | AppHandle

IK6からhWndをIKScanInitializeで渡し、その戻り値のAppHandleを使用します。


IKScanLoadTwain

【機能】

TWAIN DLLをロードします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanLoadTwain(LPCSTR FileName);

(2)Delphi

function IKScanLoadTwain(FileName: PAnsiChar): LongBool;

(3)Visual Basic

Function IKScanLoadTwain(ByVal FileName As String) As Long

【引数】

名称 | 内容
FileName | TWAIN DLLのファイル名（フルパス）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

32ビット用のDLLでtwain_32.dll(Windowsフォルダ)を使用する場合や64ビット用のDLLで64ビット用のTWAINDSM.dll(Windows\System32フォルダ)を使用する場合は当関数を実行する必要はありません（ImageKit内で自動的にロード/解放が行われます）。

32ビット用のDLLで32ビット用のTWAINDSM.dllを使用する場合に当関数を実行してください。

IKScanLoadTwain はIKScanInitializeより前に実行してください。


IKScanOpenDS

【機能】

データソースをオープンします。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKScanOpenDS(HANDLE AppHandle, LPCSTR ScanDsName);

(2)Delphi

function IKScanOpenDS(AppHandle: THandle; ScanDsName: PAnsiChar ): THandle;

(3)Visual Basic

Function IKScanOpenDS(ByVal AppHandle As Long, ByVal ScanDsName As String) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
ScanDsName | オープンするデータソース名

【戻り値】

データソースハンドルを返します。（実行に失敗した場合は0）

【解説】

ScanDsNameに空文字列を指定する場合は、予めIKScanSelectを実行しておいてください。

（""やNULLを設定した場合、IKScanSelectで選択されたデータソースとなります。）

IKScanOpenDSを実行すると、IKScanCloseDSを実行する前までの間、オープンしたデータソースを占有することができ、他のアプリケーションからは利用できなくなります。


IKScanSelect

【機能】

データソースの選択を実行します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanSelect(HANDLE AppHandle, PTR_IKSCAN_DATASOURCEINFO SelectDS);

(2)Delphi

function IKScanSelect(AppHandle: THandle; var SelectDS: IKSCAN_DATASOURCEINFO): LongBool;

(3)Visual Basic

Function IKScanSelect(ByVal AppHandle As Long, SelectDS As IKSCAN_DATASOURCEINFO) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル
SelectDS | 選択されたデータソースの情報を取得する変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKScanSelectを実行すると、TWAINで用意されているデータソースの選択用ダイアログが表示され、データソースの選択が可能になります。成功した場合、SelectDSに選択されたデータソースの情報が設定されます。

IKSCAN_DATASOURCEINFOについては、「Ik10Scan.dll/Ik10ScanA.dll/Ik10Scan64.dll/Ik10Scan64A.dll」の構造体の定義をご覧ください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5ScanSelect | hWnd
IKScanSelect | AppHandle, SelectDS

IK6からhWndをIKScanInitializeで渡し、その戻り値のAppHandleを使用します。

【ImageKit6との違い】

IKSCAN_DATASOURCEINFO構造体の一部のメンバー変数の型が4バイト型から2バイト型に変更されました。


IKScanTerminate

【機能】

TWAINの終了処理を行います。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKScanTerminate(HANDLE AppHandle);

(2)Delphi

function IKScanTerminate(AppHandle: THandle): LongBool;

(3)Visual Basic

Function IKScanTerminate(ByVal AppHandle As Long) As Long

【引数】

名称 | 内容
AppHandle | IKScanInitializeで取得したアプリケーションハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

TWAINの終了処理を行うと共に、IKScanInitializeで取得したアプリケーションハンドルを解放します。AppHandleに無効な値を設定した場合はエラーとなります。


IKSelectImage, IKSelectImageEx

【機能】

選択範囲を基にラスタイメージとマスクイメージの部分生成を行います。

【関数書式】

(1)C++Builder

BOOL IKSelectImageEx(HANDLE Handle, PTR_IKSELECT_IMAGE DstHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSelectImageEx(Handle: THandle; var DstHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSelectImage(ByVal Handle As Long, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE

(4)Visual C++

IKSELECT_IMAGE IKSelectImage(HANDLE Handle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

【引数】

名称 | 内容
Handle | ラスタイメージのハンドル（1, 4, 8, 16, 24, 32ビットイメージ）
DstHandle | 処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ） （実行に失敗した場合はそれぞれのメンバーに0が返されます） ※DstHandleはIKSelectImageExの場合に使用
SelectMode | 選択範囲の種類の指定（1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | 選択外領域の赤の値(0～255)
Green | 選択外領域の緑の値(0～255)
Blue | 選択外領域の青の値(0～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

IKSelectImage:

処理後のラスタイメージとマスクハンドルの構造体（各メンバーのイメージの大きさは同じ）

（実行に失敗した場合はそれぞれのメンバーに0が返されます）

IKSelectImageEx:

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

選択した領域を含む最小限な矩形を生成して、IKSELECT_IMAGEの構造体のメンバーにそれぞれのイメージハンドルをセットします。

戻り値としてセットされるラスタイメージ（マスクイメージでない）の選択した領域外は、Red、Green、Blueで指定されたRGB値により塗り潰されます。マスクイメージは、選択した領域が白で塗り潰されます。（領域外は黒）

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

C++Builder、Delphiでご利用の場合は、必ずIKSelectImageExをご使用ください。

矩形の切り出しでマスクイメージが不要な場合は、IKCutRectImage関数を使用することにより処理速度が向上します。


IKSetDefaultPrinter

【機能】

通常使うプリンタ（デフォルトプリンタ）を設定します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetDefaultPrinter(LPCTSTR PrinterName);

(2)Delphi

function IKSetDefaultPrinter(PrinterName: PChar): LongBool;

(3)Visual Basic

Function IKSetDefaultPrinter(ByVal PrinterName As String) As Long

【引数】

名称 | 内容
PrinterName | 設定するプリンタ名

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

Windowsのプリンタフォルダに登録されているプリンタを通常使うプリンタとして設定できます。

PrinterNameにはIKEnumPrinters関数で取得したリストに含まれるプリンタ名を設定します。


IKSetDevModeInfo

【機能】

DEVMODE構造体のハンドルが指す内容を更新します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetDevModeInfo(HANDLE hDevMode, PTR_IKPRINT_DEVMODEINFO DevModeInfo);

(2)Delphi

function IKSetDevModeInfo(hDevMode: THandle; var DevModeInfo: IKPRINT_DEVMODEINFO): LongBool;

(3)Visual Basic

Function IKSetDevModeInfo(ByVal hDevMode As Long, DevModeInfo As IKPRINT_DEVMODEINFO) As Long

【引数】

名称 | 内容
hDevMode | IKGetDevModeHandle(Ex)で取得したDEVMODE構造体のハンドル
DevModeInfo | 印刷情報を設定する構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

DevModeInfoで設定された情報をDEVMODE構造体のハンドルに反映させます。

DevModeInfoの各メンバー変数に0を設定した場合は、何の変更も行いません。（Collateは除く）

ただし、反映させた結果についてはプリンタドライバに依存するため、その後で印刷を行っても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

DEVMODE構造体についてはWindowsAPI関連の書籍などをご覧ください。

IKPRINT_DEVMODEINFOについては、「Ik10Print.dll/Ik10PrintA.dll/Ik10Print64.dll/Ik10Print64A.dll」の構造体の定義をご覧ください。

コード例：

(1)C++Builder/Visual C++

HANDLE hDevMode;

IKPRINT_DEVMODEINFO DevModeInfo;

BOOL Ret;

HDC hDC;

hDevMode = IKGetDevModeHandle("EPSON LP-8200C", NULL);

if (!hDevMode) return;

Ret = IKGetDevModeInfo(hDevMode, &DevModeInfo);

if (DevModeInfo.Copies != 3)

DevModeInfo.Copies = 3; //印刷部数を3に

Ret = IKSetDevModeInfo(hDevMode, &DevModeInfo);

hDC = IKPrintCreateDC(NULL, NULL, hDevMode, 2);

if (hDC)

{

//印刷処理・・・

Ret = IKPrintDeleteDC(hDC);

}

Ret = IKReleaseDevModeHandle(hDevMode);

(2)Delphi

hDevMode: THandle;

DevModeInfo: IKPRINT_DEVMODEINFO;

Ret: LongBool;

DC: HDC;

hDevMode := IKGetDevModeHandle('EPSON LP-8200C', nil);

if hDevMode = 0 then Exit;

Ret := IKGetDevModeInfo(hDevMode, DevModeInfo);

if DevModeInfo.Copies <> 3 then

DevModeInfo.Copies := 3; //印刷部数を3に

Ret := IKSetDevModeInfo(hDevMode, DevModeInfo);

DC := IKPrintCreateDC(nil, nil, hDevMode, 2);

if DC <> 0 then

begin

//印刷処理・・・

Ret := IKPrintDeleteDC(DC);

end;

Ret := IKReleaseDevModeHandle(hDevMode);

(3)Visual Basic

Dim hDevMode As Long

Dim DevModeInfo As IKPRINT_DEVMODEINFO

Dim Ret As Long

Dim hDC As Long

hDevMode = IKGetDevModeHandle("EPSON LP-8200C", vbNullString)

If hDevMode = 0 Then Exit Sub

Ret = IKGetDevModeInfo(hDevMode, DevModeInfo)

If DevModeInfo.Copies <> 3 Then

DevModeInfo.Copies = 3 '印刷部数を3に

End If

Ret = IKSetDevModeInfo(hDevMode, DevModeInfo)

hDC = IKPrintCreateDC(vbNullString, vbNullString, hDevMode, 2)

If hDC <> 0 Then

'印刷処理・・・

Ret = IKPrintDeleteDC(hDC)

End If

Ret = IKReleaseDevModeHandle(hDevMode)


IKSetDibPixel

【機能】

指定したピクセルのRGBやパレット番号をDIBに設定します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetDibPixel(PTR_IKDIB_INFO stpDibInfo, long lx, long ly);

(2)Delphi

function IKSetDibPixel(var stpDibInfo: IKDIB_INFO: lx, ly: Longint): LongBool;

(3)Visual Basic

Function IKSetDibPixel(stpDibInfo As IKDIB_INFO, ByVal lx As Long, ByVal ly As Long) As Long

【引数】

名称 | 内容
stpDibInfo | IKStartDibAccess関数で取得した構造体（ユーザ定義型）変数
lx, ly | 設定するピクセルのX, Y座標

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

1, 4, 8ビットイメージの場合はstpDibInfoのPalNoに、16, 24, 32ビットイメージの場合はstpDibInfoのRed, Green, Blueに有効な値を設定します。

IKDIB_INFOについては、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のIKDIB_INFOのメンバー変数の説明をご覧ください。

処理の流れとしては

IKStartDibAccess

|

IKGetDibPixel, IKSetDibPixel

|

IKEndDibAccess

となります。

コード例についてはIKStartDibAccessを参照してください。


IKSetDpi, IKSetDpiF

【機能】

イメージデータの解像度を設定します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetDpi(HANDLE Handle, long Xdpi, long Ydpi);

BOOL IKSetDpiF(HANDLE Handle, float Xdpi, float Ydpi);

(2)Delphi

function IKSetDpi(Handle: THandle; Xdpi, Ydpi: Longint): LongBool;

function IKSetDpiF(Handle: THandle; Xdpi, Ydpi: Single): LongBool;

(3)Visual Basic

Function IKSetDpi(ByVal Handle As Long, ByVal Xdpi As Long, ByVal Ydpi As Long) As Long

Function IKSetDpiF(ByVal Handle As Long, ByVal Xdpi As Single, ByVal Ydpi As Single) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
Xdpi | 設定するX（横）方向の1インチあたりのピクセル数
Ydpi | 設定するY（縦）方向の1インチあたりのピクセル数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

成功した場合、XdpiとYdpiをHandleの示すイメージの解像度に設定します。


IKSetGray

【機能】

ラスタイメージをグレースケールに変換します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSetGray(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSetGray(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSetGray(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージ）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

引数として与えたメモリハンドルは解放されずにそのまま残ります。

IKSetGray関数はビット数をそのままに処理を行いますので、8ビットグレースケールに変換する場合はIKConvertColor関数をご使用ください。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKSetPalette

【機能】

ラスタイメージのパレット情報を設定します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetPalette(HANDLE Handle, short *Red, short *Green, short *Blue);

(2)Delphi

function IKSetPalette(Handle: THandle; var Red, Green, Blue: Smallint): LongBool;

(3)Visual Basic

Function IKSetPalette(ByVal Handle As Long, Red As Integer, Green As Integer, Blue As Integer) As Long

【引数】

名称 | 内容
Handle | ラスタイメージのメモリハンドル
Red | 設定する赤のパレット情報の配列
Green | 設定する緑のパレット情報の配列
Blue | 設定する青のパレット情報の配列 (1)C++Builder/Visual C++ 配列の先頭のポインタを渡す (2)Delphi 引数にRed[0]のように与える (3)Visual Basic 引数にRed(0)のように与える

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

設定できるパレット数はイメージのパレット数と同じでなければなりません。パレット情報を設定するRGBのそれぞれの配列の数はIKIMAGE_INFOのPalCountになります。PalCountはIKGetImageTypeで取得できます。

IKIMAGE_INFOについては、「Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll」のIKIMAGE_INFOのメンバー変数の説明をご覧ください。


IKSetPixel

【機能】

描画先オブジェクトの指定したピクセルに指定したカラーを設定します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetPixel(LPVOID DeviceValue, int x, int y, COLORREF Color);

(2)Delphi

function IKSetPixel(DeviceValue: THandle; x, y: Integer; Color:COLORREF): LongBool;

(3)Visual Basic

Function IKSetPixel(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, ByVal Color As Long) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x,y | ピクセルの座標
Color | ピクセルの新しいカラー
DeviceMode | 描画対象（0:スクリーン、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

x,yで指定したピクセルにColorで指定したカラーを設定します。

指定のカラーをデバイスが正確に再現できない場合には、近似のカラーが用いられます。

（対象はスクリーン、メモリハンドル）

DeviceModeが0もしくは2の場合に有効になります。x, yの値はピクセル単位で設定してください。

ColorにはRGB(Red, Green, Blue)として求めた値などを設定してください。

Visual BasicのPictureBoxで使用する場合は、AutoRedrawプロパティをTrueに設定してください。

【ImageKit5との違い】

関数名 | 引数の並び
IK5SetPixel | DeviceValue, x, y, Color
IKSetPixel | DeviceValue, x, y, Color, DeviceMode

IK5SetDeviceModeで設定した値を引数のDeviceModeに渡すとIK5と同じ動作となります。


IKSetPrint

【機能】

プリンタ設定ダイアログで設定した情報をファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetPrint(HWND hWnd, LPCTSTR PrintFileName);

(2)Delphi

function IKSetPrint(hWnd: HWND; PrintFileName: PChar): LongBool;

(3)Visual Basic

Function IKSetPrint(ByVal hWnd As Long, ByVal PrintFileName As String) As Long

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
PrintFileName | プリンタ設定ファイル名

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

プリンタ設定ダイアログを表示して、設定した情報をファイルに保存します。その際に引数PrintFileName+".PrnTxt"という名称のファイルに、テキストとしてプリンタ名・出力先名を保存します。内訳は1レコード目がプリンタ名、2レコード目が出力先名となります。レコードのデリミタ（区切り）は{CR}{LF}です。

（プリンタ設定ダイアログを終了する際にOKを選択した場合、上記の2つのファイルを保存し、戻り値0以外を返します。）

保存した設定ファイルは、IKGetDevModeHandle(Ex), IKPrintCreateDC(Ex)で使用します。（テキストとして保存したファイルは使用しません。）

PrintFileNameにファイル名のみを設定すると、プリンタ設定ファイルはカレントフォルダに保存されます。


IKSetSecretImage

【機能】

透かし情報をラスタイメージに埋め込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSetSecretImage(HANDLE Handle1, HANDLE Handle2, LPCTSTR Text, LPCTSTR FName, WORD FSize, BOOL Bold, BOOL Italic, BOOL Underline, BOOL StrikeOut, BYTE Direction, int Angle, int Level, int Left, int Top, int Right, int Bottom, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSetSecretImage(Handle1, Handle2: THandle; Text, FName: PChar; FSize: Word; Bold, Italic, Underline, StrikeOut: LongBool; Direction: Byte; Angle, Level, Left, Top, Right, Bottom: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSetSecretImage(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Text As String, ByVal FName As String, ByVal FSize As Integer, ByVal Bold As Long, ByVal Italic As Long, ByVal Underline As Long, ByVal StrikeOut As Long, ByVal Direction As Byte, ByVal Angle As Long, ByVal Level As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle1 | 基となるラスタイメージのハンドル(24ビットイメージ)
Handle2 | 埋め込むラスタイメージのハンドル(1ビットイメージ)
Text | 埋め込む文字列（Ansi版はヌルを含めて128バイト以下、Unicode版はヌルを含めて128文字以下）
FName | フォントの名称（Ansi版はヌルを含めて32バイト以下、Unicode版はヌルを含めて32文字以下）
FSize | フォントのサイズ（ポイントで指定）
Bold | False(0)以外のとき、ボールド体のフォント
Italic | False(0)以外のとき、イタリック体のフォント
Underline | False(0)以外のとき、下線付きのフォント
StrikeOut | False(0)以外のとき、打ち消し線付きのフォント
Direction | 文字列の方向（0:左から右 1:右から左 2:上から下 3:下から上）
Angle | 文字の回転角度(0, 90, 180, 270)
Level | 埋め込む輝度のレベル(-20～20)
Left | Handle1のイメージに対して文字列またはHandle2のイメージを埋め込む左上のX座標
Top | Handle1のイメージに対して文字列またはHandle2のイメージを埋め込む左上のY座標
Right | Handle1のイメージに対して文字列を埋め込む右下のX座標
Bottom | Handle1のイメージに対して文字列を埋め込む右下のY座標
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル(24ビットイメージ)。実行に失敗した場合は0が返されます。

【解説】

Levelを大きくすると透かし情報を埋め込んだところが明るくなり、小さくすると透かし情報を埋め込んだところが暗くなります。UnderlineとStrikeOutは、False(0)以外でもDirectionやAngleの値により無効となる場合があります。

Left、Top、Right、Bottomはピクセル単位で設定します。

Handle2が0でない場合は、Handle2のイメージが埋め込む透かし情報となります。

Handle2が0の場合は、Textで指定した文字列が透かし情報となり、Left、Top、Right、Bottomで指定した範囲に収まるようにセットします。

128バイト以上の文字情報をセットする、もしくは複数の場所に透かし情報を埋め込みたい場合は、Handle2のイメージをそのように作成して対応してください。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKSetToClipBrd

【機能】

ラスタイメージやベクトルイメージをクリップボードへコピーします。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSetToClipBrd(HWND hWnd, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSetToClipBrd(hWnd: HWND; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSetToClipBrd(ByVal hWnd As Long, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
hWnd | 呼び出す側のウィンドウハンドル
Handle | ラスタイメージやベクトルイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対象となるイメージがベクトルの場合、EMF形式でクリップボードにコピーします。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Com.dll/Ik10ComA.dll/Ik10Com64.dll/Ik10Com64A.dll」のユーザ関数の定義をご覧ください。


IKSharp

【機能】

ラスタイメージの輪郭を強調してシャープにします。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSharp(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSharp(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSharp(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Level | シャープネスの強さ(0～100 数が大きいほど強い)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Levelを大きくすればするほど、イメージはくっきりしていきます。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKSplitRGBAImage

【機能】

RGBAの32ビットイメージからRGBとAのイメージに分割します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSplitRGBAImage(HANDLE InHandle, HANDLE *OutHandle1, HANDLE *OutHandle2, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSplitRGBAImage(InHandle: THandle; var OutHandle1, OutHandle2: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSplitRGBAImage(ByVal InHandle As Long, OutHandle1 As Long, OutHandle2 As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | RGBAの32ビットイメージのメモリハンドル
OutHandle1 | 取得するRGBの24ビットイメージのメモリハンドル
OutHandle2 | 取得するA（アルファチャンネル）の8ビットグレースケールイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。

【参照】

「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のIKPngFileLoadEx, IKPngFileSaveEx


IKStartDibAccess

【機能】

DIBへのアクセス処理を開始します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKStartDibAccess(HANDLE hDib, PTR_IKDIB_INFO stpDibInfo);

(2)Delphi

function IKStartDibAccess(hDib: THandle; var stpDibInfo: IKDIB_INFO): LongBool;

(3)Visual Basic

Function IKStartDibAccess(ByVal hDib As Long, stpDibInfo As IKDIB_INFO) As Long

【引数】

名称 | 内容
hDib | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージ）
stpDibInfo | 取得するDIB情報の構造体（ユーザ定義型）変数

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

IKEndDibAccessと対で使用します。

IKDIB_INFOについては、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のIKDIB_INFOのメンバー変数の説明をご覧ください。

処理の流れとしては

IKStartDibAccess

|

IKGetDibPixel, IKSetDibPixel

|

IKEndDibAccess

となります。

読み込んだイメージ（1, 16, 24, 32ビット）をビット反転するコード例：

(1)Delphi

Handle: THandle;

ImageInfo: IKIMAGE_INFO;

DibInfo: IKDIB_INFO;

Ret: LongBool;

i, j: Integer;

Handle := IKFileLoad('newtone.bmp', 0, 0, 0, 0, nil, nil, nil);

if Handle = 0 then Exit;

Ret := IKGetImageType(Handle, ImageInfo);

Ret := IKStartDibAccess(Handle, DibInfo);

for i := 0 to ImageInfo.Height - 1 do

begin

for j := 0 to ImageInfo.Width - 1 do

begin

Ret := IKGetDibPixel(DibInfo, j, i);

if ImageInfo.BitCount = 1 then

begin

if DibInfo.PalNo <> 0 then

DibInfo.PalNo := 0

else

DibInfo.PalNo := 1;

end

else if ImageInfo.BitCount > 8 then

begin

DibInfo.Blue := 255 - DibInfo.Blue;

DibInfo.Green := 255 - DibInfo.Green;

DibInfo.Red := 255 - DibInfo.Red;

end;

Ret := IKSetDibPixel(DibInfo, j, i);

end;

end;

Ret := IKEndDibAccess(Handle, DibInfo);

Ret := IKBmpFileSave('newtone.bmp', Handle, False, 0, nil, nil, nil);

IKFreeMemory(Handle);

(2)Visual Basic

Dim Handle As Long

Dim ImageInfo As IKIMAGE_INFO

Dim DibInfo As IKDIB_INFO

Dim Ret As Long

Dim i As Long, j As Long

Handle = IKFileLoad("newtone.bmp", 0, 0, 0, 0, "", "", "")

If Handle = 0 Then Exit Sub

Ret = IKGetImageType(Handle, ImageInfo)

Ret = IKStartDibAccess(Handle, DibInfo)

For i = 0 To ImageInfo.Height - 1

For j = 0 To ImageInfo.Width - 1

Ret = IKGetDibPixel(DibInfo, j, i)

If ImageInfo.BitCount = 1 Then

If DibInfo.PalNo <> 0 Then

DibInfo.PalNo = 0

Else

DibInfo.PalNo = 1

End If

Else If ImageInfo.BitCount > 8 Then

DibInfo.Blue = 255 - DibInfo.Blue

DibInfo.Green = 255 - DibInfo.Green

DibInfo.Red = 255 - DibInfo.Red

End If

Ret = IKSetDibPixel(DibInfo, j, i)

Next j

Next i

Ret = IKEndDibAccess(Handle, DibInfo)

Ret = IKBmpFileSave("newtone.bmp", Handle, False, 0, "", "", "")

IKFreeMemory(Handle)


IKStretchBlt

【機能】

コピー元の矩形からコピー先の矩形へイメージをコピーします。このとき、必要に応じて、コピー先の矩形に合わせてイメージを拡大または縮小します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKStretchBlt(HDC hDCDst, long XDst, long YDst, long WidthDst, long HeightDst, HDC hDCSrc, long XSrc, long YSrc, long WidthSrc, long HeightSrc, DWORD dwRop);

(2)Delphi

function IKStretchBlt(hDCDst: HDC; XDst, YDst, WidthDst, HeightDst: Longint; hDCSrc: HDC; XSrc, YSrc, WidthSrc, HeightSrc: Longint; dwRop: DWORD): LongBool;

(3)Visual Basic

Function IKStretchBlt(ByVal hDCDst As Long, ByVal XDst As Long, ByVal YDst As Long, ByVal WidthDst As Long, ByVal HeightDst As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal WidthSrc As Long, ByVal HeightSrc As Long, ByVal dwRop As Long) As Long

【引数】

名称 | 内容
hDCDst | コピー先のデバイスコンテキスト
XDst | コピー先矩形の左上隅のx座標（ピクセル）
YDst | コピー先矩形の左上隅のy座標（ピクセル）
WidthDst | コピー先矩形の幅（ピクセル）
HeightDst | コピー先矩形の高さ（ピクセル）
hDCSrc | コピー元のデバイスコンテキスト
XSrc | コピー元矩形の左上隅のx座標（ピクセル）
YSrc | コピー元矩形の左上隅のy座標（ピクセル）
WidthSrc | コピー元矩形の幅（ピクセル）
HeightSrc | コピー元矩形の高さ（ピクセル）
dwRop | ラスタオペレーションコード

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

コピー元のイメージをメモリ内で拡大または縮小し、その結果をコピー先の矩形へコピーします。拡大または縮小を行った後で、パターンまたはコピー先ピクセルの色データを組み合わせます。

WidthSrcとWidthDestの各パラメータの符号、またはHeightSrcとHeightDestの各パラメータの符号が異なる場合、ミラーイメージを作成します。WidthSrcとWidthDestの符号が異なる場合、x軸を中心にしてミラーイメージを作成します。HeightSrcとHeightDestの符号が異なる場合、y軸を中心にしてミラーイメージを作成します。

ラスタオペレーションモードはデバイスコンテキストにどのようにコピーするかを指定します。

値 | 説明
0x00000042 | コピー先の矩形を黒色で塗りつぶします。 (BLACKNESS)
0x00550009 | コピー先の矩形の色を反転します。 (DSTINVERT)
0x00C000CA | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (MERGECOPY)
0x00BB0226 | 論理OR演算子を使って、コピー元の色を反転した色と、コピー先の色を組み合わせます。 (MERGEPAINT)
0x00330008 | コピー元の色を反転して、コピー先へコピーします。 (NOTSRCCOPY)
0x001100A6 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせ、さらに反転します。 (NOTSRCERASE)
0x00F00021 | 指定したパターンをコピー先へコピーします。 (PATCOPY)
0x005A0049 | 論理XOR演算子を使って、指定したパターンの色と、コピー先の色を組み合わせます。 (PATINVERT)
0x00FB0A09 | 論理OR演算子を使って、指定したパターンの色と、コピー元の色を反転した色を組み合わせます。 さらに論理OR演算子を使って、その結果と、コピー先の色を組み合わせます。 (PATPAINT)
0x008800C6 | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCAND)
0x00CC0020 | コピー元の矩形をコピー先の矩形へそのままコピーします。 (SRCCOPY)
0x00440328 | 論理AND演算子を使って、コピー先の色を反転した色と、コピー元の色を組み合わせます。 (SRCERASE)
0x00660046 | 論理XOR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCINVERT)
0x00EE0086 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCPAINT)
0x00FF0062 | コピー先の矩形を白色で塗りつぶします。 (WHITENESS)

通常は0x00CC0020(SRCCOPY)を指定します。

※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。

（）内の説明はWindowsAPIで使用する定数と同じ意味です。


IKSvgFileLoad

【機能】

SVG形式のファイルからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSvgFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSvgFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSvgFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合はSVGファイルに格納されているサイズで読み込みます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKSvgFileLoadMem

【機能】

SVG形式のRawデータからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSvgFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSvgFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSvgFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | SVG形式のRawデータ
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合はSVG形式のRawデータに格納されているサイズで読み込みます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKSvgFileLoad関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKSvgFileSave

【機能】

ベクトルイメージのメモリハンドルをSVG形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSvgFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSvgFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSvgFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ベクトルイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKSvgFileSave("c:\abc.svg",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKSvgFileSave("ftp://www.newtone.co.jp/image/abc.svg;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKSvgFileSave("http://www.newtone.co.jp/image/abc.svg;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKSvgFileSaveMem

【機能】

ベクトルイメージのメモリハンドルをSVG形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSvgFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSvgFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSvgFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ベクトルイメージのメモリハンドル
OutHandle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKSvgFileSave関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKSxfP21FileLoad, IKSxfSfcFileLoad

【機能】

SXF形式のファイルからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSxfP21FileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

HANDLE IKSxfSfcFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSxfP21FileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

function IKSxfSfcFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSxfP21FileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKSxfSfcFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

p21形式のファイルを読み込む場合はIKSxfP21FileLoad関数を、sfc形式のファイルを読み込む場合はIKSxfSfcFileLoad関数を使用します。

WidthもしくはHeightが0以下の場合は幅800高さ600に設定します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKSxfP21FileLoadMem, IKSxfSfcFileLoadMem

【機能】

SXF形式のRawデータからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKSxfP21FileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

HANDLE IKSxfSfcFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSxfP21FileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

function IKSxfSfcFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKSxfP21FileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKSxfSfcFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | SXF形式のRawデータ
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

p21形式のRawデータを読み込む場合はIKSxfP21FileLoadMem関数を、sfc形式のRawデータを読み込む場合はIKSxfSfcFileLoadMem関数を使用します。

WidthもしくはHeightが0以下の場合は幅800高さ600に設定します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKSxfP21FileLoad, IKSxfSfcFileLoad関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。内部で一時的にテンポラリファイルを作成します。


IKSxfP21FileSave, IKSxfSfcFileSave

【機能】

ベクトルイメージをSXF形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSxfP21FileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

BOOL IKSxfSfcFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSxfP21FileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

function IKSxfSfcFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSxfP21FileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKSxfSfcFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ベクトルイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

p21形式のファイルに保存する場合はIKSxfP21FileSave関数を、sfc形式のファイルに保存する場合はIKSxfSfcFileSave関数を使用します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKSxfP21FileSave("c:\abc.p21",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKSxfP21FileSave("ftp://www.newtone.co.jp/image/abc.p21;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKSxfP21FileSave("http://www.newtone.co.jp/image/abc.p21;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKSxfP21FileSaveMem,IKSxfSfcFileSaveMem

DLLコマンドリファレンス

IKSxfP21FileSaveMem, IKSxfSfcFileSaveMem

【機能】

ベクトルイメージをSXF形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKSxfP21FileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

BOOL IKSxfSfcFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKSxfP21FileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

function IKSxfSfcFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKSxfP21FileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Function IKSxfSfcFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ベクトルイメージのメモリハンドル
OutHandle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

p21形式のRawデータに保存する場合はIKSxfP21FileSaveMem関数を、sfc形式のRawデータに保存する場合はIKSxfSfcFileSaveMem関数を使用します。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKSxfP21FileSave, IKSxfSfcFileSave関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

内部で一時的にテンポラリファイルを作成します。


IKTextOut

【機能】

描画先オブジェクトにテキストを描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKTextOut(LPVOID DeviceValue, int x, int y, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BYTE DeviceMode);

(2)Delphi

function IKTextOut(DeviceValue: THandle; x, y: Integer; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; DeviceMode: Byte): LongBool;

(3)Visual Basic

Function IKTextOut(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal DeviceMode As Byte) As Long

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | 描画開始位置の座標
TextInfo | 描画する情報を指定する構造体変数
Text | 描画する文字列（終端がヌル）
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

x, yで指定した座標からテキストを描画します。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはTextInfoのCharSet, TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, RotateStringに値を設定する必要があります。CharExtraに1以上の値を設定すると文字の間隔を考慮します。

RotateStringが0の場合、CharAngleは0, 90, 180, 270以外は無効です。文字列の方向に関わらず、x, yから常に右方向に描画されます。RotateStringが0以外の場合は、Directionは無効です。x, yを始点として文字列を回転させた方向に描画されます。Textに改行コードを含む複数行の文字列を設定しても当関数では正しく出力されないため、単一行に切り出して複数回出力を行うか、IKDrawText関数をご使用ください。

TextInfoのCharExtraとx, yの値をピクセル単位として扱う場合

DeviceModeが0もしくは2

TextInfoのCharExtraとx, yの値を0.1mm単位として扱う場合

DeviceModeが1

【ImageKit5との違い】

関数名 | 引数の並び
IK5TextOut(A) | DeviceValue, x, y, PrintInfo
IKTextOut | DeviceValue, x, y, TextInfo, Text, DeviceMode

PrintInfoとTextInfoは構造体の構造が異なりますが、使用する際に必要なメンバー変数はほぼ同じです。

IK5PRINT_DATA --> IKPRINT_TEXTINFO

CharExtra, CharSet, RotateString, Alpha1, Alpha2, HotkeyPrefixが新たに追加され、Textが構造体から削除されました。

TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。

IK5PRINT_DATA_A --> IKPRINT_TEXTINFO

CharSet, RotateString, Alpha1, Alpha2, HotkeyPrefixが新たに追加され、Textが構造体から削除されました。

TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。

PrintInfo.Textを引数のTextに、IK5SetDeviceModeで設定した値を引数のDeviceModeに、TextInfoのCharSetを-1に、RotateStringを0に設定し、TextForeColor, TextBackColorをTextColor1, TextColor2にそれぞれ変更するとIK5と同じ動作となります。

【ImageKit6との違い】

IKPRINT_TEXTINFO構造体にAlpha1, Alpha2, HotkeyPrefixが追加され、TextForeColor, TextBackColorがTextColor1, TextColor2にそれぞれ変更されました。TextForeColor, TextBackColorをTextColor1, TextColor2にそれぞれ変更するとIK6と同じ動作となります。


IKTiffFileLoad

【機能】

TIFF形式のファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKTiffFileLoad(LPCTSTR FileName, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKTiffFileLoad(FileName: PChar; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKTiffFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Page | 読み込むファイルのページ番号（0～）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

複数のイメージが存在する場合は、Pageで指定されたイメージを読み込みます。1イメージしかないファイルはPageに指定した値は無効となります。対応イメージは1, 4, 8, 16, 24, 32ビットカラーです（圧縮モードにより異なります）。イメージファイルのページ数はIKFileType関数で取得できます。

TIFFのJPEG形式については読み込みに失敗するファイルも存在しますのでご了承ください。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。


IKTiffFileLoadMem

【機能】

TIFF形式のRawデータからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKTiffFileLoadMem(HANDLE Handle, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKTiffFileLoadMem(Handle: THandle; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKTiffFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | TIFF形式のRawデータ
Page | 読み込むファイルのページ番号（0～）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

複数のイメージが存在する場合は、Pageで指定されたイメージを読み込みます。1イメージしかないRawデータはPageに指定した値は無効となります。対応イメージは1, 4, 8, 16, 24, 32ビットカラーです（圧縮モードにより異なります）。イメージファイルのページ数はIKFileType関数で取得できます。

TIFFのJPEG形式については読み込みに失敗する場合がありますのでご了承ください。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKTiffFileLoad関数と同じです。


IKTiffFileSave

【機能】

ラスタイメージをTIFF形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKTiffFileSave(LPCTSTR FileName, HANDLE Handle, int Type, int Color, BOOL Append, LPCSTR Comment, BOOL OneStrip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKTiffFileSave(FileName: PChar; Handle: THandle; Type_, Color: Integer;
 Append: LongBool; Comment: PAnsiChar; OneStrip: LongBool; UserProc: LONG_PTR;
 Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKTiffFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Type As Long, ByVal Color As Long, ByVal Append As Long, ByVal Comment As String, ByVal OneStrip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ラスタイメージのメモリハンドル
Type 保存するファイルタイプ
0:非圧縮 1:CCITTRLE 2:GROUP3 1D 3:GROUP3 2D 4:GROUP4 5:PACKBITS 6:LZW 7:JPEG
Color Typeが0, 5, 6で保存対象イメージが24, 32ビットカラーの場合　0:RGB, 1:CMYK
Typeが7の場合　JPEG圧縮品質係数（0～100/推奨75）
Typeが1, 2, 3, 4の場合は無効
Append 追加保存の設定（False(0)：設定なし、True(0以外)：設定あり）
True(0以外)を設定するとファイルの最後のページに該当するイメージを付加します。
Comment 保存するコメント文字列（MAX:1023バイト）
次のように設定してください。「Document + 0x0d + Description + ・・・ + 0x0d」
Document:文書名
Description:画像説明
Page:ページ名
Software:ソフトウエア
DateTime:日時
Artist:作者
※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
OneStrip | ストリップの設定（False(0)：複数のストリップ、True(0以外)：1つのストリップ）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 16（グレーは除く）, 24, 32ビットカラーです。（圧縮モードにより異なります。）

Typeが0, 5, 6のいずれかで、保存対象のイメージが24, 32ビットカラーでColorが1（CMYK）の場合は、出力されるファイルのビット数は32となります。

OneStripはGROUP4以外の形式で保存する場合に有効です。（GROUP4は1ストリップ固定です。）

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

TIFFのGROUP3-1DはMH、GROUP3-2DはMR、GROUP4はMMRと同じ形式です。

TIFFの非圧縮、PACKBITS、LZW形式で16ビットイメージを保存すると24ビットイメージに変換されます。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKTiffFileSave("c:\abc.tif",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKTiffFileSave("ftp://www.newtone.co.jp/image/abc.tif;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKTiffFileSave("http://www.newtone.co.jp/image/abc.tif;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit5との違い】

関数名 | 引数の並び
IK5TiffFileSave | FileName, Handle, Type, Color, Append, Comment, FileUserProc, Caption, Message, Button
IKTiffFileSave | FileName, Handle, Type, Color, Append, Comment, OneStrip, UserProc, Caption, Message, Button

OneStripが引数に追加されました。FileUserProcとUserProcは同じユーザ関数を表します。OneStripをFalse(0)にするとIK5と同様に動作します。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKTiffFileSaveMem

【機能】

ラスタイメージをTIFF形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKTiffFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, int Type, int Color, BOOL Append, LPCSTR Comment, BOOL OneStrip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKTiffFileSaveMem(InHandle: THandle; var OutHandle: THandle; Type_, Color: Integer; Append: LongBool; Comment: PAnsiChar; OneStrip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKTiffFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Type As Long, ByVal Color As Long, ByVal Append As Long, ByVal Comment As String, ByVal OneStrip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ラスタイメージのメモリハンドル
OutHandle | 保存するRawデータ
Type 保存するファイルタイプ
0:非圧縮 1:CCITTRLE 2:GROUP3 1D 3:GROUP3 2D 4:GROUP4 5:PACKBITS 6:LZW7:JPEG
Color Typeが0, 5, 6で保存対象イメージが24, 32ビットカラーの場合　0:RGB, 1:CMYK
Typeが7の場合　JPEG圧縮品質係数（0～100/推奨75）
Typeが1, 2, 3, 4の場合は無効
Append 追加保存の設定（False(0)：設定なし、True(0以外)：設定あり）
True(0以外)を設定するとファイルの最後のページに該当するイメージを付加します。
Comment 保存するコメント文字列（MAX:1023バイト）
次のように設定してください。「Document + 0x0d + Description + ・・・ + 0x0d」
Document:文書名
Description:画像説明
Page:ページ名
Software:ソフトウエア
DateTime:日時
Artist:作者
※16進表記のため、Delphiは0xを$にVisual Basicは0xを&Hに置き換えてください。
OneStrip | ストリップの設定（False(0)：複数のストリップ、True(0以外)：1つのストリップ）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

対応イメージは1, 4, 8, 16（グレーは除く）, 24, 32ビットカラーです。（圧縮モードにより異なります。）

Typeが0, 5, 6のいずれかで、保存対象のイメージが24, 32ビットカラーでColorが1（CMYK）の場合は、出力されるファイルのビット数は32となります。

OneStripはGROUP4以外の形式で保存する場合に有効です。（GROUP4は1ストリップ固定です。）

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

TIFFのGROUP3-1DはMH、GROUP3-2DはMR、GROUP4はMMRと同じ形式です。

TIFFの非圧縮、PACKBITS、LZW形式で16ビットイメージを保存すると24ビットイメージに変換されます。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKTiffFileSave関数と同じです。


IKUnifyColor

【機能】

色のばらつきを修正します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKUnifyColor(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Error, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKUnifyColor(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue, Error: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKUnifyColor(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Error As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Red | 修正対象となる赤(0～255)
Green | 修正対象となる緑(0～255)
Blue | 修正対象となる青(0～255)
Error | 各RGBの誤差範囲(0～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

指定したRed, Green, Blueに対して±Errorの範囲の色をRed, Green, Blueに置き換えます。

例えばRed, Green, Blueに128、Errorに1を設定した場合は、Red, Green, Blueの127から129の範囲の色をそれぞれを128に置き換えます。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKVectorGdipEnd

【機能】

GDI+の終了処理を行います。

【関数書式】

(1)C++Builder/Visual C++

void IKVectorGdipEnd(ULONG_PTR token);

(2)Delphi

procedure IKVectorGdipEnd(token: DWORD);

(3)Visual Basic

Sub IKVectorGdipEnd(ByVal token As Long)

【引数】

名称 | 内容
token | IKVectorGdipStartで取得したトークン

【戻り値】

ありません。

【解説】

IKDrawVectObject, IKVectorToRaster関数およびIk10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dllのベクトルイメージの入出力関数を使用する場合に使用します。


IKVectorGdipStart

【機能】

GDI+の初期化処理を行います。

【関数書式】

(1)C++Builder/Visual C++

ULONG_PTR IKVectorGdipStart(void);

(2)Delphi

function IKVectorGdipStart(): DWORD;

(3)Visual Basic

Function IKVectorGdipStart() As Long

【引数】

ありません。

【戻り値】

トークン（失敗した場合は、0が返されます）。

【解説】

IKDrawVectObject, IKVectorToRaster関数およびIk10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dllのベクトルイメージの入出力関数を使用する場合に使用します。


IKVectorToRaster

【機能】

ベクトルイメージをラスタイメージに変換します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKVectorToRaster(HANDLE hMbh, short BitCount, BOOL Black, BYTE BackRed, BYTE BackGre, BYTE BackBlu);

(2)Delphi

function IKVectorToRaster(hMbh: THandle; BitCount: Smallint; Black: LongBool; BackRed, BackGre, BackBlu: Byte): THandle;

(3)Visual Basic

Function IKVectorToRaster(ByVal hMbh As Long, ByVal BitCount As Integer, ByVal Black As Long, ByVal BackRed As Byte, ByVal BackGre As Byte, ByVal BackBlu As Byte) As Long

【引数】

名称 | 内容
hMbh | ベクトルイメージのメモリハンドル
BitCount | ラスタイメージに変換する際のビット数（1, 4, 8, 16, 24, 32）
Blackh | MbhがDXFを表す場合、白を黒に置き換えて変換 [ True(0以外)：する False(0)：しない ]
BackRed | 背景色（赤）
BackGre | 背景色（緑）
BackBlu | 背景色（青）

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます。）

【解説】

hMbhがDXFを表す場合、Blackの設定が有効になります。

当関数を実行する場合は、事前にIKVectorGdipStart関数を実行する必要があります。

【ImageKit6との違い】

関数の名称がIKVectToDibから変更されました。


IKWaves

【機能】

ラスタイメージにさざ波効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKWaves(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Direction, BYTE WaveType, int Period, int Amp, double Phase, BYTE Edges, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKWaves(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Direction, WaveType: Byte; Period, Amp: Integer; Phase: Double; Edges, Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKWaves(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Direction As Byte, ByVal WaveType As Byte, ByVal Period As Long, ByVal Amp As Long, ByVal Phase As Double, ByVal Edges As Byte, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Direction | 波の方向（0:横, 1:縦）
WaveType | 波の種類（0:sin, 1:saw）
Period | 波の波長（0以上）
Amp | 波の大きさ（0以上）
Phase | 波の位相（0.0～1.0）
Edges | エッジの種類（0：背景色で塗る, 1:隣接したピクセルで埋める, 2:丸める）
Red | 背景色の赤（0～255）
Green | 背景色の緑（0～255）
Blue | 背景色の青（0～255）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。

イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

Red, Green, BlueはEdgesが0の場合に有効です。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKWhirlPinch

【機能】

ラスタイメージにねじりつまみ効果を施します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKWhirlPinch(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Whirl, double Pinch, double Radius, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKWhirlPinch(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Whirl, Pinch, Radius: Double; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKWhirlPinch(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Whirl As Double, ByVal Pinch As Double, ByVal Radius As Double, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、8ビットグレースケール, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Whirl | ねじる角度（度単位）
Pinch | つまみの度合い
Radius | ねじりの大きさ（0以上）
Red | 背景色の赤（0～255）
Green | 背景色の緑（0～255）
Blue | 背景色の青（0～255）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKWmfFileLoad

【機能】

WMF形式のファイルからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKWmfFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKWmfFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKWmfFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 読み込むファイル名
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合はWMFファイルに格納されているサイズで読み込みます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKWmfFileLoadMem

【機能】

WMF形式のRawデータからベクトルイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKWmfFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKWmfFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKWmfFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
Handle | WMF形式のRawデータ
Width | 読み込むイメージの幅（ピクセル）
Height | 読み込むイメージの高さ（ピクセル）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

ベクトルイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

WidthもしくはHeightが0以下の場合はWMFファイルに格納されているサイズで読み込みます。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはIKWmfFileLoad関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(Width * Height)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。


IKWmfFileSave

【機能】

ベクトルイメージをWMF形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKWmfFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKWmfFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKWmfFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
FileName | 保存するファイル名
Handle | ベクトルイメージのメモリハンドル
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。

FileNameにFTPサーバーの名称やHTTP(S)サーバーの名称などを設定するとFTPサーバーやHTTP(S)サーバーに直接ファイルを保存できます。

(1)ローカルドライブやネットワークドライブにファイルを保存する場合

IKWmfFileSave("c:\abc.wmf",・・・・・)

(2)FTPサーバーにファイルを保存する場合

IKWmfFileSave("ftp://www.newtone.co.jp/image/abc.wmf;;;true;user;password",・・・・・)

(*)FileNameを設定する際の順番

FTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;パッシブモード;ユーザ名;パスワード

プロキシサーバを設定したり、ポート番号やパッシブ（PASV）モード接続を変更する場合はプロパティに「FTPサーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;パッシブモード接続の有無」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、パッシブモード接続の有無（"true"または"false" - 大小文字関係なし)を省略するとパッシブモード接続となります。

(3)HTTP(S)サーバーにファイルを保存する場合

IKWmfFileSave("http://www.newtone.co.jp/image/abc.wmf;;;;user;password",・・・・・)

(**)FileNameを設定する際の順番

HTTP://サーバ名/フォルダ名/ファイル名;プロキシ名;ポート番号;HTTPS;ユーザ名;パスワード

プロキシサーバを設定したりポート番号を変更、またはHTTPSを利用する場合はプロパティに「HTTP(S)サーバの名称もしくはIPアドレス;プロキシサーバの名称またはIPアドレス;ポート番号;HTTPS」を渡してください。（文字列をセミコロンで区切る）

なお、ポート番号を省略するとデフォルトポートが割り当てられ、"HTTPS"を省略するとHTTPサーバからの処理となります。

【ImageKit7との違い】

FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。


IKWmfFileSaveMem

【機能】

ベクトルイメージをWMF形式でRawデータに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKWmfFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKWmfFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

(3)Visual Basic

Function IKWmfFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
InHandle | ベクトルイメージのメモリハンドル
OutHandle | 保存するRawデータ
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については「Ik10File.dll/Ik10FileA.dll/Ik10File64.dll/Ik10File64A.dll」のユーザ関数の定義をご覧ください。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはIKWmfFileSave関数と同じです。

当関数を実行する場合は、事前にIk10VectCom.dll/Ik10VectComA.dll/Ik10VectCom64.dll/Ik10VectCom64A.dllのIKVectorGdipStart関数を実行する必要があります。


IKYCCBmpPlaneFileLoad

【機能】

YCrCbプレーン毎に保存してあるBMPファイルからラスタイメージをメモリ上に読み込みます。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKYCCBmpPlaneFileLoad(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName);

(2)Delphi

function IKYCCBmpPlaneFileLoad(YFileName, CrFileName, CbFileName: PChar): THandle;

(3)Visual Basic

Function IKYCCBmpPlaneFileLoad(ByVal YFileName As String, ByVal CrFileName As String, ByVal CbFileName As String) As Long

【引数】

名称 | 内容
YFileName | Yプレーンとして読み込むファイル名
CrFileName | Crプレーンとして読み込むファイル名
CbFileName | Cbプレーンとして読み込むファイル名

【戻り値】

ラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

YCrCbそれぞれのプレーンを表すイメージは8ビットグレーで、出力イメージは24ビットカラーです。


IKYCCBmpPlaneFileSave

【機能】

ラスタイメージをYCrCbプレーン毎にBMP形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL IKYCCBmpPlaneFileSave(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName, HANDLE Handle);

(2)Delphi

function IKYCCBmpPlaneFileSave(YFileName, CrFileName, CbFileName: PChar; Handle: THandle): LongBool;

(3)Visual Basic

Function IKYCCBmpPlaneFileSave(ByVal YFileName As String, ByVal CrFileName As String, ByVal CbFileName As String, ByVal Handle As Long) As Long

【引数】

名称 | 内容
YFileName | Yプレーンとして保存するファイル名
CrFileName | Crプレーンとして保存するファイル名
CbFileName | Cbプレーンとして保存するファイル名
Handle | ラスタイメージのメモリハンドル

【戻り値】

実行に失敗した場合はFalse(0)、成功した場合はTrue(0以外)が返されます。

【解説】

保存対象イメージは24ビットカラーです。HandleをYCrCbのそれぞれのプレーン毎にファイルに保存します。保存されるイメージは8ビットグレーとなります。


IKYCCGamma

【機能】

ラスタイメージのYCrCb値のガンマ補正を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKYCCGamma(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Yb, double Cr, double Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKYCCGamma(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Yb, Cr, Cb: Double; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKYCCGamma(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Yb As Double, ByVal Cr As Double, ByVal Cb As Double, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Yb | 輝度値のガンマ係数
Cr | 色相 Crのガンマ係数
Cb | 色相 Cbのガンマ係数
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

処理後のピクセル値をy、基のピクセル値をxとすると

(1)Bright > 0の場合

(2)Bright < 0の場合

となります。

BrightはYb、Cr、Cbのいずれかになります。Yb、Cr、Cbが0の場合は処理の前後で変化ありません。

Yb、Cr、Cbが＋の場合はレベルが下がり、－の場合はレベルが上がります。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKYCCLevel

【機能】

ラスタイメージのYCrCb値の加減処理を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKYCCLevel(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int Yb, int Cr, int Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKYCCLevel(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Yb, Cr, Cb: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKYCCLevel(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Yb As Long, ByVal Cr As Long, ByVal Cb As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Yb | 輝度値の加減(-255～255)
Cr | 色相Crの加減(-255～255)
Cb | 色相Cbの加減(-255～255)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Yb、Cr、Cbのそれぞれの値が大きくなると該当する成分が明るくなり、小さくなると該当する成分が暗くなります。また、Yb、Cr、Cbが0の場合は処理の前後で変化ありません。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKYCCRev

【機能】

ラスタイメージのYCrCb値の反転処理を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKYCCRev(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BOOL Yb, BOOL Cr, BOOL Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKYCCRev(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Yb, Cr, Cb: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKYCCRev(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Yb As Long, ByVal Cr As Long, ByVal Cb As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
Yb | 輝度Yの反転（False(0): 反転なし, True(0以外): 反転あり）
Cr | 色相Crの反転（False(0): 反転なし, True(0以外): 反転あり）
Cb | 色相Cbの反転（False(0): 反転なし, True(0以外): 反転あり)
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

Yb、Cr、CbをTrueにするとそれぞれのYCrCb値を反転します。

例えば、Ybが255の場合は0となります。（Yb = 255 - Yb）

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


IKYCCSpline

【機能】

ラスタイメージのYCrCb値のスプライン補正を行います。

【関数書式】

(1)C++Builder/Visual C++

HANDLE IKYCCSpline(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, LPPOINT lpSpPoint, int SpPoints, BOOL Yb, BOOL Cr, BOOL Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

(2)Delphi

function IKYCCSpline(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; var lpSpPoint: TPoint; SpPoints: Integer; Yb, Cr, Cb: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;

(3)Visual Basic

Function IKYCCSpline(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, lpSpPoint As IKPOINT, ByVal SpPoints As Long, ByVal Yb As Long, ByVal Cr As Long, ByVal Cb As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

【引数】

名称 | 内容
SrcHandle | ラスタイメージとマスクハンドルの構造体 hImgBmhには、1, 4, 8, 16, 24, 32ビットイメージのいずれかを設定すること
SelectMode | 選択範囲の種類の指定（0:マスクハンドル, 1:イメージ全体, 2:多角形, 3:円形）
lpPoint | 多角形の座標を指定する構造体変数の配列（SelectModeが2の時有効） (1)C++Builder/Visual C++ 構造体の配列の先頭のポインタを渡す (2)Delphi Pt: array [0..2] of TPointの場合は、引数にPt[0]を与える (3)Visual Basic Dim Pt(0 To 2) As IKPOINTの場合は、引数にPt(0)を与える
Points | lpPointの配列の数（SelectModeが2の時有効）
Rect | 円に外接する四角形の座標を指定する構造体変数（SelectModeが3の時有効）
InOut | 選択範囲の内外の設定（多角形もしくは円形のみ有効） False(0):選択範囲の外側(境界含まない)、True(0以外):選択範囲の内側(境界含む)
lpSpPoint | スプラインの通過座標を指定する構造体変数の配列（値の設定方法は、lpPointと同じ）
SpPoints | lpSpPointの配列の数（3～10が有効）
Yb | 輝度Yの成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Cr | 色相Crの成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Cb | 色相Cbの成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
Caption | 処理中のダイアログボックスのタイトルバーに表示する文字列
Message | 処理中のダイアログボックスの中央に表示する文字列
Button | 処理中のダイアログボックスのボタンに表示する文字列

【戻り値】

処理後のラスタイメージのメモリハンドル（実行に失敗した場合は0が返されます）。

【解説】

入力されたイメージデータのYCrCb値に対してスプライン曲線により変化させることができます。

使い方はIk10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dllのIKRGBSplineの「使用例」を参照してください。

マスクハンドルを基に処理を行いたい場合は、SelectModeに0を設定し、マスクハンドルに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeに1を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeに2を設定し、lpPointとPointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeに3を設定し、Rectに有効な値を設定します。

lpPointとRectのメンバーに座標を設定する場合は、ピクセル単位で設定してください。

SelectModeが2以外の場合には、lpPointにダミーの配列を、Pointsには0を与えてください。SelectModeが3以外の場合には、Rectにダミーの変数を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeが0～3のいずれが設定されていてもイメージ全体に対して処理を行います。

lpSpPointのメンバーには0～255の間の値を設定してください。

引数として与えたIKSELECT_IMAGEのメンバーのメモリハンドルは解放されずにそのまま残ります。

ユーザ関数が設定されている場合やCaption、Message、Buttonが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。ユーザ関数については、「Ik10Effect.dll/Ik10EffectA.dll/Ik10Effect64.dll/Ik10Effect64A.dll」のユーザ関数の定義をご覧ください。


ImageAtLeftTop（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageAtLeftTop

【機能】

コントロールのサイズより画像のサイズが小さい場合の表示位置を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.ImageAtLeftTop [ = Boolean ]

(2)Visual C++ [ short = ]imagekitcontrolname.SetImageAtLeftTop(BOOL Val)

(3)VB.NET imagekitcontrolname.ImageAtLeftTop [ = Boolean ]

(4)C#.NET imagekitcontrolname.ImageAtLeftTop [ = bool ]

【設定値】

値 | 説明
True | コントロールの左上から画像を表示する
False | コントロールの中央に画像を表示する

【解説】

デフォルトはFalseです。

コントロールのサイズより画像のサイズが小さく、スケール表示および実寸表示時に有効です。

表示モードについてはDisplayModeプロパティをご覧ください。

コントロールのサイズより画像のサイズが大きい場合は無効です。その場合の表示位置は、DispCenterX, DispCenterY, DispStartX, DispStartYプロパティが有効になります。

【値の設定】

実行時

【値の参照】

不可


ImageFilter（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ImageFilter

【機能】

開発者作成UIで取り込む時のイメージフィルタを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ImageFilter [ = ImageFilterConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetImageFilter(long Val)

(3)VB.NET imagekitcontrolname.Scan.ImageFilter [ = ImageKit10(A)Lib.ImageFilterConstants ]

(4)C#.NET imagekitcontrolname.Scan.ImageFilter [ = ImageKit10(A)Lib.ImageFilterConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | なし
1 | 自動
2 | LOWPASS
3 | BANDPASS
4 | HIGHPASS

定数(ikImageFilterNone = 0, ikImageFilterAuto = 1, ikImageFilterLowPass = 2, ikImageFilterBandPass = 3, ikImageFilterHiPass = 4, ikImageFilterText = 3, ikImageFilterFineLine = 4)を使用することも可能です。

【解説】

画像の品質を改善します。LOWPASSはハーフトーン画像、BANDPASSはテキストが含まれる画像、HIGHPASSは線が含まれる画像に適しています。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。だたし、デジタルカメラからの取り込みの場合は無効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


ImageHandleRawDataSize（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

ImageHandleRawDataSize

【機能】

ImageHandleRawDataプロパティに設定されているRawデータのメモリサイズを取得します。

【書式】

(1)Visual Basic imagekitcontrolname.File.ImageHandleRawDataSize [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetImageHandleRawDataSize()

(3)VB.NET imagekitcontrolname.File.ImageHandleRawDataSize [ = Integer ]

(4)C#.NET imagekitcontrolname.File.ImageHandleRawDataSize [ = int ]

【参照値】

Rawデータが使用しているメモリサイズ（単位はバイト）。

【値の設定】

不可

【値の参照】

実行時


ImageHandleRawData（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

ImageHandleRawData

【機能】

イメージ読込・保存用のRawデータのメモリハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.ImageHandleRawData [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetFile().GetImageHandleRawData()

imagekitcontrolname.GetFile().SetImageHandleRawData(LONG_PTR Val)

(3)VB.NET imagekitcontrolname.File.ImageHandleRawData [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.File.ImageHandleRawData [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

読込・保存の対象となるRawデータのメモリハンドル。

【解説】

FileLoadAsRawDataメソッドを実行するとプロパティにRawデータが設定され、FileSaveAsRawDataメソッドを実行するとプロパティに設定されたRawデータがファイルに保存されます。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


ImageHandle（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

ImageHandle

【機能】

イメージのメモリハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).ImageHandle [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetLayer(Index).GetImageHandle()

imagekitcontrolname.GetLayer(Index).SetImageHandle(LONG_PTR Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).ImageHandle [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).ImageHandle [ = int(x86) or long(x64) ]

※Indexは0～99

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

イメージのメモリハンドル。

【解説】

LayerNoプロパティに0～99を設定してファイルをロードするとImageHandleプロパティに値が設定されます。ただし、基本イメージが事前に設定されている場合が対象です（LayerNoプロパティに-1を設定してファイルをロードするなど）。

ImageHandleプロパティの指すイメージを無効にする場合は0を設定してください。そうすることにより自動的にメモリが解放されます。また、ImageHandleプロパティについてはFreeMemoryメソッドを使用して明示的にメモリを解放しなくても、再設定時やコントロールが破棄される時に自動的に解放されます。

例：

'ImageKit1.ImageHandleが0ではない（何らかのイメージが設定されている）

ImageKit1.LayerNo = 0

ImageKit1.Layer(0).Transparent = False

ImageKit1.File.LoadFile(ikLoad)

'ImageKit1.Layer(0).ImageHandleにロードしたメモリハンドルが設定される

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


ImageHandle（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageHandle

【機能】

基本イメージのメモリハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.ImageHandle [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetImageHandle()

imagekitcontrolname.SetImageHandle(LONG_PTR Val)

(3)VB.NET imagekitcontrolname.ImageHandle [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.ImageHandle [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

基本となるイメージのメモリハンドル。

【解説】

ImageHandleプロパティにメモリハンドルを直接設定することも可能ですが、LayerNoプロパティに-1を設定してファイルをロードすると、自動的に値が設定されます。

以前のImageKitで提供していたディスプレイコントロールでは基本イメージはラスタのみでしたが、イメージキットコントロールではラスタとベクトルの区別なく設定が可能です。

編集モードにしてImageHdcプロパティを操作する場合は、ImageHandleプロパティの指すメモリハンドルを操作しても画面には反映されません。

ImageHandleプロパティの指すイメージを無効にする場合は0を設定してください。そうすることにより自動的にメモリが解放されます。また、ImageHandleプロパティについてはFreeMemoryメソッドを使用して明示的にメモリを解放しなくても、再設定時やコントロールが破棄される時に自動的に解放されます。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


ImageHandle（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ImageHandle

【機能】

サムネイルコントロールにロードするメモリハンドルを示します。

【書式】

(1)Visual Basic thumbcontrolname.ImageHandle [ = LONG_PTR ]

(2)Visual C++ thumbcontrolname.SetImageHandle(LONG_PTR Val)

(3)VB.NET thumbcontrolname.ImageHandle [ = Integer(x86) or Long(x64) ]

(4)C#.NET thumbcontrolname.ImageHandle [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

ラスタイメージもしくはベクトルイメージのメモリハンドル。

【解説】

ADFを使用して原稿を連続してスキャンする場合などに使用します。

例(Visual Basic):

Private Sub ImageKit1_AfterScan(ByVal DibHandle As ImageKit10ALibCtl.LONG_PTR, ByVal OrgHandle As ImageKit10ALibCtl.LONG_PTR, ByVal ImageCount As Long, ByVal BitOrder As Integer)

ImageKitThumb1.ImageHandle = ImageKit1.CopyImage(DibHandle)

End Sub

【値の設定】

実行時

【値の参照】

不可

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


ImageHdc（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageHdc

【機能】

表示イメージのメモリデバイスコンテキストを示します。

【書式】

(1)Visual Basic imagekitcontrolname.ImageHdc [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetImageHdc()

(3)VB.NET imagekitcontrolname.ImageHdc [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.ImageHdc [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【参照値】

表示イメージのメモリデバイスコンテキスト。

【解説】

ImageHdcプロパティはImageHandleプロパティにラスタイメージが設定され、かつEdit.EditEnableプロパティがTrueの場合に使用可能となります。ただし、その分余計にメモリを消費してしまいますので注意してください。

また、表示イメージのメモリデバイスコンテキストを示すので、PrintDrawプロパティに実装されているメソッドを使用してイメージ上に描画することができます。

ImageHdcプロパティは以前のImageKitで提供していたディスプレイコントロールのHdcMemoryプロパティに相当します。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


ImageHeight, ImageWidth（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageHeight, ImageWidth

【機能】

ImageHandleプロパティに設定されたイメージの縦横のサイズをピクセル数で示します。

【書式】

※ImageHeightにて説明（ImageWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.ImageHeight [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetImageHeight()

(3)VB.NET imagekitcontrolname.ImageHeight [ = Integer ]

(4)C#.NET imagekitcontrolname.ImageHeight [ = int ]

【参照値】

ImageHeightは縦方向のピクセル数。

ImageWidthは横方向のピクセル数。

【解説】

ImageHandleプロパティに値が設定されると、ImageHeight, ImageWidthプロパティは自動的に更新されます。

【値の設定】

不可

【値の参照】

実行時


ImageKind（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

ImageKind

【機能】

ImageHandleプロパティに設定されたイメージの種類を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).ImageKind [ = ImageKindConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetLayer(Index).GetImageKind()

(3)VB.NET imagekitcontrolname.Layer(Index).ImageKind [ = ImageKit10(A)Lib.ImageKindConstants ]

(4)C#.NET imagekitcontrolname.Layer(Index).ImageKind [ = ImageKit10(A)Lib.ImageKindConstants ]

※Indexは0～99

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【参照値】

値 | 説明
0 | 不明
1 | ラスタイメージ
2 | WMF
3 | EMF
4 | DXF
5 | SVG
6 | SXF

定数(ikInvalidImage = 0, ikRasterImage = 1, ikVectorWMF = 2, ikVectorEMF = 3, ikVectorDXF = 4, ikVectorSVG = 5, ikVectorSXF = 6)を使用することも可能です。

【解説】

ImageHandleプロパティに値が設定されると、ImageKindプロパティは自動的に更新されます。

【値の設定】

不可

【値の参照】

実行時


ImageKind（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageKind

【機能】

ImageHandleプロパティに設定されたイメージの種類を示します。

【書式】

(1)Visual Basic imagekitcontrolname.ImageKind [ = ImageKindConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetImageKind()

(3)VB.NET imagekitcontrolname.ImageKind [ = ImageKit10(A)Lib.ImageKindConstants ]

(4)C#.NET imagekitcontrolname.ImageKind [ = ImageKit10(A)Lib.ImageKindConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【参照値】

値 | 説明
0 | 不明
1 | ラスタイメージ
2 | WMF
3 | EMF
4 | DXF
5 | SVG
6 | SXF

定数(ikErrorImage = 0, ikRasterImage = 1, ikVectorWMF = 2, ikVectorEMF = 3, ikVectorDXF = 4, ikVectorSVG = 5, ikVectorSXF = 6)を使用することも可能です。

【解説】

ImageHandleプロパティに値が設定されると、ImageKindプロパティは自動的に更新されます。

【値の設定】

不可

【値の参照】

実行時


ImageMerge（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ImageMerge

【機能】

開発者作成UIで取り込む時の両面合成モードを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ImageMerge [ = ScanImageMergeConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetImageMerge(long Val)

(3)VB.NET imagekitcontrolname.Scan.ImageMerge [ = ImageKit10(A)Lib.ScanImageMergeConstants ]

(4)C#.NET imagekitcontrolname.Scan.ImageMerge [ = ImageKit10(A)Lib.ScanImageMergeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | なし（合成しない）
1 | 表面が上で裏面が下になる（上下の貼り合わせ）
2 | 裏面が上で表面が下になる（上下の貼り合わせ）
3 | 表面が左で裏面が右になる（左右の貼り合わせ）
4 | 裏面が左で表面が右になる（左右の貼り合わせ）

定数(ikScanImageMergeNone = 0, ikScanImageMergeFrontOnTop = 1, ikScanImageMergeFrontOnBottom = 2, ikScanImageMergeFrontOnLeft = 3, ikScanImageMergeFrontOnRight = 4)を使用することも可能です。

【解説】

ADF両面取り込み時に0(ikScanImageMergeNone)以外を設定すると表面と裏面を合成して、一つの画像データにします。

両面合成機能を使用して得られる出力イメージは、回転を組み合わせることによっても変わります。

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)、ScanModeプロパティが2(ikScanADF2)の場合に有効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


ImageOutToHwnd（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

ImageOutToHwnd

【機能】

ウィンドウハンドルに対してイメージを描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.ImageOutToHwnd(hWnd As LONG_PTR, Handle As LONG_PTR, Color As OLE_COLOR, Aspect As Boolean, DXFBlack As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().ImageOutToHwnd(LONG_PTR hWnd, LONG_PTR Handle, unsigned long Color, BOOL Aspect, BOOL DXFBlack)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.ImageOutToHwnd(hWnd As Integer(x86) or Long(x64), Handle As Integer(x86) or Long(x64), Color As UInteger, Aspect As Boolean, DXFBlack As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.ImageOutToHwnd(int(x86) or long(x64) hWnd, int(x86) or long(x64) Handle, uint Color, bool Aspect, bool DXFBlack)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hWnd | ウィンドウハンドル
Handle | ラスタイメージもしくはベクトルイメージのメモリハンドル
Color | ウィンドウの背景色を設定します。
Aspect | 縦横比の設定 [True(0以外):する、False(0):しない]
DXFBlack | 描画イメージがDXFの場合、白を黒に置き換えて描画 [ True(0以外)：する False(0)：しない ]

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

イメージがウィンドウの描画領域に収まりきらない場合には、イメージをスケーリングします。

ウィンドウの描画領域にイメージをそのまま描画する場合はAspectにFalse(0)を、イメージの縦横比と描画領域の縦横比を考慮する場合はAspectにTrue(0以外)を設定してください。

（描画対象はスクリーン）

ColorにはRGB(Red, Green, Blue)として求めた値などを設定してください。

【ImageKit7/8 ActiveXとの違い】

引数hWnd, Handle, Colorの型が変更されました。


ImageOut（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

ImageOut

【機能】

デバイスコンテキストにイメージを描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.ImageOut(hDC As LONG_PTR, Handle As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, Aspect As Boolean, DXFBlack As Boolean, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().ImageOut(LONG_PTR hDC, LONG_PTR Handle, long left, long top, long right, long bottom, BOOL Aspect, BOOL DXFBlack, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.ImageOut(hDC As Integer(x86) or Long(x64), Handle As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, Aspect As Boolean, DXFBlack As Boolean, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.ImageOut(int(x86) or long(x64) hDC, int(x86) or long(x64) Handle, int left, int top, int right, int bottom, bool Aspect, bool DXFBlack, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | デバイスコンテキスト
Handle | ラスタイメージもしくはベクトルイメージのメモリハンドル
left, top | イメージを描画する矩形の左上のx, y座標
right, bottom | イメージを描画する矩形の右下のx, y座標
Aspect | 縦横比の設定 [True(0以外):する、False(0):しない]
DXFBlack | 描画イメージがDXFの場合、白を黒に置き換えて描画 [ True(0以外)：する False(0)：しない ]
DeviceMode | 描画対象（0:スクリーン、1:プリンタ）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

（印刷処理中にダイアログボックスを表示してキャンセルした場合は、False(0)を返します。）

【解説】

イメージがleft, top, right, bottomで指定された範囲に収まりきらない場合には、イメージをスケーリングします。

left, top, right, bottomにイメージをそのまま描画する場合はAspectにFalse(0)を、イメージの縦横比と描画領域の縦横比を考慮する場合はAspectにTrue(0以外)を設定してください。

（描画対象はスクリーン、プリンタ）

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数hDC, Handleの型が変更されました。


ImageSize（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

ImageSize

【機能】

ImageHandleプロパティに設定されたイメージのサイズをバイト数で示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).ImageSize [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetLayer(Index).GetImageSize()

(3)VB.NET imagekitcontrolname.get_Layer(Index).ImageSize [ = Integer ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).ImageSize [ = int ]

※Indexは0～99

【参照値】

イメージサイズのバイト数。

【解説】

ImageHandleプロパティに値が設定されると、ImageSizeプロパティは自動的に更新されます。

【値の設定】

不可

【値の参照】

実行時


ImageSize（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageSize

【機能】

ImageHandleプロパティに設定されたイメージのサイズをバイト数で示します。

【書式】

(1)Visual Basic imagekitcontrolname.ImageSize [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetImageSize()

(3)VB.NET imagekitcontrolname.ImageSize [ = Integer ]

(4)C#.NET imagekitcontrolname.ImageSize [ = int ]

【参照値】

イメージサイズのバイト数。

【解説】

ImageHandleプロパティに値が設定されると、ImageSizeプロパティは自動的に更新されます。

【値の設定】

不可

【値の参照】

実行時


ImageSize（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ImageSize

【機能】

サムネイル画像をコントロールに描画する際のサイズを設定します。

【書式】

(1)Visual Basic thumbcontrolname.ImageSize [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetImageSize()

thumbcontrolname.SetImageSize(short Val)

(3)VB.NET thumbcontrolname.ImageSize [ = Short ]

(4)C#.NET thumbcontrolname.ImageSize [ = short ]

【設定値】

画像サイズ（ピクセル）

初期値は96

【解説】

オリジナル画像の縦と横のサイズの大きい方のサイズに合わせます。ただし、サムネイル画像の描画領域が設定したサイズよりも小さい場合は、それに合わせます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ImageWidthByte（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ImageWidthByte

【機能】

ImageHandleプロパティに設定されたイメージの1ラインのバイト数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.ImageWidthByte [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetImageWidthByte()

(3)VB.NET imagekitcontrolname.ImageWidthByte [ = Integer ]

(4)C#.NET imagekitcontrolname.ImageWidthByte [ = int ]

【参照値】

イメージの1ラインのバイト数。

【解説】

ImageHandleプロパティに値が設定されると、ImageWidthByteプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


ImeMode（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ImeMode

【機能】

イメージ編集ツールバーのテキストボックスで使用するIME（かな漢字変換プログラム）の動作を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ImeMode [ = ImeModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetImeMode()

imagekitcontrolname.GetEdit().SetImeMode(long Val)

(3)VB.NET imagekitcontrolname.Edit.ImeMode [ = ImageKit10(A)Lib.ImeModeConstants ]

(4)C#.NET imagekitcontrolname.Edit.ImeMode [ = ImageKit10(A)Lib.ImeModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 無変換
1 | 全角ひらかな
2 | 全角カタカナ
3 | 半角カタカナ
4 | 全角英数
5 | 半角英数
6 | 連文節変換
7 | 自動変換
8 | 複合語変換
9 | 会話優先
10 | コード入力

定数(ikIMENone = 0, ikIMEZenHirakana = 1, ikIMEZenKatakana = 2, ikIMEHanKatakana = 3, ikIMEZenAlphaNumeric = 4, ikIMEHanAlphaNumeric = 5, ikIMEPhrasepredict = 6, ikIMEAutomatic = 7, ikIMEPlauralclause = 8, ikIMEConversation = 9, ikIMECode = 10)を使用することも可能です。

【解説】

デフォルトは0(ikIMENone)です。

【値の設定】

実行時

【値の参照】

実行時


Indicator（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Indicator

【機能】

開発者作成UIで取り込む時のインジケータの有無を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Indicator [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().GetIndicator()

imagekitcontrolname.GetScan().SetIndicator(BOOL Val)

(3)VB.NET imagekitcontrolname.Scan.Indicator [ = Boolean ]

(4)C#.NET imagekitcontrolname.Scan.Indicator [ = bool ]

【設定値】

値 | 説明
True | インジケータ表示（デフォルト）
False | インジケータ非表示

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

ただし、データソースが機能をサポートしていない場合は無効です。

【値の設定】

実行時

【値の参照】

実行時


InformationFileName（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

InformationFileName

【機能】

メーカ提供UIの設定情報を保存するファイル名を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.InformationFileName [ = String ]

(2)Visual C++ imagekitcontrolname.GetScan().SetInformationFileName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Scan.InformationFileName [ = String ]

(4)C#.NET imagekitcontrolname.Scan.InformationFileName [ = string ]

【設定値】

保存するファイル名。

【解説】

メーカ提供UIを表示して設定した情報をファルに保存すると、そのファイルを開発者作成UIにて使用することができます。

一度メーカ提供UIを表示する必要はありますが、設定情報を保存すると、次回から開発者作成UIにて取り込みが可能です。

例：

'メーカ提供UIを表示して設定情報をファイルに保存

Dim Index(10) As Integer

ImageKit1.Scan.UiMode = ikScanSetUIOnly

ImageKit1.Scan.InformationFileName = "ui.dat"

Ret = ImageKit1.Scan.Exec(Index(0))

'情報ファイルを使用して取り込み

Dim Index(10) As Integer

ImageKit1.Scan.UiMode = ikScanNONUI

ImageKit1.Scan.ScanMode = ikInformationFile

ImageKit1.Scan.InformationFileName = "ui.dat"

Ret = ImageKit1.Scan.Exec(Index(0))

【値の設定】

実行時

【値の参照】

不可


Information（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

Information

【機能】

ファイル選択ダイアログでファイル情報の表示可否を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Information [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetInformation()

imagekitcontrolname.GetFile().SetInformation(BOOL Val)

(3)VB.NET imagekitcontrolname.File.Information [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.Information [ = bool ]

【設定値】

ファイル選択ダイアログの初期表示時のモード。

値 | 説明
True | ファイル情報を表示（チェックボックスにチェックが入った状態）
False | ファイル情報を非表示（チェックボックスにチェックが入っていない状態）

【解説】

デフォルトはFalseです。

OpenFileDialogメソッドやSaveFileDialogメソッドを実行した後でも、ExtendedDialogプロパティがTrueであればプロパティの値に関係なくファイル情報の表示は可能です。

【値の設定】

実行時

【値の参照】

実行時


Initialize（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

Initialize

【機能】

TWAINの初期化を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Scan.Initialize(hWnd As LONG_PTR, MajorNum As Integer, MinorNum As Integer, VersionInfo As String, Manufacturer As String, ProductFamily As String, ProductName As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetScan().Initialize(LONG_PTR hWnd, short MajorNum, short MinorNum, LPCTSTR VersionInfo, LPCTSTR Manufacturer, LPCTSTR ProductFamily, LPCTSTR ProductName)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Scan.Initialize(hWnd As Integer(x86) or Long(x64), MajorNum As Short, MinorNum As Short, VersionInfo As String, Manufacturer As String, ProductFamily As String, ProductName As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.Scan.Initialize(int(x86) or long(x64) hWnd, short MajorNum, short MinorNum, string VersionInfo, string Manufacturer, string ProductFamily, string ProductName)

【引数】

名称 | 内容
hWnd | フォームのウィンドウハンドル
MajorNum | アプリケーションのメジャーバージョン番号（バージョンが1.00の場合は1）
MinorNum | アプリケーションのマイナーバージョン番号（バージョンが1.00の場合は0）
VersionInfo | アプリケーションのバージョン情報（32バイト以内）
Manufacturer | 製造者名（32バイト以内）
ProductFamily | 製品ファミリー名（32バイト以内）
ProductName | 製品名（32バイト以内）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

TWAINによる機能を使用する場合、必ず実行する必要があります。

MajorNum, MinorNum, VersionInfo, Manufacturer, ProductFamily, ProductNameはTWAINに対してアプリケーションの情報を通知するために使用されます。

hWndにウィンドウハンドルを渡すことができない場合は、0を渡してください。

Initializeメソッドは以前のImageKitで提供していたスキャンコントロールのScanInitializeメソッドに相当します。

【ImageKit7/8 ActiveXとの違い】

引数hWndの型が変更されました。


InOut（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

InOut

【機能】

エフェクト処理の選択範囲の内外を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Effect.InOut [ = InOutSelectModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEffect().GetInOut()

imagekitcontrolname.GetEffect().SetInOut(long Val)

(3)VB.NET imagekitcontrolname.Effect.InOut [ = ImageKit10(A)Lib.InOutSelectModeConstants ]

(4)C#.NET imagekitcontrolname.Effect.InOut [ = ImageKit10(A)Lib.InOutSelectModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 選択範囲の外側（境界含まない）
1 | 選択範囲の内側（境界含む）

定数(ikOutside = 0, ikInside = 1)を使用することも可能です。

【解説】

設定したプロパティは、SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合に有効になります。

【値の設定】

実行時

【値の参照】

実行時


Interlace（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

Interlace

【機能】

イメージ保存時（GIF/PNG形式）のインタレースを指定したり、GetImageFileType(Mem)メソッドを実行して取得した値を表します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Interlace [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetInterlace()

imagekitcontrolname.GetFile().SetInterlace(BOOL Val)

(3)VB.NET imagekitcontrolname.File.Interlace [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.Interlace [ = bool ]

【設定値】

値 | 説明
True | インタレース
False | ノンインタレース

【解説】

イメージをGIFまたはPNGファイルに保存する際に設定します。デフォルトはFalseです。

【値の設定】

実行時

【値の参照】

実行時


InteroperabilityIndex, InteroperabilityVersion（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

InteroperabilityIndex, InteroperabilityVersion

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※InteroperabilityIndexにて説明（InteroperabilityVersionも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.InteroperabilityIndex [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetInteroperabilityIndex()

imagekitcontrolname.GetFile().GetExif().SetInteroperabilityIndex(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.InteroperabilityIndex [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.InteroperabilityIndex [ = string ]

【設定値】

InteroperabilityIndex

互換性の規則の種類。

"R98" ExifR98で規定されるR98ファイルおよびDesign rule for Camera File systemで規定されるDCF基本ファイル

"THM" Design rule for Camera File systemで規定されるDCFサムネイルファイル

"R03" Design rule for Camera File systemで規定されるDCFオプションファイル

InteroperabilityVersion

互換性のバージョン（例："0100"）。

【解説】

Exifの互換性に関するタグです。

【値の設定】

実行時

【値の参照】

実行時


InvalidHatchPattern（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

InvalidHatchPattern

【機能】

イメージキットコントロールの無効領域をハッチパターンで描画するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.InvalidHatchPattern [ = InvalidHatchConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetInvalidHatchPattern()

imagekitcontrolname.SetInvalidHatchPattern(long Val)

(3)VB.NET imagekitcontrolname.InvalidHatchPattern [ = ImageKit10(A)Lib.InvalidHatchConstants ]

(4)C#.NET imagekitcontrolname.InvalidHatchPattern [ = ImageKit10(A)Lib.InvalidHatchConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 無効領域をハッチパターンで描画しない（BackColorプロパティで塗り潰す）
1 | 無効領域をハッチパターンで描画する
2 | 無効領域を透明にする（表示モードがスケール時に有効）

定数(ikNonHatch = 0, ikShowHatch = 1, ikTransparentHatch = 2)を使用することも可能です。

【解説】

デフォルトは1(ikShowHatch)です。

1(ikShowHatch)の場合、InvalidHatchColorプロパティに設定した色で無効領域を描画します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


IsCapSupported, IsCapSupportedVariant（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

IsCapSupported, IsCapSupportedVariant

【機能】

データソースから指定した項目がサポートされているかどうかを確認します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Scan.IsCapSupported(CapNo As ScanCapabilityConstants, Value As Long)

[ Boolean = ]imagekitcontrolname.Scan.IsCapSupportedVariant(CapNo AsScanCapabilityConstants, Value As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetScan().IsCapSupported(long CapNo, long *Value)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Scan.IsCapSupported(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef Value As Integer)

[ Boolean = ]imagekitcontrolname.Scan.IsCapSupportedVariant(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef Value As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Scan.IsCapSupported(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref int Value)

[ bool = ]imagekitcontrolname.Scan.IsCapSupportedVariant(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref object Value)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
CapNo 確認する項目番号（16進表記）
0x1002 ドキュメントフィーダー機能
0x1003 ドキュメントフィーダーに用紙があるかどうかを確認する機能
0x100b インジケータ
0x100e UIコントロール機能
0x100f デバイスの稼動状態の確認機能
0x1011 サムネイル画像の転送機能
0x1012 ドキュメントフィーダーの両面機能
0x1014 設定用UI表示機能
0x1015 UI設定値の取得/設定機能
0x1100 明るさの自動化
0x112d 未定義サイズ
0x112e デジタルカメラ内の画像枚数
0x1150 自動領域切り出し機能
0x1151 デスキュー（傾き補正）
0xf003 モアレフィルタ使用時の最大有効解像度
0xf005 ADFを使用した両面スキャン時の裏面回転
0xf008 白黒/カラー自動判別読み取り機能
0xf009 マルチストリーム
0xf00a 文字向き検知または自動回転
0xf00c パンチ穴除去
0xf00f 境界補正
0xf010 ガンマ補正
※Visual Basic(.NET含む)は0xを&Hに置き換えてください。
定数(ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnablikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanAutoBright = 0x1100, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanImageMerge = 0x115c, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e, ikScanBorder = 0xf00f)を使用することも可能です。
Value | 状態を取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

項目がサポートされているかどうかを確認するにはDsNameプロパティを設定する必要があります。

DsNameプロパティに空文字列を指定する場合は、予めSelectメソッドを実行しておいてください。

（OpenDSメソッドを事前に実行した場合はDsNameプロパティは無効で、オープンされたデータソースが有効）

IsCapSupported(Variant)メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

IsCapSupported(Variant)メソッドを実行する前にOpenDSメソッドを実行すると、オープン中のデータソースは他のアプリケーションからは利用できなくなり、データソースを占有することができます。

Valueに設定される値について

CapNoがドキュメントフィーダー機能を示す場合、0:フィーダー使用不可（原稿台使用可）, 1:フィーダー使用可, 2: 原稿台とフィーダー使用可。

CapNoがドキュメントフィーダーに用紙があるかどうかの機能を示す場合、0:用紙なし, 1:用紙あり。

CapNoがインジケータを示す場合、0:インジケータ使用不可, 1:インジケータ使用可。

CapNoがUIコントロール機能を示す場合、0:メーカ提供UIのみ, 1:メーカ提供UI非表示可。

CapNoがデバイスの稼動状態の確認機能を示す場合、現在の状態を表します。（0:応答なし, 1:使用可）

CapNoがサムネイル画像の転送機能を示す場合、0:サムネイル転送不可, 1:サムネイル転送可。

CapNoがドキュメントフィーダーの両面機能を示す場合、0:両面スキャン不可, 1:1回の読み取りで両面スキャン、2:2回の読み取りで両面スキャン。

CapNoが設定用UI表示機能を示す場合、0:設定用UI表示不可, 1:設定用UI表示可。

CapNoがUI設定値の取得/設定機能を示す場合、0:UI設定値の取得/設定不可, 1: UI設定値の取得/設定可。

CapNoが明るさの自動化を示す場合、0:明るさの自動不可, 1:明るさの自動可。

CapNoが未定義サイズを示す場合、一般的には「0:未定義サイズ使用不可, 1:未定義サイズ使用可」となりますが、エプソン製スキャナ用ドライバご利用時には次の値が設定されます。「0：使用不可, 1:原稿台のみ可, 2:ADFのみ可, 3:原稿台,ADFとも可」。

CapNoがデジタルカメラ内の画像枚数を示す場合、撮影した画像の数を表します。

CapNoが自動領域切り出し機能を示す場合、0:領域切り出し不可, 1:領域切り出し可。

CapNoがデスキュー（傾き補正）を示す場合、0:デスキュー使用不可, 1:デスキュー使用可, 2:デスキュー滑らかオプション使用可。2が設定されるのはパナソニック製スキャナ用ドライバのみですが、その場合は1も使用可能です。

CapNoがモアレフィルタ使用時の最大有効解像度を示す場合、最大有効解像度を表します。エプソン製スキャナ用ドライバご利用時に有効です。

CapNoがADFを使用した両面スキャン時の裏面回転を示す場合、0：裏面回転不可, 1:裏面回転可。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ『EPSON Scan』ご利用時に有効です。

CapNoが白黒/カラー自動判別読み取り機能を示す場合、0:白黒/カラー自動判別読み取り不可, 1:白黒/カラー自動判別読み取り可。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

CapNoがマルチストリームを示す場合、0:マルチストリーム不可, 1:マルチストリーム可。マルチストリームとは1枚の原稿から2つの異なるピクセルタイプの画像を取得することです。キヤノンDR製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。

CapNoが文字向き検知または自動回転を示す場合、0:文字向き検知または自動回転不可, 1:文字向き検知または自動回転可。文字向き検知についてはキヤノン製DRスキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。キヤノン製DRスキャナ用ドライバでは「文字向き検知」、パナソニック製スキャナ用ドライバでは「原稿方向補正」という表現を用いています。

また、TWAIN仕様書に記載されている自動回転に対応しているドライバについても確認できます。

CapNoがパンチ穴除去を示す場合、0:パンチ穴除去不可, 1:パンチ穴除去可。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

CapNoがガンマ補正を示す場合、0:ガンマ補正不可, 1:ガンマ補正可。エプソン製スキャナ用ドライバご利用時に有効です。

※メソッドの戻り値がFalse(0)の場合にはValueは設定されません。

ASPでは、IsCapSupportedVariantメソッドをご使用ください。

IsCapSupportedメソッドは以前のImageKitで提供していたスキャンコントロールのScanIsCapSupportedメソッドに相当します。

【ImageKit7 ActiveXとの違い】

CapNoに設定用UI表示機能、UI設定値の取得/設定機能、マルチストリーム、文字向き検知または自動回転、パンチ穴除去の値が追加されました。また、ドキュメントフィーダー機能でValueに新たに2が設定されるようになりました。

【ImageKit8 ActiveXとの違い】

CapNoに境界補正、ガンマ補正の値が追加されました。

【ImageKit9 ActiveXとの違い】

CapNoに明るさの自動化の値が追加されました。


IsClipBrdData（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

IsClipBrdData

【機能】

クリップボードにデータがあるかどうかをチェックします。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.IsClipBrdData

(2)Visual C++ [ BOOL = ]imagekitcontrolname.IsClipBrdData()

(3)VB.NET [ Boolean = ]imagekitcontrolname.IsClipBrdData()

(4)C#.NET [ bool = ]imagekitcontrolname.IsClipBrdData()

【引数】

ありません。

【戻り値】

データがある場合はTrue(0以外)、データがない場合はFalse(0)が返されます。

【解説】

クリップボードにデータがあるかどうかをチェックします。


IsExif（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

IsExif

【機能】

ファイル形式がExifかどうかを取得します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.IsExif [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetExif().GetIsExif()

(3)VB.NET imagekitcontrolname.File.Exif.IsExif [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.Exif.IsExif [ = bool ]

【参照値】

値 | 説明
True | Exif
False | Exif以外

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

【値の設定】

不可

【値の参照】

実行時


IsOpenDS（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

IsOpenDS

【機能】

データソースがオープンされているかどうかを確認します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.IsOpenDS

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().IsOpenDS()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.IsOpenDS()

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.IsOpenDS()

【引数】

ありません。

【戻り値】

オープンされている場合はTrue(0以外)、そうでない場合はFalse(0)を返します。

【解説】

事前にOpenDSメソッドが実行され、データソースが正しくオープンされている場合はTrue(0以外)を返します。

IsOpenDSメソッドは以前のImageKitで提供していたスキャンコントロールのIsOpenDSメソッドに相当します。


ISOSpeedRatings（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ISOSpeedRatings

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.ISOSpeedRatings [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetISOSpeedRatings()

imagekitcontrolname.GetFile().GetExif().SetISOSpeedRatings(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.ISOSpeedRatings [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.ISOSpeedRatings [ = short ]

【設定値】

ISO 12232xivで規定されるカメラまたは入力機器のISO SpeedおよびISO Latitude

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


IsSelected（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

IsSelected

【機能】

指定したサムネイル画像が選択されているかどうかを判定します。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.IsSelected(ImageNumber As Integer)

(2)Visual C++ [ BOOL = ]thumbcontrolname.IsSelected(short ImageNumber)

(3)VB.NET [ Boolean = ]thumbcontrolname.IsSelected(ImageNumber As Short)

(4)C#.NET [ bool = ]thumbcontrolname.IsSelected(short ImageNumber)

【引数】

名称 | 内容
ImageNumber | サムネイルの一連番号（1～）

【戻り値】

選択されている場合はTrue(0以外)、選択されていない場合もしくは失敗した場合はFalse(0)を返します。

【解説】

マウスやキーボード、またはSelectImageメソッドで選択したサムネイル画像の情報を取得する際に使用します。

引数のImageNumberをThumbArrayNumプロパティに設定することにより、ThumbArrayFileName, ThumbArrayPage, ThumbArrayPathNameプロパティを参照できます。


JPEG2000CodeBlockHeight, JPEG2000CodeBlockWidth（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JPEG2000CodeBlockHeight, JPEG2000CodeBlockWidth

【機能】

JPEG2000形式のコードブロックサイズを取得または設定します。

【書式】

※JPEG2000CodeBlockHeightにて説明（JPEG2000CodeBlockWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.JPEG2000CodeBlockHeight [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetJPEG2000CodeBlockHeight()

imagekitcontrolname.GetFile().SetJPEG2000CodeBlockHeight(short Val)

(3)VB.NET imagekitcontrolname.File.JPEG2000CodeBlockHeight [ = Short ]

(4)C#.NET imagekitcontrolname.File.JPEG2000CodeBlockHeight [ = short ]

【設定値】

JPEG2000CodeBlockHeighは縦方向のコードブロックサイズ。

JPEG2000CodeBlockWidthは横方向のコードブロックサイズ。

【解説】

デフォルト値は0です。コードブロックサイズには2のべき乗"2～10"を指定します（2^2～2^10）。

プロパティ値はJPEG2000形式で保存する際に使用されます。

【値の設定】

実行時

【値の参照】

実行時


JPEG2000NumrResLevel（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JPEG2000NumrResLevel

【機能】

JPEG2000形式の解像度レベルを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.JPEG2000NumrResLevel [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetJPEG2000NumrResLevel()

imagekitcontrolname.GetFile().SetJPEG2000NumrResLevel(short Val)

(3)VB.NET imagekitcontrolname.File.JPEG2000NumrResLevel [ = Short ]

(4)C#.NET imagekitcontrolname.File.JPEG2000NumrResLevel [ = short ]

【設定値】

解像度レベル（0～）。

【解説】

デフォルト値は0です。

プロパティ値はJPEG2000形式で保存する際に使用されます。

【値の設定】

実行時

【値の参照】

実行時


JPEG2000PrecinctHeight, JPEG2000PrecinctWidth（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JPEG2000PrecinctHeight, JPEG2000PrecinctWidth

【機能】

JPEG2000形式のプレシンクトサイズを取得または設定します。

【書式】

※JPEG2000PrecinctHeightにて説明（JPEG2000PrecinctWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.JPEG2000PrecinctHeight [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetJPEG2000PrecinctHeight()

imagekitcontrolname.GetFile().SetJPEG2000PrecinctHeight(short Val)

(3)VB.NET imagekitcontrolname.File.JPEG2000PrecinctHeight [ = Short ]

(4)C#.NET imagekitcontrolname.File.JPEG2000PrecinctHeight [ = short ]

【設定値】

JPEG2000PrecinctHeighは縦方向のプレシンクトサイズ。

JPEG2000PrecinctWidthは横方向のプレシンクトサイズ。

【解説】

デフォルト値は0です。プレシンクトサイズには2のべき乗"1～15"を指定します（2^1～2^15）。

プロパティ値はJPEG2000形式で保存する際に使用されます。

【値の設定】

実行時

【値の参照】

実行時


JPEG2000Reversible（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JPEG2000Reversible

【機能】

JPEG2000形式の圧縮方法を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.JPEG2000Reversible [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetJPEG2000Reversible()

imagekitcontrolname.GetFile().SetJPEG2000Reversible(BOOL Val)

(3)VB.NET imagekitcontrolname.File.JPEG2000Reversible [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.JPEG2000Reversible [ = bool ]

【設定値】

値 | 説明
True | 可逆圧縮
False | 非可逆圧縮

【解説】

デフォルトはTrueです。

Trueの場合、ファイルサイズは大きくなりますが画像の劣化はありません。Falseの場合、JPEG2000Sizeプロパティにファイルの保存サイズを設定します。

プロパティ値はJPEG2000形式で保存する際に使用されます。

【値の設定】

実行時

【値の参照】

実行時


JPEG2000Size（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JPEG2000Size

【機能】

JPEG2000形式のファイルの保存サイズを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.JPEG2000Size [ = Double ]

(2)Visual C++ [ double = ]imagekitcontrolname.GetFile().GetJPEG2000Size()

imagekitcontrolname.GetFile().SetJPEG2000Size(double Val)

(3)VB.NET imagekitcontrolname.File.JPEG2000Size [ = Double ]

(4)C#.NET imagekitcontrolname.File.JPEG2000Size [ = double ]

【設定値】

非圧縮時のイメージサイズに対する倍数。

【解説】

プロパティ値が0.01であれば非圧縮時に比べてファイルサイズが1/100となります。デフォルト値は0.1です。

JPEG2000ReversibleプロパティがFalseの場合に有効です。プロパティ値はJPEG2000形式で保存する際に使用されます。

【値の設定】

実行時

【値の参照】

実行時


JPEG2000TileHeight, JPEG2000TileWidth（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JPEG2000TileHeight, JPEG2000TileWidth

【機能】

JPEG2000形式のタイルサイズを取得または設定します。

【書式】

※JPEG2000TileHeightにて説明（JPEG2000TileWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.JPEG2000TileHeight [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetJPEG2000TileHeight()

imagekitcontrolname.GetFile().SetJPEG2000TileHeight(long Val)

(3)VB.NET imagekitcontrolname.File.JPEG2000TileHeight [ = Integer ]

(4)C#.NET imagekitcontrolname.File.JPEG2000TileHeight [ = int ]

【設定値】

JPEG2000TileHeightは縦方向のタイルサイズ（ピクセル単位）。

JPEG2000TileWidthは横方向のタイルサイズ（ピクセル単位）。

【解説】

デフォルト値は0です。

プロパティ値はJPEG2000形式で保存する際に使用されます。

【値の設定】

実行時

【値の参照】

実行時


JpegQuality（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JpegQuality

【機能】

イメージ保存時（JPEG形式またはFPXのJPEG形式）の圧縮品質係数を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.JpegQuality [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetJpegQuality()

imagekitcontrolname.GetFile().SetJpegQuality(short Val)

(3)VB.NET imagekitcontrolname.File.JpegQuality [ = Short ]

(4)C#.NET imagekitcontrolname.File.JpegQuality [ = short ]

【設定値】

0～100(推奨 75)。

【解説】

デフォルト値は75です。

この値が小さいほどファイルサイズは小さくなりますが、イメージの品質は悪くなります。逆に、この値が大きいほどファイルサイズは大きくなりますが、イメージの品質は良くなります。

イメージをJPEGまたはFPX（JPEG形式）ファイルに保存する際に設定します。

【値の設定】

実行時

【値の参照】

実行時


JpegQuality（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

JpegQuality

【機能】

ファイルおよびメモリ転送時における圧縮方法がJPEGの場合の品質係数を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.JpegQuality [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetJpegQuality(short Val)

(3)VB.NET imagekitcontrolname.Scan.JpegQuality [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.JpegQuality [ = short ]

【設定値】

-4：未定義、-3:低品質、-2：中品質、-1:高品質、0～100。

【解説】

TransferModeプロパティが1(ikScanFile)もしくは2(ikScanMemory)でCompressionプロパティが6(ikScanJPEG)の場合に有効です。設定可能な値については、GetCapRange(Variant)メソッドもしくはGetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


JpegSubsamp（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

JpegSubsamp

【機能】

イメージ保存時（JPEG形式）のYCrCbのサブサンプリングを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.JpegSubsamp [ = JpegSubsampConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetJpegSubsamp()

imagekitcontrolname.GetFile().SetJpegSubsamp(long Val)

(3)VB.NET imagekitcontrolname.File.JpegSubsamp [ = ImageKit10(A)Lib.JpegSubsampConstants ]

(4)C#.NET imagekitcontrolname.File.JpegSubsamp [ = ImageKit10(A)Lib.JpegSubsampConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | Y:Cr:Cb 4:1:1
1 | Y:Cr:Cb 4:2:2
2 | Y:Cr:Cb 4:4:4

定数(ik411 = 0, ik422 = 1, ik444 = 2)を使用することも可能です。

【解説】

Yは輝度情報、CrとCbは色相情報を表します。保存するイメージが24ビットカラーの時に有効になります。

イメージをJPEGファイルに保存する際に設定します。

【値の設定】

実行時

【値の参照】

実行時


Keywords（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

Keywords

【機能】

キーワードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.Keywords [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetKeywords()

imagekitcontrolname.GetFile().GetPDF().SetKeywords(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.Keywords [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.Keywords [ = String ]

【設定値】

キーワード。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティで設定した文字列はPDFの文書のプロパティの概要の「キーワード」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


Landscape（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

Landscape

【機能】

文書の向きを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.Landscape [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetLandscape()

imagekitcontrolname.GetFile().GetPDF().SetLandscape(BOOL Val)

(3)VB.NET imagekitcontrolname.File.PDF.Landscape [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.PDF.Landscape [ = bool ]

【設定値】

値 | 説明
True | ランドスケープ（横向き）
False | ポートレート（縦向き）

【解説】

デフォルトはFalseです。各ページごとに文書の向きの設定を変更することができます。ページによって文書の向きを変更する場合はAddImageメソッド実行前に当プロパティに適切な値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


Latitude, Longitude, MapDatum（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

Latitude, Longitude, MapDatum

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※Latitudeにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.Latitude [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetLatitude()

imagekitcontrolname.GetFile().GetExif().SetLatitude(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.Latitude [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.Latitude [ = string ]

【設定値】

Latitudeは、緯度の方角（"N":北緯, "S":南緯）

Longitudeは、経度の方角（"E":東経, "W":西経）

MapDatumは、測位に用いた地図データ。GPS受信機が使用した測地系を示す。日本で採用されている測地系として、'TOKYO'もしくは'WGS-84'などがある。

【解説】

ExifのGPSに関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


LayerAlphaChannel（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

LayerAlphaChannel

【機能】

Layerメソッドでアルファチャンネルを考慮するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Effect.LayerAlphaChannel [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEffect().GetLayerAlphaChannel()

imagekitcontrolname.GetEffect().SetLayerAlphaChannel(BOOL Val)

(3)VB.NET imagekitcontrolname.Effect.LayerAlphaChannel [ = Boolean ]

(4)C#.NET imagekitcontrolname.Effect.LayerAlphaChannel [ = bool ]

【設定値】

値 | 説明
True | アルファチャンネルを考慮する
False | アルファチャンネルを考慮しない（デフォルト）

【解説】

LayerAlphaChannelプロパティにTrueを設定する例として、例えばJPEG画像の上にアルファチャンネルの設定のあるPNG画像を重ね合わせることが考えられます。

【値の設定】

実行時

【値の参照】

実行時


LayerImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

LayerImage

【機能】

ラスタイメージの重ね合わせを行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.LayerImage(Handle1 As LONG_PTR, Handle2 As LONG_PTR, Trans As Integer, TransColor As Boolean, TRed As Integer, TGreen As Integer, TBlue As Integer, BRed As Integer, BGreen As Integer, BBlue As Integer, x As Long, y As Long, Clip As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().LayerImage(LONG_PTR Handle1, LONG_PTR Handle2, short Trans, BOOL TransColor, short TRed, short TGreen, short TBlue, short BRed, short BGreen, short BBlue, long x, long y, BOOL Clip)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.LayerImage(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), Trans As Short, TransColor As Boolean, TRed As Short, TGreen As Short, TBlue As Short, BRed As Short, BGreen As Short, BBlue As Short, x As Integer, y As Integer, Clip As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.LayerImage(int(x86) or long(x64) Handle1, int(x86) or long(x64) Handle2, short Trans, bool TransColor, short TRed, short TGreen, short TBlue, short BRed, short BGreen, short BBlue, int x, int y, bool Clip)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Handle1 | 重ねられるラスタイメージのハンドル(1, 4, 8, 16, 24, 32ビットイメージ)
Handle2 | 重ねるラスタイメージのハンドル(1, 4, 8, 16, 24, 32ビットイメージ)
Trans | 透かしの度合い (0～255 数が大きいほど Handle2 が生きる)
TransColor | Handle2に対する透明色の設定（False(0):なし、True(0以外):あり）
TRed | Handle2に対する透明色 赤(0～255)
TGreen | Handle2に対する透明色 緑(0～255)
TBlue | Handle2に対する透明色 青(0～255)
BRed | 重ね合わせたイメージの無効領域の背景色 赤(0～255)
Bgreen | 重ね合わせたイメージの無効領域の背景色 緑(0～255)
BBlue | 重ね合わせたイメージの無効領域の背景色 青(0～255)
x, y | 貼り付け座標（ピクセル）
Clip | クリッピングの有無（False(0):なし、True(0以外):あり）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Handle2のイメージの左上の点を、Handle1のイメージのx, yの位置に合わせて貼り付けを行います。

ClipがTrueの時は、Handle1のイメージのサイズより大きくなった場合に、はみでた領域をカットします。

TransColorがTrue(0以外)の場合は、TRed・TGreen・TBlueで設定された色を透明色として使用します。

アルファチャンネルを考慮して重ね合わせをする場合は、LayerAlphaChannelプロパティをTrueにして、かつHandle2に有効なアルファチャンネルが入ったRGBAの32ビットイメージを与える必要があります。

なお、LayerAlphaChannelプロパティをTrueに設定した場合、Transは無効になります。

成功した場合、処理後のラスタイメージのメモリハンドルはImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定されます（LayerNoプロパティによって設定されるプロパティが決まります）。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

出力されるイメージのビット数の説明

・Handle1とHandle2のビット数が共に8ビット以下で、かつ同じビット数であり、かつ同じパレット数と並びの場合は入力イメージのビット数と同じになります。ただし、Handle1とHandle2が8ビットグレースケールではなくTransが0か255以外の場合は24ビットイメージになります。

・Handle1とHandle2のビット数が共に8ビット以下でも、ビット数が違うか、ビット数が同じでもパレット数と並びが違う場合は24ビットイメージになります。

・Handle1とHandle2のどちらかが16ビット以上の場合は、大きいビット数になります。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

LayerImageメソッドは以前のImageKitで提供していたエフェクトコントロールのLayerメソッドに相当します。

【ImageKit7/8 ActiveXとの違い】

引数Handle1, Handle2の型が変更されました。


LayerNo（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

LayerNo

【機能】

処理対象となるイメージ番号を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.LayerNo [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetLayerNo()

imagekitcontrolname.SetLayerNo(short Val)

(3)VB.NET imagekitcontrolname.LayerNo [ = Short ]

(4)C#.NET imagekitcontrolname.LayerNo [ = short ]

【設定値】

イメージ番号（デフォルトは-1）。

-1：基本イメージ

0～99：階層イメージ

【解説】

ファイルの読み込みや保存処理、もしくはエフェクト処理などで対象となるイメージ番号を示します。

例えば、LayerNoプロパティに-1を設定してファイルをロードするとImageHandleプロパティに値が設定され、LayerNoプロパティに0～99を設定してファイルをロードするとLayer(LayerNo).ImageHandleプロパティに値が設定されます。

【値の設定】

実行時

【値の参照】

実行時


Left, Top（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

Left, Top

【機能】

パンウィンドウを表示する左上位置をピクセル単位で示します。

【書式】

※Leftにて説明（Topも同様な使い方）

(1)Visual Basic imagekitcontrolname.PanWindow.Left [ = Long ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetPanWindow().GetLeft()

imagekitcontrolname.GetPanWindow().SetLeft(long Val)

(3)VB.NET imagekitcontrolname.PanWindow.Left [ = Integer ]

(4)C#.NET imagekitcontrolname.PanWindow.Left [ = int ]

【設定値】

スクリーン左上からのパンウィンドウの左上位置（ピクセル単位）。

Leftは、左位置

Topは、上位置

【解説】

パンウィンドウを表示する位置を指定します。パンウィンドウのサイズはSizeプロパティで設定します。パンウィンドウを使用すると、イメージキットコントロールに表示しているイメージ全体を簡単に把握することができます。

Left, Topプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowLeft, PanWindowTopプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


Lens, LensVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Lens, LensVariant

【機能】

ラスタイメージにレンズ効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Lens(x As Long, y As Long, Points As Long, Refract As Double, BackColor As Boolean, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.LensVariant(x As Variant, y As Variant, Refract As Double, BackColor As Boolean, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Lens(long *x, long *y, long Points, double Refract, BOOL BackColor, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Lens(ByRef x As Integer, ByRef y As Integer, Points As Integer, Refract As Double, BackColor As Boolean, Red As Short, Green As Short, Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.LensVariant(ByRef x As Object, ByRef y As Object, Refract As Double, BackColor As Boolean, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Lens(ref int x, ref int y, int Points, double Refract, bool BackColor, short Red, short Green, short Blue)

[ bool = ]imagekitcontrolname.Effect.LensVariant(ref object x, ref object y, double Refract, bool BackColor, short Red, short Green, short Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Lens (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える LensVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Lensのみ）
Refract | レンズの倍率（1.0以上）
BackColor | レンズの外側の背景色の描画設定 [ True(0以外)：塗る False(0)：塗らない]
Red | レンズの外側の背景色 赤(0～255)
Green | レンズの外側の背景色 緑(0～255)
Blue | レンズの外側の背景色 青(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

BackColorがTrue(0以外)の時、Red, Green, Blueが有効になります。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、LensVariantメソッドをご使用ください。


LightSource（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

LightSource

【機能】

光源の種類を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.LightSource [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetLightSource()

imagekitcontrolname.GetFile().GetExif().SetLightSource(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.LightSource [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.LightSource [ = short ]

【設定値】

値 | 説明
0 | 不明
1 | 昼光
2 | 蛍光灯
3 | タングステン（白熱灯）
4 | フラッシュ
9 | 晴天
10 | 曇天
11 | 日陰
12 | 昼光色蛍光灯（D:5700 – 7100K）
13 | 昼白色蛍光灯（N:4600 – 5500K）
14 | 白色蛍光灯（W:3800 – 4500K）
15 | 温白色蛍光灯（WW:3250 – 3800K）
16 | 電球色蛍光灯（L:2600 – 3250K）
17 | 標準光A
18 | 標準光B
19 | 標準光C
20 | D55
21 | D65
22 | D75
23 | D50
24 | ISO studio tungsten
255 | その他

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Line（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Line

【機能】

描画先オブジェクトに直線を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Line(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Line(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Line(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Line(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left,top | 始点のx,y座標
right,bottom | 終点のx,y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left,topで指定された座標から、right,bottomで指定された座標まで直線を描画します。

ただし、right, bottomの点自体は線に含まれず描画されません。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外の場合に有効です。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


ListOfFileNames（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ListOfFileNames

【機能】

サムネイルコントロールで表示するイメージファイルの名称リストを取得または設定します。

【書式】

(1)Visual Basic thumbcontrolname.ListOfFileNames [ = String ]

(2)Visual C++ [ CString = ]thumbcontrolname.GetListOfFileNames()

thumbcontrolname.SetListOfFileNames (LPCTSTR Val)

(3)VB.NET thumbcontrolname.ListOfFileNames [ = String ]

(4)C#.NET thumbcontrolname.ListOfFileNames [ = string ]

【設定値】

ファイル名のリスト（一つでも可）。

【解説】

複数のフォルダに存在する特定のファイルや一つのフォルダでも特定のファイルのみ表示する場合に使用します。複数のファイルを指定する場合はファイルの名称をセミコロン（；）で区切ってください。

ファイル名のリストを使用する場合はFilePathプロパティに空文字列を設定して無効にしてください。当プロパティが有効となる場合はFileExtプロパティの値は無視されます。また、当プロパティにはフルパスまたは相対パスでファイル名を設定してください。

【値の設定】

実行時

【値の参照】

実行時


List（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

List

【機能】

データソースを列挙します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.List

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().List()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.List()

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.List()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

成功した場合は、インストールされているデータソースの数がDsNameCountプロパティに、データソースのリストがDsNameListプロパティに設定されます。

List メソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

Listメソッドは以前のImageKitで提供していたスキャンコントロールのScanListメソッドに相当します。


LoadFileMem（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

LoadFileMem

【機能】

Rawデータからイメージを読み込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.LoadFileMem(Val As LoadFileConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().LoadFileMem(long Val)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.LoadFileMem(Val As ImageKit10(A)Lib.LoadFileConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.LoadFileMem(ImageKit10(A)Lib.LoadFileConstants Val)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Val | 0(自動認識), 1(BMP), 2(JPEG/Exif), 3(GIF), 4(TIFF), 5(PNG), 6(FPX), 7(PCX), 8(WMF), 9(EMF), 10(DXF), 11(SVG), 12(JPEG2000), 13(SXF p21), 14(SXF sfc)

定数(ikLoad = 0, ikLoadBMP = 1, ikLoadJPEG = 2, ikLoadGIF = 3, ikLoadTIFF = 4, ikLoadPNG = 5, ikLoadFPX = 6, ikLoadPCX = 7, ikLoadWMF = 8, ikLoadEMF = 9, ikLoadDXF = 10, ikLoadSVG = 11, ikLoadJPEG2000 = 12, ikLoadSXFP21 = 13, ikLoadSXFSFC = 14)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ImageHandleRawDataプロパティに設定されたRawデータを、LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にイメージのメモリハンドルが設定されます。ただし、TIFFのJPEG形式については読み込みに失敗する場合がありますのでご了承ください。

Rawデータがマルチイメージの場合は、LoadPageプロパティに読み込むページを設定します。

PNG形式のRawデータの場合はPngAlphaChannelプロパティを設定してください。

DXF, EMF, SVG, SXF, WMF形式のRawデータの場合はVectorHeight, VectorWidthプロパティを設定してください。

また、読み込み処理中の進捗状況ダイアログを表示させるためにキャプション、メッセージ、ボタンをそれぞれCaption, Message, ButtonNameプロパティに設定することもできます。

ファイルあるいはRawデータから読み込む違いはありますが、動作としてはLoadFileメソッドと同じです。

（注意）

FPX, SXF形式の場合、内部で一時的にテンポラリファイルを作成します。

Exif(JPEG)の主画像を読み込む場合は当メソッドを使用しますが、サムネイル画像や詳細な情報を取得する場合は、GetImageFileTypeMemメソッドをご使用ください。Exifはバージョン2.3の一部のタグにも対応しています。


LoadFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

LoadFile

【機能】

ファイルからイメージを読み込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.LoadFile(Val As LoadFileConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().LoadFile(long Val)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.LoadFile(Val As ImageKit10(A)Lib.LoadFileConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.LoadFile(ImageKit10(A)Lib.LoadFileConstants Val)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Val | 0(自動認識), 1(BMP), 2(JPEG/Exif), 3(GIF), 4(TIFF), 5(PNG), 6(FPX), 7(PCX), 8(WMF), 9(EMF), 10(DXF), 11(SVG), 12(JPEG2000), 13(SXF p21), 14(SXF sfc)

定数(ikLoad = 0, ikLoadBMP = 1, ikLoadJPEG = 2, ikLoadGIF = 3, ikLoadTIFF = 4, ikLoadPNG = 5, ikLoadFPX = 6, ikLoadPCX = 7, ikLoadWMF = 8, ikLoadEMF = 9, ikLoadDXF = 10, ikLoadSVG = 11, ikLoadJPEG2000 = 12, ikLoadSXFP21 = 13, ikLoadSXFSFC = 14)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

FileNameプロパティに設定されたファイルを読み込み、LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にイメージのメモリハンドルが設定されます。ただし、TIFFのJPEG形式については読み込みに失敗するファイルも存在しますのでご了承ください。

マルチイメージファイルの場合は、LoadPageプロパティに読み込むページを設定します。

PNGファイルの場合はPngAlphaChannelプロパティを設定してください。

DXF, EMF, SVG, SXF, WMFファイルの場合はVectorHeight, VectorWidthプロパティを設定してください。

また、読み込み処理中の進捗状況ダイアログを表示させるためにキャプション、メッセージ、ボタンをそれぞれCaption, Message, ButtonNameプロパティに設定することもできます。

Exif(JPEG)の主画像を読み込む場合は当メソッドを使用しますが、サムネイル画像や詳細な情報を取得する場合は、GetImageFileTypeメソッドをご使用ください。Exifはバージョン2.3の一部のタグにも対応しています。

＜FlashPixについて＞

FlashPixの最大の特徴は、マルチ・レゾリューション(複数解像度）で、さらにタイル構造を持つファイル・フォーマットであり、基画像から最小画像までの、画素数の異なる複数画面を一つのファイルの中に持つことができ、編集・印刷など異なった用途に最適な解像度で対応することができます。それぞれの解像度の画面は、64x64のブロック(タイル)に分割されています。タイル内は、非圧縮・JPEG 圧縮・単色圧縮のいずれかが可能です。

【ImageKit7 ActiveXとの違い】

FTPサーバーやHTTP(S)サーバーに配置されているファイルを読み込むことができるようになりました。詳しくはFileNameプロパティの説明を参照してください。


LoadFromStream（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

LoadFromStream

【機能】

ストリームからイメージを読み込みます。

【書式】

(1)Visual Basic imagekitcontrolname.File.LoadFromStream(Variant Data)

(2)VB.NET imagekitcontrolname.File.LoadFromStream(Data As Object)

(3)C#.NET imagekitcontrolname.File.LoadFromStream(object Data)

【引数】

名称 | 内容
Data | ストリーム

【戻り値】

ありません。

【解説】

ASPなどで使用します。メソッドを実行するとImageHandleRawDataプロパティにRawデータが設定されます。

コード例：

Dim ArrayData() As Byte

' File -> Rawdata

ImageKit1.File.FileName = "c:\001.jpg"

ImageKit1.File.FileLoadAsRawData

' Rawdata -> Array

ArrayData = ImageKit1.File.SaveToStream

' Array -> Rawdata

ImageKit1.File.LoadFromStream ArrayData

' Rawdata -> File

ImageKit1.File.FileName = "c:\abc.jpg"

ImageKit1.File.FileSaveAsRawData


LoadPage（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

LoadPage

【機能】

複数イメージ読込時（FPX/GIF/TIFF形式）の読込むページを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.LoadPage [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetLoadPage()

imagekitcontrolname.GetFile().SetLoadPage(short Val)

(3)VB.NET imagekitcontrolname.File.LoadPage [ = Short ]

(4)C#.NET imagekitcontrolname.File.LoadPage [ = short ]

【設定値】

読込むイメージのページ数。

最初のページは0です。（FPXの基画像も0です。）

【解説】

GIF/TIFF形式では、複数のイメージをひとつのファイルに格納してある「マルチイメージファイル」が存在する場合があります。またFPX形式は、マルチ・レゾリューション（複数解像度）で基画像から最小画像までの画素数の異なる複数画面を1つのファイルに持つことができます。

LoadPageプロパティは、その「マルチイメージファイル」から指定した1イメージ（ページ）をメモリ上に読み込む時に使用します。LoadPageプロパティに設定したページがない場合は、LoadFileメソッドもしくはLoadFileMemメソッド実行後、False(0)が返されます。

【値の設定】

実行時

【値の参照】

実行時


LoadTwain（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

LoadTwain

【機能】

TWAIN DLLをロードします。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.LoadTwain(FileName As String)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().LoadTwain(LPCTSTR FileName)

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.LoadTwain(FileName As String)

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.LoadTwain(string FileName)

【引数】

名称 | 内容
FileName | TWAIN DLLのファイル名（フルパス）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

32ビット用のOCXでtwain_32.dll(Windowsフォルダ)を使用する場合や64ビット用のOCXで64ビット用のTWAINDSM.dll(Windows\System32フォルダ)を使用する場合は当メソッドを実行する必要はありません（ImageKit内で自動的にロード/解放が行われます）。

32ビット用のOCXで32ビット用のTWAINDSM.dllを使用する場合に当メソッドを実行してください。

LoadTwain メソッドはInitializeメソッドより前に実行してください。


MagnifierMouseDown（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MagnifierMouseDown

【機能】

虫眼鏡ウィンドウ表示中にその領域内でマウスのボタンを押した際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MagnifierMouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMagnifierMouseDown imagekitcontrolname(short Button, short Shift, long x, long y)

(3)VB.NET

imagekitcontrolname_MagnifierMouseDown(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseDownEvent)

(4)C#.NET

imagekitcontrolname_MagnifierMouseDown(object sender, AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseDownEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Button | 押されたボタンの種類（1:左ボタン, 2:右ボタン, 4:中央ボタン）
Shift | 押されたキーの種類（0：なし, 1:Shiftキー, 2:Ctrlキー, 4:Altキー）
x, y | 虫眼鏡ウィンドウの中心座標（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにButtonなどが含まれます（先頭の文字が小文字になります）。

【解説】

複数のキーが押された場合、Shiftの値は論理和となります。


MagnifierMouseMove（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MagnifierMouseMove

【機能】

虫眼鏡ウィンドウ表示中にその領域内でマウスを移動した際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MagnifierMouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMagnifierMouseMove imagekitcontrolname(short Button, short Shift, long x, long y)

(3)VB.NET

imagekitcontrolname_MagnifierMouseMove(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseMoveEvent)

(4)C#.NET

imagekitcontrolname_MagnifierMouseMove(object sender, AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseMoveEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Button | 押されたボタンの種類（0：なし, 1:左ボタン, 2:右ボタン, 4:中央ボタン）
Shift | 押されたキーの種類（0：なし, 1:Shiftキー, 2:Ctrlキー, 4:Altキー）
x, y | 虫眼鏡ウィンドウの中心座標（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにButtonなどが含まれます（先頭の文字が小文字になります）。

【解説】

複数のキーが押された場合、Shiftの値は論理和となります。


MagnifierMouseUp（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MagnifierMouseUp

【機能】

虫眼鏡ウィンドウ表示中にその領域内でマウスのボタンを離した際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MagnifierMouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMagnifierMouseUp imagekitcontrolname(short Button, short Shift, long x, long y)

(3)VB.NET

imagekitcontrolname_MagnifierMouseUp(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseUpEvent)

(4)C#.NET

imagekitcontrolname_MagnifierMouseUp(object sender, AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseUpEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Button | 離されたボタンの種類（1:左ボタン, 2:右ボタン, 4:中央ボタン）
Shift | 押されたキーの種類（0：なし, 1:Shiftキー, 2:Ctrlキー, 4:Altキー）
x, y | 虫眼鏡ウィンドウの中心座標（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにButtonなどが含まれます（先頭の文字が小文字になります）。

【解説】

複数のキーが押された場合、Shiftの値は論理和となります。


MainArtist, MainCopyright, MainDateTime, MainImageDescription, MainMake, MainModel, MainSoftware, ThumbArtist, ThumbCopyright, ThumbDateTime, ThumbImageDescription, ThumbMake, ThumbModel, ThumbSoftware（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

MainArtist, MainCopyright, MainDateTime, MainImageDescription, MainMake, MainModel, MainSoftware, ThumbArtist, ThumbCopyright, ThumbDateTime, ThumbImageDescription, ThumbMake, ThumbModel, ThumbSoftware

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※MainArtistにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.MainArtist [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainArtist()

imagekitcontrolname.GetFile().GetExif().SetMainArtist(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.MainArtist [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.MainArtist [ = string ]

【設定値】

1.主画像に関する情報

MainArtistは、主画像の作者名

MainCopyrightは、主画像の撮影著作権者/編集著作権者

MainDateTimeは、ファイル作成日時

フォーマットは"YYYY:MM:DD HH:MM:SS"。時間は24時間表示とし、日付と時間の間に空白文字を1つ挿入。

例：　"1996：09：01 09:15:30"

MainImageDescriptionは、画像タイトル

MainMakeは、画像入力機器のメーカ名

MainModelは、画像入力機器のモデル名

MainSoftwareは、使用ソフトウェア名

2.サムネイル画像に関する情報

ThumbArtistは、サムネイル画像の作者名

ThumbCopyrightは、サムネイル画像の撮影著作権者/編集著作権者

ThumbDateTimeは、ファイル作成日時

フォーマットは"YYYY:MM:DD HH:MM:SS"。時間は24時間表示とし、日付と時間の間に空白文字を1つ挿入。

例：　"1996：09：01 09:15:30"

ThumbImageDescriptionは、画像タイトル

ThumbMakeは、画像入力機器のメーカ名

ThumbModelは、画像入力機器のモデル名

ThumbSoftwareは、使用ソフトウェア名

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


MainOrientation, ThumbOrientation（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

MainOrientation, ThumbOrientation

【機能】

行と列の観点から見た画像の方向を示します。

【書式】

※MainOrientationにて説明（ThumbOrientationも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.MainOrientation [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetMainOrientation()

imagekitcontrolname.GetFile().GetExif().SetMainOrientation(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.MainOrientation [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.MainOrientation [ = short ]

【設定値】

値 | 説明
1 | 0番目の行が目で見たときの画像の上、0番目の列が左側となる
2 | 0番目の行が目で見たときの画像の上、0番目の列が右側となる
3 | 0番目の行が目で見たときの画像の下、0番目の列が右側となる
4 | 0番目の行が目で見たときの画像の下、0番目の列が左側となる
5 | 0番目の行が目で見たときの画像の左側、0番目の列が上となる
6 | 0番目の行が目で見たときの画像の右側、0番目の列が上となる
7 | 0番目の行が目で見たときの画像の右側、0番目の列が下となる
8 | 0番目の行が目で見たときの画像の左側、0番目の列が下となる

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

MainOrientationは主画像に関する情報で、ThumbOrientationはサムネイル画像に関する情報です。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


MainXResolution0, MainXResolution1, MainYResolution0, MainYResolution1, ThumbXResolution0, ThumbXResolution1, ThumbYResolution0, ThumbYResolution1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

MainXResolution0, MainXResolution1, MainYResolution0, MainYResolution1, ThumbXResolution0, ThumbXResolution1, ThumbYResolution0, ThumbYResolution1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※MainXResolution0にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.MainXResolution0 [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetMainXResolution0()

imagekitcontrolname.GetFile().GetExif().SetMainXResolution0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.MainXResolution0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.MainXResolution0 [ = int ]

【設定値】

1.主画像に関する情報

MainXResolution0は、イメージの横方向の1MainResolutionUnitあたりの画素数の分子

MainXResolution1は、イメージの横方向の1MainResolutionUnitあたりの画素数の分母

横方向の解像度（単位はMainResolutionUnit値） = MainXResolution0 / MainXResolution1

MainYResolution0は、イメージの縦方向の1MainResolutionUnitあたりの画素数の分子

MainYResolution1は、イメージの縦方向の1MainResolutionUnitあたりの画素数の分母

縦方向の解像度（単位はMainResolutionUnit値） = MainYResolution0 / MainYResolution1

2.サムネイル画像に関する情報

ThumbXResolution0は、イメージの横方向の1ThumbResolutionUnitあたりの画素数の分子

ThumbXResolution1は、イメージの横方向の1ThumbResolutionUnitあたりの画素数の分母

横方向の解像度（単位はThumbResolutionUnit値） = ThumbXResolution0 / ThumbXResolution1

ThumbYResolution0は、イメージの縦方向の1ThumbResolutionUnitあたりの画素数の分子

ThumbYResolution1は、イメージの縦方向の1ThumbResolutionUnitあたりの画素数の分母

縦方向の解像度（単位はThumbResolutionUnit値） = ThumbYResolution0 / ThumbYResolution1

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


MainYCbCrPositioning, ThumbYCbCrPositioning（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

MainYCbCrPositioning, ThumbYCbCrPositioning

【機能】

輝度サンプルに対するクロマサンプルの相対的配置を特定します。

【書式】

※MainYCbCrPositioningにて説明（ThumbYCbCrPositioningも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.MainYCbCrPositioning [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetMainYCbCrPositioning()

imagekitcontrolname.GetFile().GetExif().SetMainYCbCrPositioning(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.MainYCbCrPositioning [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.MainYCbCrPositioning [ = short ]

【設定値】

値 | 説明
1 | 中心
2 | 一致

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

MainYCbCrPositioningは主画像に関する情報で、ThumbYCbCrPositioningはサムネイル画像に関する情報です。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


MakeRGBAImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

MakeRGBAImage

【機能】

RGBとAからRGBAの32ビットイメージを作成します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.MakeRGBAImage

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().MakeRGBAImage()

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.MakeRGBAImage()

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.MakeRGBAImage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

RGBイメージのメモリハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）に設定し、A（アルファチャンネル）イメージのメモリハンドルをMaskImageHandleプロパティ（1, 8ビットグレースケールイメージ）に設定します。

成功した場合、RGBAの32ビットイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


MakerNote, UserComment, UserCommentID（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

MakerNote, UserComment, UserCommentID

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※MakerNoteにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.MakerNote [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMakerNote()

imagekitcontrolname.GetFile().GetExif().SetMakerNote(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.MakerNote [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.MakerNote [ = string ]

【設定値】

MakerNoteは、Exifライターのメーカが個別の情報を記入するタグ

UserCommentは、画像に対してExifユーザがキーワードやコメントを書き込むためのタグ

UserCommentIDは、UserCommentに書かれる文字コードを判別するために、識別コードを8バイト固定で記入し、余った領域にはNULL（0x00）でパディングする。

文字コード | コード記入方法（8バイト） | リファレンス
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

【解説】

Exifのユーザ情報に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Manufacturer, ProductFamily, ProductName, ProtocolMajor, ProtocolMinor, SourceMajor, SourceMinor, SourceVersionInfo（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Manufacturer, ProductFamily, ProductName, ProtocolMajor, ProtocolMinor, SourceMajor, SourceMinor, SourceVersionInfo

【機能】

SelectメソッドやGetDSInfoメソッドで取得されるデータソースの情報を示します。

【書式】

※Manufacturerにて説明（ProductFamily, ProductName, SourceVersionInfoも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.Manufacturer [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetScan().GetManufacturer()

(3)VB.NET imagekitcontrolname.Scan.Manufacturer [ = String ]

(4)C#.NET imagekitcontrolname.Scan.Manufacturer [ = string ]

※ProtocolMajorにて説明（ProtocolMinor, SourceMajor, SourceMinorも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.ProtocolMajor [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetScan().GetProtocolMajor()

(3)VB.NET imagekitcontrolname.Scan.ProtocolMajor [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.ProtocolMajor [ = short ]

【参照値】

データソースの情報。

Manufacturerは製造者名。

ProductFamilyは製品ファミリー名。

ProductNameは製品名。

ProtocolMajorはサポートするTWAINのメジャーバージョン番号。

ProtocolMinorはサポートするTWAINのマイナーバージョン番号。

SourceMajorはデータソースのメジャーバージョン番号。

SourceMinorはデータソースのマイナーバージョン番号。

SourceVersionInfoはデータソースのバージョン情報。

【値の設定】

不可

【値の参照】

実行時


Mask1632（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

Mask1632

【機能】

ImageHandleプロパティに設定された16ビットカラーおよび32ビットカラーのイメージのカラーマスクの種類を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).Mask1632 [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetLayer(Index).GetMask1632()

(3)VB.NET imagekitcontrolname.get_Layer(Index).Mask1632 [ = Short ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).Mask1632 [ = short ]

※Indexは0～99

【参照値】

16, 32ビットカラーの時のカラーマスクの種類。

値 | 説明
0 | BitCountプロパティが16, 32でない
1 | カラーマスクあり（RGB555フォーマット）
2 | カラーマスクあり（RGB565フォーマット）
3 | カラーマスクなし（RGB555フォーマット）
4 | カラーマスクあり（RGB888フォーマット）
5 | カラーマスクなし（RGB888フォーマット）

【解説】

ImageHandleプロパティに値が設定されると、Mask1632プロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


Mask1632（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Mask1632

【機能】

ImageHandleプロパティに設定された16ビットカラーおよび32ビットカラーのイメージのカラーマスクの種類を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Mask1632 [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetMask1632()

(3)VB.NET imagekitcontrolname.Mask1632 [ = Short ]

(4)C#.NET imagekitcontrolname.Mask1632 [ = short ]

【参照値】

16, 32ビットカラーの時のカラーマスクの種類。

値 | 説明
0 | BitCountプロパティが16, 32でない
1 | カラーマスクあり（RGB555フォーマット）
2 | カラーマスクあり（RGB565フォーマット）
3 | カラーマスクなし（RGB555フォーマット）
4 | カラーマスクあり（RGB888フォーマット）
5 | カラーマスクなし（RGB888フォーマット）

【解説】

ImageHandleプロパティに値が設定されると、Mask1632プロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


MaskFileName（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

MaskFileName

【機能】

入力用のマスクイメージのファイル名を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Effect.MaskFileName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetEffect().GetMaskFileName()

imagekitcontrolname.GetEffect().SetMaskFileName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Effect.MaskFileName [ = String ]

(4)C#.NET imagekitcontrolname.Effect.MaskFileName [ = string ]

【設定値】

マスクイメージのファイル名

【解説】

処理対象となるマスクイメージのファイル名を設定します。マスクイメージはImageHandleプロパティに対するイメージです。マスクイメージは1ビット（白黒2値）イメージでなければなりません。

MaskImageHandleプロパティとMaskFileNameプロパティは両方ともマスクイメージを表しますが、最後に設定されたプロパティがエフェクト処理に使用されるマスクイメージとなります。

エフェクト処理が成功するとMaskImageHandleプロパティに処理後のマスクイメージが設定されます。

【値の設定】

実行時

【値の参照】

実行時


MaskImageHandle（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

MaskImageHandle

【機能】

入出力用のマスクイメージのメモリハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.Effect.MaskImageHandle [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetEffect().GetMaskImageHandle()

imagekitcontrolname.GetEffect().SetMaskImageHandle(LONG_PTR Val)

(3)VB.NET imagekitcontrolname.Effect.MaskImageHandle [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.Effect.MaskImageHandle [ = int(x86) or long(x64) ]

※x86は32ビット版、x64は64ビット版を表します。

【設定値】

マスクイメージのメモリハンドル

【解説】

処理対象となるマスクイメージのメモリハンドルを設定します。マスクイメージはImageHandleプロパティに対するイメージです。マスクイメージは1ビット（白黒2値）イメージでなければなりません。

MaskImageHandleプロパティとMaskFileNameプロパティは両方ともマスクイメージを表しますが、最後に設定されたプロパティがエフェクト処理に使用されるマスクイメージとなります。

エフェクト処理が成功するとMaskImageHandleプロパティは自動的に更新されます。

MaskImageHandleプロパティは内部で更新されますので、明示的に解放する必要はありません。

MaskImageHandleプロパティは以前のImageKitで提供していたエフェクトコントロールのInMskHandle, OutMskHandleプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


MaximumBitRate,MinimumBitRate（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

MaximumBitRate, MinimumBitRate

【機能】

最大/最小のビットレートを取得します。

【書式】

※MaximumBitRateにて説明（MinimumBitRateも同様な使い方）

(1)Visual Basic recordcontrolname.MaximumBitRate [ = Long ]

(2)Visual C++ [ long = ]recordcontrolname.GetMaximumBitRate()

(3)VB.NET recordcontrolname.MaximumBitRate [ = Integer ]

(4)C#.NET recordcontrolname.MaximumBitRate [ = int ]

【参照値】

ビットレート（ビット/秒）。

【解説】

GetStreamFormatメソッドを実行することにより、値が更新されます。

BitRateプロパティに設定する値の目安となりますが、ビデオデバイスによっては最大/最小の範囲外の値を設定することも可能です。

【値の設定】

実行時

【値の参照】

実行時


MaximumFrameRate,MinimumFrameRate（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

MaximumFrameRate, MinimumFrameRate

【機能】

最大/最小のフレームレートを取得します。

【書式】

※MaximumFrameRateにて説明（MinimumFrameRateも同様な使い方）

(1)Visual Basic previewcontrolname.MaximumFrameRate [ = Double ]

(2)Visual C++ [ double = ]previewcontrolname.GetMaximumFrameRate()

(3)VB.NET previewcontrolname.MaximumFrameRate [ = Double ]

(4)C#.NET previewcontrolname.MaximumFrameRate [ = double ]

【参照値】

フレームレート（フレーム/秒）。

【解説】

GetStreamFormatメソッドを実行することにより、値が更新されます。

FrameRateプロパティに値を設定する場合の目安となります。

【値の設定】

実行時

【値の参照】

実行時


MaximumFrameRate,MinimumFrameRate（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

MaximumFrameRate, MinimumFrameRate

【機能】

最大/最小のフレームレートを取得します。

【書式】

※MaximumFrameRateにて説明（MinimumFrameRateも同様な使い方）

(1)Visual Basic recordcontrolname.MaximumFrameRate [ = Double ]

(2)Visual C++ [ double = ]recordcontrolname.GetMaximumFrameRate()

(3)VB.NET recordcontrolname.MaximumFrameRate [ = Double ]

(4)C#.NET recordcontrolname.MaximumFrameRate [ = double ]

【参照値】

フレームレート（フレーム/秒）。

【解説】

GetStreamFormatメソッドを実行することにより、値が更新されます。

FrameRateプロパティに値を設定する場合の目安となります。

【値の設定】

実行時

【値の参照】

実行時


MeasureString, MeasureStringVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

MeasureString, MeasureStringVariant

【機能】

GDI+の機能を利用してテキストの情報から文字列の幅と高さを取得します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.MeasureString(hDC As LONG_PTR, AreaWidth As Long, AreaHeight As Long, Width As Single, Height As Single, charactersFitted As Long, linesFilled As Long, FormatFlags As StringFormatFlagsConstants, UnitMode As DeviceUnitModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.MeasureStringVariant(hDC As LONG_PTR, AreaWidth As Long, AreaHeight As Long, Width As Variant, Height As Variant, charactersFitted As Variant, linesFilled As Variant, FormatFlags As StringFormatFlagsConstants, UnitMode As DeviceUnitModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().MeasureString(LONG_PTR hDC, long AreaWidth, long AreaHeight, float *Width, float *Height, long *charactersFitted, long *linesFilled, long FormatFlags, long UnitMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.MeasureString(hDC As Integer(x86) or Long(x64), AreaWidth As Integer, AreaHeight As Integer, ByRef Width As Single, ByRef Height As Single, ByRef charactersFitted As Integer, ByRef linesFilled As Integer, FormatFlags As ImageKit10(A)Lib.StringFormatFlagsConstants, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.MeasureStringVariant(hDC As Integer(x86) or Long(x64), AreaWidth As Integer, AreaHeight As Integer, ByRef Width As Object, ByRef Height As Object, ByRef charactersFitted As Object, ByRef linesFilled As Object, FormatFlags As ImageKit10(A)Lib.StringFormatFlagsConstants, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.MeasureString(int(x86) or long(x64) hDC, int AreaWidth, int AreaHeight, ref float Width, ref float Height, ref int charactersFitted, ref int linesFilled, ImageKit10(A)Lib.StringFormatFlagsConstants FormatFlags, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

[ bool = ]imagekitcontrolname.PrintDraw.MeasureStringVariant(int(x86) or long(x64) hDC, int AreaWidth, int AreaHeight, ref object Width, ref object Height, ref object charactersFitted, ref object linesFilled, ImageKit10(A)Lib.StringFormatFlagsConstants FormatFlags, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDC | デバイスコンテキスト
AreaWidth | 矩形領域の最大幅（0～）
AreaHeight | 矩形領域の最大高さ（0～）
Width | 文字列の幅を取得する変数
Height | 文字列の高さを取得する変数
charactersFitted | 取得する文字列の文字数
linesFilled | 取得する文字列の行数
FormatFlags | 文字列の書式情報（デフォルトは0）
UnitMode | 計測時の単位（0:ピクセル単位、1:0.1mm単位）

定数(ikPrinterPixel = 0, ikPrinterMM = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

文字列の幅と高さを取得するにはFontName, FontSize, HCentering, VCentering, HotkeyPrefix, Textプロパティに値を設定する必要があります。AreaWidthとAreaHeightのどちらかに0を設定した場合は、Textプロパティに与えられた文字列の幅と高さを取得しますが、AreaWidthとAreaHeightに1以上を与えた場合は、その矩形領域に含まれる文字列の幅と高さを取得します。charactersFittedとlinesFilledについても同様な扱いとなります。

ASPでは、MeasureStringVariantメソッドをご使用ください。

AreaWidth, AreaHeight, Width, Heightをピクセル単位として返す場合

UnitModeが0(ikPrinterPixel)

AreaWidth, AreaHeight, Width, Heightを0.1mm単位として返す場合

UnitModeが1(ikPrinterMM)

文字列の書式情報を示します。FormatFlagsに設定する値は次の値の論理和となります。

値 | 説明
0x00000001 | テキストの方向を右から左に指定します。
0x00000002 | テキストが縦書きになるよう指定します。
0x00000004 | グリフが外接する四角形にかからないよう指定します。既定では、端に表示する必要がある場合、一部のグリフが若干四角形にかかるよう設定されます。
0x00000020 | 左から右を指示するマークなどの制御文字をグリフで表現します。
0x00000400 | フォールバックを無効にして、要求されたフォントでサポートされていない文字のフォントを切り替えます。 欠落文字は、グリフの欠落したフォント(通常は空白の正方形)で表示されます。
0x00000800 | 既定では、各行末の空白が除外されます。各行末の空白を計測に含める場合はこの値を設定します。
0x00001000 | 四角形内の書式指定時に、行間のテキストのラップを無効にします。この値は、四角形ではなく点が渡された場合、または長さゼロの行の四角形が指定された場合に暗黙的に指定されます。
0x00002000 | 書式指定用の四角形には、完全な直線だけがレイアウトされます。既定では、クリッピングの結果、テキストの末尾が表示された状態、または行が表示されなくなった状態のうち、いずれか早い方の状態になるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、なるまでレイアウトが継続します。既定の設定では、行高さの整数倍でない書式指定用四角形を用いた場合は、最後の行の一部が隠れることがあります。必ず行全体が表示されるようにするには、この値を指定した上で、少なくとも1つの行と高さが同じの書式指定用の四角形をご使用ください。
0x00004000 | 論理グリフの突出部と書式指定用の四角形からはみ出すラップされていないテキストを表示できます。 既定では、書式指定用の四角形からはみ出たテキストとグリフ部はすべてクリップされます。

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

定数(ikDirectionRightToLeft = 0x00000001, ikDirectionVertical = 0x00000002, ikNoFitBlackBox = 0x00000004, ikDisplayFormatControl = 0x00000020, ikNoFontFallback = 0x00000400, ikMeasureTrailingSpaces = 0x00000800, ikNoWrap = 0x00001000, ikLineLimit = 0x00002000, ikNoClip = 0x00004000)を使用することも可能です。

コード例：

(1)Visual Basic

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim TxRight As Long

Dim TxBottom As Long

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "ＭＳ ゴシック"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "テキスト"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = vbRed

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = vbWhite

ImageKit1.PrintDraw.Alpha2 = 255

'グラデーションブラシを使用

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

(2)Visual C++

float Str_Width, Str_Height;

long charactersFitted, linesFilled, right, bottom;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetFontSize(20);

ImageKit1.GetPrintDraw().SetFontName("ＭＳ ゴシック");

ImageKit1.GetPrintDraw().SetHotkeyPrefix(0);

ImageKit1.GetPrintDraw().SetText("テキスト");

ImageKit1.GetPrintDraw().MeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, 0);

right = 10 + (long)Str_Width - 1;

bottom = 10 + (long)Str_Height - 1;

ImageKit1.GetPrintDraw().SetCharAngle(0);

ImageKit1.GetPrintDraw().SetTextColor1(RGB(255, 0, 0));

ImageKit1.GetPrintDraw().SetAlpha1(255);

ImageKit1.GetPrintDraw().SetTextColor2(RGB(255, 255, 255));

ImageKit1.GetPrintDraw().SetAlpha2(255);

//グラデーションブラシを使用

ImageKit1.GetPrintDraw().DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

(3)VB.NET

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Integer

Dim linesFilled As Integer

Dim TxRight As Integer

Dim TxBottom As Integer

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "ＭＳ ゴシック"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "テキスト"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = ColorTranslator.ToWin32(Color.Red)

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = ColorTranslator.ToWin32(Color.White)

ImageKit1.PrintDraw.Alpha2 = 255

'グラデーションブラシを使用

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

(4)C#.NET

float Str_Width, Str_Height;

int charactersFitted, linesFilled, right, bottom;

Str_Width = Str_Height = 0;

charactersFitted = linesFilled = 0;

ImageKit1.PrintDraw.FontSize = 20;

ImageKit1.PrintDraw.FontName = "ＭＳ ゴシック";

ImageKit1.PrintDraw.HotkeyPrefix = 0;

ImageKit1.PrintDraw.Text = "テキスト";

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, ref Str_Width, ref Str_Height, ref charactersFitted, ref linesFilled, 0, 0);

right = 10 + (int)Str_Width - 1;

bottom = 10 + (int)Str_Height - 1;

ImageKit1.PrintDraw.CharAngle = 0;

ImageKit1.PrintDraw.TextColor1 = (uint)ColorTranslator.ToWin32(Color.Red);

ImageKit1.PrintDraw.Alpha1 = 255;

ImageKit1.PrintDraw.TextColor2 = (uint)ColorTranslator.ToWin32(Color.White);

ImageKit1.PrintDraw.Alpha2 = 255;

//グラデーションブラシを使用

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

【ImageKit7/8 ActiveXとの違い】

引数hDCの型が変更されました。


MeteringMode（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

MeteringMode

【機能】

測光方式を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.MeteringMode [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetMeteringMode()

imagekitcontrolname.GetFile().GetExif().SetMeteringMode(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.MeteringMode [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.MeteringMode [ = short ]

【設定値】

値 | 説明
0 | 不明
1 | 平均
2 | 中央重点
3 | スポット
4 | マルチスポット
5 | 分割測光
6 | 部分測光
255 | その他

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Modify（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Modify

【機能】

ImageHdcプロパティで編集したイメージをメモリハンドルへコピーします。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Edit.Modify

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().Modify()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Edit.Modify()

(4)C#.NET [ bool = ]imagekitcontrolname.Edit.Modify()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

編集対象がラスタイメージの場合は、ImageHdcプロパティに描画されている内容をImageHandleプロパティが示すメモリハンドルにコピーします。

編集対象がベクトルイメージの場合は、Modifyメソッドとは関係なくイメージ編集ツールバーの操作毎にImageHandleプロパティおよびLayer(EditImageLayerNo).ImageHandleプロパティが示すメモリハンドルが更新されます（EditImageLayerNoプロパティの値による）。


MoireFilter（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

MoireFilter

【機能】

開発者作成UIで取り込む時のモアレ除去フィルタのレベルを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.MoireFilter [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetMoireFilter(short Val)

(3)VB.NET imagekitcontrolname.Scan.MoireFilter [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.MoireFilter [ = short ]

【設定値】

値 | 説明
エプソン製スキャナ用ドライバ
0 | なし
1 | 標準（汎用的な設定）
2 | 85lpi（新聞など）
3 | 133lpi（週刊誌やカタログなど）
4 | 175lpi（写真など）
キヤノン製DRスキャナ用ドライバ
1 | なし
2 | 高速
3 | 高画質
PFU製スキャナ用ドライバ
0 | なし
1 | モアレ除去レベル 1
2 | モアレ除去レベル 2
3 | モアレ除去レベル 3
4 | モアレ除去レベル 4
パナソニック製スキャナ用ドライバ
0 | なし
1 | あり

【解説】

エプソン製スキャナ用ドライバ、キヤノン製DRスキャナ用ドライバ、PFU製スキャナ用ドライバ、パナソニック製スキャナ用ドライバご利用時に有効です。エプソン製スキャナ用ドライバご利用時に段階設定が可能なのはエプソンスキャナドライバ『EPSON Scan』ご利用時となります。

キヤノン製DRスキャナ用ドライバでは解像度が300dpi以下の場合に有効です。PFU製スキャナ用ドライバではSharpnessプロパティが0の場合に有効です。パナソニック製スキャナ用ドライバではモアレ除去とマルチストリームを同時に使用することはできません（どちらか一方を無効にしなければなりません）。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。なお、エプソン製スキャナ用ドライバのバージョンによっては有効無効の2つしか設定できないものがありますが、ImageKitではその場合0か0以外で判定します。データソースが機能をサポートしていない場合は無効です。

【値の設定】

実行時

【値の参照】

不可


Mosaic, MosaicVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Mosaic, MosaicVariant

【機能】

ラスタイメージにモザイク処理を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Mosaic(x As Long, y As Long, Points As Long, Width As Long, Height As Long)

[ Boolean = ]imagekitcontrolname.Effect.MosaicVariant(x As Variant, y As Variant, Width As Long, Height As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Mosaic(long *x, long *y, long Points, long Width, long Height)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Mosaic(ByRef x As Integer, ByRef y As Integer, Points As Integer, Width As Integer, Height As Integer)

[ Boolean = ]imagekitcontrolname.Effect.MosaicVariant(ByRef x As Object, ByRef y As Object, Width As Integer, Height As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Mosaic(ref int x, ref int y, int Points, int Width, int Height)

[ bool = ]imagekitcontrolname.Effect.MosaicVariant(ref object x, ref object y, int Width, int Height)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Mosaic (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える MosaicVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Mosaicのみ）
Width | モザイクの幅(ピクセル)
Height | モザイクの高さ(ピクセル)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

WidthとHeightが共に1以下の場合はモザイク処理を行いません。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、MosaicVariantメソッドをご使用ください。


MotionBlur, MotionBlurVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

MotionBlur, MotionBlurVariant

【機能】

ラスタイメージにモーションぼかし効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.MotionBlur(x As Long, y As Long, Points As Long, Mode As Integer, Length As Integer, Angle As Long)

[ Boolean = ]imagekitcontrolname.Effect.MotionBlurVariant(x As Variant, y As Variant, Mode As Integer, Length As Integer, Angle As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().MotionBlur(long *x, long *y, long Points, short Mode, short Length, long Angle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.MotionBlur(ByRef x As Integer, ByRef y As Integer, Points As Integer, Mode As Short, Length As Short, Angle As Integer)

[ Boolean = ]imagekitcontrolname.Effect.MotionBlurVariant(ByRef x As Object, ByRef y As Object, Mode As Short, Length As Short, Angle As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.MotionBlur(ref int x, ref int y, int Points, short Mode, short Length, int Angle)

[ bool = ]imagekitcontrolname.Effect.MotionBlurVariant(ref object x, ref object y, short Mode, short Length, int Angle)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） MotionBlur (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える MotionBlurVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（MotionBlurのみ）
Mode | ぼかしの種類（0:線形, 1:放射状, 2:拡大）
Length | ぼかしの度合い（長さ、0～255）
Angle | ぼかしの度合い（角度、1度単位）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、MotionBlurVariantメソッドをご使用ください。


MouseCursorFile, RectMouseCursorFile（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

MouseCursorFile, RectMouseCursorFile

【機能】

パンウィンドウのユーザ定義のマウスカーソルを取得または設定します。

【書式】

※MouseCursorFileにて説明（RectMouseCursorFileも同様な使い方）

(1)Visual Basic imagekitcontrolname.PanWindow.MouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetPanWindow().GetMouseCursorFile()

imagekitcontrolname.GetPanWindow().SetMouseCursorFile(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.PanWindow.MouseCursorFile [ = String ]

(4)C#.NET imagekitcontrolname.PanWindow.MouseCursorFile [ = string ]

【設定値】

MouseCursorFileはパンウィンドウの描画領域内におけるユーザ定義のカーソルファイル名。

RectMouseCursorFileはパンウィンドウの矩形領域内におけるユーザ定義のカーソルファイル名。

【解説】

MouseCursorType, RectMouseCursorTypeプロパティがぞれぞれ15(ikCursorCustom)の場合に有効です。

MouseCursorTypeプロパティに空の文字列を設定した場合、カーソル形状は矢印になります。

RectMouseCursorTypeプロパティに空の文字列を設定した場合は、カーソル形状は4方向矢印になります。

設定したカーソル形状が有効になるのは、パンウィンドウ内でマウスのボタンが押された場合です。

MouseCursorFile, RectMouseCursorFileプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowMouseCursorTypeFile, PanWindowMouseCurプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorFile, SelectMouseCursorFile（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

MouseCursorFile, SelectMouseCursorFile

【機能】

サムネイルコントロールのユーザ定義のマウスカーソルを設定します。

【書式】

※MouseCursorFileにて説明（SelectMouseCursorFileも同様な使い方）

(1)Visual Basic thumbcontrolname.MouseCursorFile [ = String ]

(2)Visual C++ thumbcontrolname.SetMouseCursorFile(LPCTSTR Val)

(3)VB.NET thumbcontrolname.MouseCursorFile [ = String ]

(4)C#.NET thumbcontrolname.MouseCursorFile [ = string ]

【設定値】

MouseCursorFileはサムネイルコントロールの描画領域内におけるユーザ定義のカーソルファイル名。

SelectMouseCursorFileはサムネイルのコマを選択する際のユーザ定義のカーソルファイル名。

【解説】

MouseCursorType, SelectMouseCursorTypeプロパティがぞれぞれ15(ikCursorCustom)の場合に有効です。

【値の設定】

実行時

【値の参照】

不可

【ImageKit6との違い】

MouseCursorプロパティがSelectMouseCursorFileプロパティに変更されました。

MouseCursorTypeFileプロパティがMouseCursorFileプロパティに変更されました。


MouseCursorFile（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

MouseCursorFile

【機能】

イメージキットコントロールの描画領域内におけるユーザ定義のマウスカーソルファイル名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.MouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetMouseCursorFile()

imagekitcontrolname.SetMouseCursorFile(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.MouseCursorFile [ = String ]

(4)C#.NET imagekitcontrolname.MouseCursorFile [ = string ]

【設定値】

ユーザ定義のカーソルファイル名。

【解説】

ユーザ定義のマウスカーソルを表すカーソルファイル名を設定します。

MouseCursorTypeプロパティが15(ikCursorCustom)の場合に有効です。

MouseCursorFileプロパティに空の文字列を設定した場合、カーソル形状は矢印になります。

MouseCursorFileプロパティは以前のImageKitで提供していたディスプレイコントロールのMouseCursorTypeFileプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorFile（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

MouseCursorFile

【機能】

プレイコントロールのユーザ定義のマウスカーソルを取得または設定します。

【書式】

(1)Visual Basic playcontrolname.MouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]playcontrolname.GetMouseCursorFile()

playcontrolname.SetMouseCursorFile(LPCTSTR Val)

(3)VB.NET playcontrolname.MouseCursorFile [ = String ]

(4)C#.NET playcontrolname.MouseCursorFile [ = string ]

【設定値】

プレイコントロールの描画領域内におけるユーザ定義のカーソルファイル名。

【解説】

MouseCursorTypeプロパティが15(ikCursorCustom)の場合に有効です。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorFile（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

MouseCursorFile

【機能】

プレビューコントロールのユーザ定義のマウスカーソルを取得または設定します。

【書式】

(1)Visual Basic previewcontrolname.MouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]previewcontrolname.GetMouseCursorFile()

previewcontrolname.SetMouseCursorFile(LPCTSTR Val)

(3)VB.NET previewcontrolname.MouseCursorFile [ = String ]

(4)C#.NET previewcontrolname.MouseCursorFile [ = string ]

【設定値】

プレビューコントロールの描画領域内におけるユーザ定義のカーソルファイル名。

【解説】

MouseCursorTypeプロパティが15(ikCursorCustom)の場合に有効です。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorFile（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

MouseCursorFile

【機能】

レコードコントロールのユーザ定義のマウスカーソルを取得または設定します。

【書式】

(1)Visual Basic recordcontrolname.MouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]recordcontrolname.GetMouseCursorFile()

recordcontrolname.SetMouseCursorFile(LPCTSTR Val)

(3)VB.NET recordcontrolname.MouseCursorFile [ = String ]

(4)C#.NET recordcontrolname.MouseCursorFile [ = string ]

【設定値】

レコードコントロールの描画領域内におけるユーザ定義のカーソルファイル名。

【解説】

MouseCursorTypeプロパティが15(ikCursorCustom)の場合に有効です。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorType, RectMouseCursorType（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

MouseCursorType, RectMouseCursorType

【機能】

パンウィンドウのマウスカーソルの形状を取得または設定します。

【書式】

※MouseCursorTypeにて説明（RectMouseCursorTypeも同様な使い方）

(1)Visual Basic imagekitcontrolname.PanWindow.MouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetPanWindow().GetMouseCursorType()

imagekitcontrolname.GetPanWindow().SetMouseCursorType(long Val)

(3)VB.NET imagekitcontrolname.PanWindow.MouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

(4)C#.NET imagekitcontrolname.PanWindow.MouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15)を使用することも可能です。

【解説】

MouseCursorTypeプロパティはパンウィンドウの描画領域内におけるマウスカーソルの形状を表します。

RectMouseCursorTypeプロパティはパンウィンドウの矩形領域内のマウスカーソルの形状を表します。

プロパティの値が15(ikCursorCustom)の場合、MouseCursorFile, RectMouseCursorFileプロパティにカーソルファイル名を設定する必要があります。

MouseCursorTypeプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowMouseCursorTypeプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorType, SelectMouseCursorType（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

MouseCursorType, SelectMouseCursorType

【機能】

サムネイルコントロールのマウスカーソルの形状を設定します。

【書式】

※MouseCursorTypeにて説明（SelectMouseCursorTypeも同様な使い方）

(1)Visual Basic thumbcontrolname.MouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ thumbcontrolname.SetMouseCursorType(long Val)

(3)VB.NET thumbcontrolname.MouseCursorType [ = ImageKit10Thumb(A)Lib.CursorTypeConstants ]

(4)C#.NET thumbcontrolname.MouseCursorType [ = ImageKit10Thumb(A)Lib.CursorTypeConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム
16 | 非表示

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16)を使用することも可能です。

【解説】

MouseCursorTypeプロパティはサムネイルコントロールの描画領域内におけるマウスカーソルの形状を表します。

SelectMouseCursorTypeプロパティはサムネイルのコマを選択する際のマウスカーソルの形状を表します。

プロパティの値が15(ikCursorCustom)の場合、MouseCursorFile, SelectMouseCursorFileプロパティにカーソルファイル名を設定する必要があります。

【値の設定】

実行時

【値の参照】

不可


MouseCursorType（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

MouseCursorType

【機能】

イメージキットコントロールの描画領域内におけるマウスカーソルの形状を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.MouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetMouseCursorType()

imagekitcontrolname.SetMouseCursorType(long Val)

(3)VB.NET imagekitcontrolname.MouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

(4)C#.NET imagekitcontrolname.MouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム
16 | 非表示
17 | イメージ編集ツールバーのデフォルトカーソル

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16, ikCursorDefault = 17)を使用することも可能です。

【解説】

プロパティの値が15(ikCursorCustom)の場合、MouseCursorFileプロパティにカーソルファイル名を設定する必要があります。プロパティの値が17(ikCursorDefault)の場合、イメージ編集ツールバーのそれぞれのボタンに割り当てられているカーソル（ImageKit10のコントロールで定義されているカーソル）が有効となります。

また、このプロパティはマウスドラッグ時のマウスカーソル形状を表すRectMouseCursorTypeプロパティとは異なります。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorType（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

MouseCursorType

【機能】

プレイコントロールのマウスカーソルの形状を取得または設定します。

【書式】

(1)Visual Basic playcontrolname.MouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ [ long = ]playcontrolname.GetMouseCursorType()

playcontrolname.SetMouseCursorType(long Val)

(3)VB.NET playcontrolname.MouseCursorType [ = ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

(4)C#.NET playcontrolname.MouseCursorType [ = ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム
16 | 非表示

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16)を使用することも可能です。

【解説】

プレイコントロールの描画領域内におけるマウスカーソルの形状を表します。

プロパティの値が15(ikCursorCustom)の場合、MouseCursorFileプロパティにカーソルファイル名を設定する必要があります。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorType（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

MouseCursorType

【機能】

プレビューコントロールのマウスカーソルの形状を取得または設定します。

【書式】

(1)Visual Basic previewcontrolname.MouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ [ long = ] previewcontrolname.GetMouseCursorType()

previewcontrolname.SetMouseCursorType(long Val)

(3)VB.NET previewcontrolname.MouseCursorType [ = ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

(4)C#.NET previewcontrolname.MouseCursorType [ = ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム
16 | 非表示

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16)を使用することも可能です。

【解説】

プレビューコントロールの描画領域内におけるマウスカーソルの形状を表します。

プロパティの値が15(ikCursorCustom)の場合、MouseCursorFileプロパティにカーソルファイル名を設定する必要があります。

【値の設定】

実行時

【値の参照】

実行時


MouseCursorType（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

MouseCursorType

【機能】

レコードコントロールのマウスカーソルの形状を取得または設定します。

【書式】

(1)Visual Basic recordcontrolname.MouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ [ long = ] recordcontrolname.GetMouseCursorType()

recordcontrolname.SetMouseCursorType(long Val)

(3)VB.NET recordcontrolname.MouseCursorType [ = ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

(4)C#.NET recordcontrolname.MouseCursorType [ = ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム
16 | 非表示

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16)を使用することも可能です。

【解説】

レコードコントロールの描画領域内におけるマウスカーソルの形状を表します。

プロパティの値が15(ikCursorCustom)の場合、MouseCursorFileプロパティにカーソルファイル名を設定する必要があります。

【値の設定】

実行時

【値の参照】

実行時


MouseDownImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseDownImage

【機能】

マウスのボタンを押した際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseDownImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMouseDownImage imagekitcontrolname(short Button, short Shift, long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight, long x, long y)

(3)VB.NET

imagekitcontrolname_MouseDownImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseDownImageEvent)

(4)C#.NET

imagekitcontrolname_MouseDownImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseDownImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Button | 押されたボタンの種類（1:左ボタン, 2:右ボタン, 4:中央ボタン）
Shift | 押されたキーの種類（0：なし, 1:Shiftキー, 2:Ctrlキー, 4:Altキー）
OriginX | イメージキットコントロール内でのイメージの表示開始座標（X）
OriginY | イメージキットコントロール内でのイメージの表示開始座標（Y）
Left | 表示されている実イメージの原点からの位置（左）
Top | 表示されている実イメージの原点からの位置（上）
Right | 表示されている実イメージの原点からの位置（右）
Bottom | 表示されている実イメージの原点からの位置（下）
ScaleWidth | 実イメージと表示イメージとの横方向のスケール（比率）
ScaleHeight | 実イメージと表示イメージとの縦方向のスケール（比率）
x, y | マウスダウンしたイメージ上のx, y座標

座標や位置を表す単位はピクセルとなります。

※VB.NET/C#.NETでは二番目の引数eにButtonなどが含まれます（先頭の文字が小文字になります）。

【解説】

マウスのボタンを押した際に発生します。標準のMouseDown（VB.NET/C#.NETはMouseDownEvent）イベントよりも先に発生します。

ImageHandleやLayer(Index).ImageHandleプロパティにイメージが設定されている場合に有効なイベントです。

複数のキーが押された場合、Shiftの値は論理和となります。

OriginX, OriginYはBorderVisible, Appearance, Gradプロパティの設定値により異なります。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub ImageKit1_MouseDownImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

End Sub


MouseDownSelectLayerImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseDownSelectLayerImage

【機能】

階層イメージ上でマウスボタンを押すと発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseDownSelectLayerImage(ByVal Index As Integer, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMouseDownSelectLayerImage imagekitcontrolname(short Index, long x, long y)

(3)VB.NET

imagekitcontrolname_MouseDownSelectLayerImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseDownSelectLayerImageEvent)

(4)C#.NET

imagekitcontrolname_MouseDownSelectLayerImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseDownSelectLayerImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Index | マウスボタンを押した領域に存在する階層イメージのインデックス（0～99）
x, y | Indexが指す階層イメージの左上からのオフセット（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにIndexなどが含まれます（先頭の文字が小文字になります）。

【解説】

Layerプロパティに実装されているImageHandleプロパティにイメージが設定され、マウスボタンを押した領域に階層イメージが存在する場合に有効なイベントです。

マウスボタンを押した領域に複数の階層イメージが存在する場合、最前面のイメージが選択されます。

例えば、マウスボタンを押した領域にLayerプロパティのインデックス0と3のイメージが含まれる場合、3番が選択されます。（0が最背面で99が最前面のため。インデックスの小さいものが下側に配置されます。）


MouseDragImage（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

MouseDragImage

【機能】

マウスやタッチ操作でイメージのスクロールを可能にするかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.MouseDragImage [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetMouseDragImage()

imagekitcontrolname.SetMouseDragImage(BOOL Val)

(3)VB.NET imagekitcontrolname.MouseDragImage [ = Boolean ]

(4)C#.NET imagekitcontrolname.MouseDragImage [ = bool ]

【設定値】

値 | 説明
True | スクロール可
False | スクロール不可

【解説】

Trueの場合、イメージキットコントロールのイメージをマウスやタッチ操作でドラッグすることによりスクロールが可能です。

MouseDragImageプロパティは以前のImageKitで提供していたディスプレイコントロールのScrollDragプロパティに相当します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


MouseMoveImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseMoveImage

【機能】

マウスを移動させた際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseMoveImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMouseMoveImage imagekitcontrolname(short Button, short Shift, long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight, long x, long y)

(3)VB.NET

imagekitcontrolname_MouseMoveImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseMoveImageEvent)

(4)C#.NET

imagekitcontrolname_MouseMoveImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseMoveImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Button | 押されたボタンの種類（1:左ボタン, 2:右ボタン, 4:中央ボタン）
Shift | 押されたキーの種類（0：なし, 1:Shiftキー, 2:Ctrlキー, 4:Altキー）
OriginX | イメージキットコントロール内でのイメージの表示開始座標（X）
OriginY | イメージキットコントロール内でのイメージの表示開始座標（Y）
Left | 表示されている実イメージの原点からの位置（左）
Top | 表示されている実イメージの原点からの位置（上）
Right | 表示されている実イメージの原点からの位置（右）
Bottom | 表示されている実イメージの原点からの位置（下）
ScaleWidth | 実イメージと表示イメージとの横方向のスケール（比率）
ScaleHeight | 実イメージと表示イメージとの縦方向のスケール（比率）
x, y | マウスを移動させたイメージ上のx, y座標

座標や位置を表す単位はピクセルとなります。

※VB.NET/C#.NETでは二番目の引数eにButtonなどが含まれます（先頭の文字が小文字になります）。

【解説】

マウスを移動させた際に発生します。標準のMouseMove（VB.NET/C#.NETはMouseMoveEvent）イベントよりも先に発生します。

ImageHandleやLayer(Index).ImageHandleプロパティにイメージが設定されている場合に有効なイベントです。

複数のキーが押された場合、Shiftの値は論理和となります。

OriginX, OriginYはBorderVisible, Appearance, Gradプロパティの設定値により異なります。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub ImageKit1_MouseMoveImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

End Sub


MouseMoveOnThumb（サムネイルコントロール／カスタムイベント）

サムネイルコントロール／カスタムイベント

MouseMoveOnThumb

【機能】

サムネイルコントロール上のコマ（サムネイル画像を表示する領域）をマウスで移動した時に発生します。

【書式】

(1)Visual Basic

thumbcontrolname_MouseMoveOnThumb(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)

(2)Visual C++

OnMouseMoveOnThumb thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage, short Left, short Top, short Right, short Bottom)

(3)VB.NET

thumbcontrolname_MouseMoveOnThumb(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_MouseMoveOnThumbEvent)

(4)C#.NET

thumbcontrolname_MouseMoveOnThumb(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_MouseMoveOnThumbEvent e)

※AxImageKit10ThumbALibはANSI版、AxImageKit10ThumbLibはUnicode版を表します。

【引数】

名称 | 内容
PathName | 移動先のイメージのフォルダ名
FileName | 移動先のイメージのファイル名
ImageNumber | サムネイルの一連番号
MaxImage | イメージの総数
Left | 移動先のサムネイル画像が属するコマの左位置（ピクセル）
Top | 移動先のサムネイル画像が属するコマの上位置（ピクセル）
Right | 移動先のサムネイル画像が属するコマの右位置（ピクセル）
Bottom | 移動先のサムネイル画像が属するコマの下位置（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにPathNameなどが含まれます（先頭の文字が小文字になります）。

【解説】

サムネイルコントロールにサムネイル画像が全く表示されていない場合、イベントは発生しません。また、移動先のコマに画像が表示されていない場合、PathNameとFileNameには空文字列が設定されます。

マルチイメージファイルの場合は、FileNameにページ番号が付加されます。

（ただし、ページ番号が0の場合は除きます。）

例えば、ABC.TIFファイルのページ番号が2の場合はFileNameに"ABC.TIF 2"が設定されます。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub IkThumb1_MouseMoveOnThumb(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left_ As Integer, ByVal Top As Integer, ByVal Right_ As Integer, ByVal Bottom As Integer)

End Sub

【ImageKit6/7/8/9 ActiveXとの違い】

EnableMouseMoveButtonプロパティの値に関わらずマウス移動時にイベントが発生します。


MouseUpImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseUpImage

【機能】

マウスのボタンを離した際に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseUpImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMouseUpImage imagekitcontrolname(short Button, short Shift, long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight, long x, long y)

(3)VB.NET

imagekitcontrolname_MouseUpImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseUpImageEvent)

(4)C#.NET

imagekitcontrolname_MouseUpImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseUpImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Button | 離したボタンの種類（1:左ボタン, 2:右ボタン, 4:中央ボタン）
Shift | 押されたキーの種類（0：なし, 1:Shiftキー, 2:Ctrlキー, 4:Altキー）
OriginX | イメージキットコントロール内でのイメージ表示開始座標（X）
OriginY | イメージキットコントロール内でのイメージ表示開始座標（Y）
Left | 表示されている実イメージの原点からの位置（左）
Top | 表示されている実イメージの原点からの位置（上）
Right | 表示されている実イメージの原点からの位置（右）
Bottom | 表示されている実イメージの原点からの位置（下）
ScaleWidth | 実イメージと表示イメージとの横方向のスケール（比率）
ScaleHeight | 実イメージと表示イメージとの縦方向のスケール（比率）
x, y | マウスアップしたイメージ上のx, y座標

座標や位置を表す単位はピクセルとなります。

※VB.NET/C#.NETでは二番目の引数eにButtonなどが含まれます（先頭の文字が小文字になります）。

【解説】

マウスのボタンを離した際に発生します。標準のMouseUp（VB.NET/C#.NETはMouseUpEvent）イベントよりも先に発生します。

ImageHandleやLayer(Index).ImageHandleプロパティにイメージが設定されている場合に有効なイベントです。

複数のキーが押された場合、Shiftの値は論理和となります。

OriginX, OriginYはBorderVisible, Appearance, Gradプロパティの設定値により異なります。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub ImageKit1_MouseUpImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

End Sub


MouseUpSelectLayerImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseUpSelectLayerImage

【機能】

階層イメージ上でマウスボタンを離すと発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseUpSelectLayerImage(ByVal Index As Integer, ByVal x As Long, ByVal y As Long)

(2)Visual C++

OnMouseUpSelectLayerImage imagekitcontrolname(short Index, long x, long y)

(3)VB.NET

imagekitcontrolname_MouseUpSelectLayerImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseUpSelectLayerImageEvent)

(4)C#.NET

imagekitcontrolname_MouseUpSelectLayerImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseUpSelectLayerImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Index | マウスボタンを離した領域に存在する階層イメージのインデックス（0～99）
x, y | Indexが指す階層イメージの左上からのオフセット（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにIndexなどが含まれます（先頭の文字が小文字になります）。

【解説】

Layerプロパティに実装されているImageHandleプロパティにイメージが設定され、マウスボタンを離した領域に階層イメージが存在する場合に有効なイベントです。

マウスボタンを離した領域に複数の階層イメージが存在する場合、最前面のイメージが選択されます。

例えば、マウスボタンを離した領域にLayerプロパティのインデックス0と3のイメージが含まれる場合、3番が選択されます。（0が最背面で99が最前面のため。インデックスの小さいものが下側に配置されます。）


MouseWheelDownImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseWheelDownImage

【機能】

マウスホイールを下へ回転すると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseWheelDownImage(ByVal Shift As Integer, ByVal Direction As MouseWheelConstants)

(2)Visual C++

OnMouseWheelDownImage imagekitcontrolname(short Shift, long Direction)

(3)VB.NET

imagekitcontrolname_MouseWheelDownImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseWheelDownImageEvent)

(4)C#.NET

imagekitcontrolname_MouseWheelDownImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseWheelDownImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Shift | 押されたボタンの種類（16進表記） 0x0001:マウスの左ボタン 0x0002:マウスの右ボタン 0x0004:Shiftキー 0x0008:Ctrlキー 0x0010:マウスの中央ボタン 複数のボタンが押された場合は上記の値の論理和となります。 ※Visual Basic(.NET含む)は0xを&Hに置き換えてください。
Direction | スクロールする方向（0：無効, 1:垂直方向, 2:水平方向）

定数(ikDisable = 0, ikVertical = 1, ikHorizontal = 2)を使用することも可能です。

※VB.NET/C#.NETでは二番目の引数eにShift, Directionが含まれます（先頭の文字が小文字になります）。

【解説】

DirectionはMouseWheelプロパティで設定した値となります。


MouseWheelUpImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

MouseWheelUpImage

【機能】

マウスホイールを上へ回転すると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_MouseWheelUpImage(ByVal Shift As Integer, ByVal Direction As MouseWheelConstants)

(2)Visual C++

OnMouseWheelUpImage imagekitcontrolname(short Shift, long Direction)

(3)VB.NET

imagekitcontrolname_MouseWheelUpImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseWheelUpImageEvent)

(4)C#.NET

imagekitcontrolname_MouseWheelUpImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseWheelUpImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Shift | 押されたボタンの種類（16進表記） 0x0001:マウスの左ボタン 0x0002:マウスの右ボタン 0x0004:Shiftキー 0x0008:Ctrlキー 0x0010:マウスの中央ボタン 複数のボタンが押された場合は上記の値の論理和となります。 ※Visual Basic(.NET含む)は0xを&Hに置き換えてください。
Direction | スクロールする方向（0：無効, 1:垂直方向, 2:水平方向）

定数(ikDisable = 0, ikVertical = 1, ikHorizontal = 2)を使用することも可能です。

※VB.NET/C#.NETでは二番目の引数eにShift, Directionが含まれます（先頭の文字が小文字になります）。

【解説】

DirectionはMouseWheelプロパティで設定した値となります。


MouseWheel（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

MouseWheel

【機能】

マウスホイールのスクロールの状態を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.MouseWheel [ = MouseWheelConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetMouseWheel()

imagekitcontrolname.SetMouseWheel(long Val)

(3)VB.NET imagekitcontrolname.CtlMouseWheel [ = ImageKit10(A)Lib.MouseWheelConstants ]

(4)C#.NET imagekitcontrolname.CtlMouseWheel [ = ImageKit10(A)Lib.MouseWheelConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | スクロールを無効
1 | 垂直方向にスクロール
2 | 水平方向にスクロール

定数(ikDisable = 0, ikVertical = 1, ikHorizontal = 2)を使用することも可能です。

【解説】

0(ikDisable)以外を設定するとマウスホイールによるスクロールが可能です。

Visual Basic.NETやVisual C#.NETで使用する場合は、MouseWheelをCtlMouseWheelと記述してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


MoveToBack（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

MoveToBack

【機能】

選択した要素を最背面へ移動します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.MoveToBack

(2)Visual C++ imagekitcontrolname.GetEdit().MoveToBack()

(3)VB.NET imagekitcontrolname.Edit.MoveToBack()

(4)C#.NET imagekitcontrolname.Edit.MoveToBack()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（べクトル）のポップアップメニューの"最背面へ移動"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


MoveToFront（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

MoveToFront

【機能】

選択した要素を最前面へ移動します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.MoveToFront

(2)Visual C++ imagekitcontrolname.GetEdit().MoveToFront()

(3)VB.NET imagekitcontrolname.Edit.MoveToFront()

(4)C#.NET imagekitcontrolname.Edit.MoveToFront()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（べクトル）のポップアップメニューの"最前面へ移動"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


NoiseFilter（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

NoiseFilter

【機能】

開発者作成UIで取り込む時のノイズ除去フィルタを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.NoiseFilter [ = NoiseFilterConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetNoiseFilter(long Val)

(3)VB.NET imagekitcontrolname.Scan.NoiseFilter [ = ImageKit10(A)Lib.NoiseFilterConstants ]

(4)C#.NET imagekitcontrolname.Scan.NoiseFilter [ = ImageKit10(A)Lib.NoiseFilterConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | なし
1 | 自動
2 | LONEPIXEL
3 | MAJORITYRULE

定数(ikNoiseFilterNone = 0, ikNoiseFilterAuto = 1, ikNoiseFilterLonePixel = 2, ikNoiseFilterMajorityRule = 3)を使用することも可能です。

【解説】

白黒2値画像からノイズを除去します。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

だたし、デジタルカメラからの取り込みの場合は無効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


OilPaint, OilPaintVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

OilPaint, OilPaintVariant

【機能】

ラスタイメージに油絵風効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.OilPaint(x As Long, y As Long, Points As Long, Mode As Integer, MaskSize As Integer)

[ Boolean = ]imagekitcontrolname.Effect.OilPaintVariant(x As Variant, y As Variant, Mode As Integer, MaskSize As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().OilPaint(long *x, long *y, long Points, short Mode, short MaskSize)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.OilPaint(ByRef x As Integer, ByRef y As Integer, Points As Integer, Mode As Short, MaskSize As Short)

[ Boolean = ]imagekitcontrolname.Effect.OilPaintVariant(ByRef x As Object, ByRef y As Object, Mode As Short, MaskSize As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.OilPaint(ref int x, ref int y, int Points, short Mode, short MaskSize)

[ bool = ]imagekitcontrolname.Effect.OilPaintVariant(ref object x, ref object y, short Mode, short MaskSize)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） OilPaint (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える OilPaintVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（OilPaintのみ）
Mode | 油絵の質感モード（0:RGB別処理, 1:輝度別処理）
MaskSize | 筆のサイズ (1～100)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、OilPaintVariantメソッドをご使用ください。


OpenFileDialog（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

OpenFileDialog

【機能】

プレビュー付きのファイルオープンダイアログを表示します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.OpenFileDialog

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().OpenFileDialog()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.OpenFileDialog()

(4)C#.NET [ bool = ]imagekitcontrolname.File.OpenFileDialog()

【引数】

ありません。

【戻り値】

開くを選択した場合はTrue(0以外)、キャンセルの場合はFalse(0)を返します。

【解説】

このメソッドを実行するには、予めFilePathプロパティとFileExtプロパティに適切な値が設定されている必要があります。

メソッド実行前にExtendedDialogプロパティにTrueを設定すると、ダイアログ初期表示時にプレビューとファイル情報表示のチェックボックスが表示されます。そのため、PreviewとInfomationプロパティがFalseでもダイアログ表示時にそれぞれ表示することができます。

開くボタンを選択するとファイル名がフルパスでFileNameプロパティに設定されます。


Open（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

Open

【機能】

動画ファイルを開きます。

【書式】

(1)Visual Basic [ Boolean = ]playcontrolname.Open(FileName As String)

(2)Visual C++ [ BOOL = ]playcontrolname.Open(LPCTSTR FileName)

(3)VB.NET [ Boolean = ]playcontrolname.Open(FileName As String)

(4)C#.NET [ bool = ]playcontrolname.Open(string FileName)

【引数】

名称 | 内容
FileName | ファイルの名称

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のFileNameには再生する動画ファイルの名称を渡します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11, 20, 201, 203のいずれかが設定されます。

注意事項

プレイコントロールはDirectShowの機能を利用しておりますが、標準では一般的なメディア形式のフィルタしか導入されないため、対応していないコーデックがあります。それに該当する形式のファイルを開く場合は別途コーデックを入手する必要があります。


Open（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

Open

【機能】

プレビューモードでWeb(USB)カメラと接続します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.Open(Index As Long)

(2)Visual C++ [ BOOL = ]previewcontrolname.Open(long Index)

(3)VB.NET [ Boolean = ]previewcontrolname.Open(Index As Integer)

(4)C#.NET [ bool = ]previewcontrolname.Open(int Index)

【引数】

名称 | 内容
Index | Web(USB)カメラのインデックス番号

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のIndexにはGetVideoDevicesメソッドで取得されるビデオデバイスの名称を示すインデックス（先頭のビデオデバイスを接続する場合は0）を渡します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11, 201, 202, 203のいずれかが設定されます。

注意事項

キャプチャー(レコードコントロール)とプレビューを同時に行うことはできません。プレビューを行う場合はレコードコントロールのCloseメソッドを実行して一旦Web(USB)カメラとの接続を閉じ、再度プレビューコントロールのOpenメソッドを実行して接続してください。


Open（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

Open

【機能】

キャプチャーモードでWeb(USB)カメラと接続します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.Open(FileName As String, Index As Long)

(2)Visual C++ [ BOOL = ]recordcontrolname.Open(LPCTSTR FileName, long Index)

(3)VB.NET [ Boolean = ]recordcontrolname.Open(FileName As String, Index As Integer)

(4)C#.NET [ bool = ]recordcontrolname.Open(string FileName, int Index)

【引数】

名称 | 内容
FileName | 保存するファイルの名称
Index | Web(USB)カメラのインデックス番号

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のFileNameで指定されたファイルにAVIまたはWMV形式(Formatプロパティによる)で動画が保存されます。

引数のIndexにはGetVideoDevicesメソッドで取得されるビデオデバイスの名称を示すインデックス（先頭のビデオデバイスを接続する場合は0）を渡します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには5, 11, 201, 202, 203のいずれかが設定されます。

注意事項

プレビュー(プレビューコントロール)とキャプチャーを同時に行うことはできません。キャプチャーを行う場合はプレビューコントロールのCloseメソッドを実行して一旦Web(USB)カメラとの接続を閉じ、再度レコードコントロールのOpenメソッドを実行して接続してください。


Options（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Options

【機能】

印刷ダイアログの初期設定を行います。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Options [ = Long ]

(2)Visual C++ [long = ]imagekitcontrolname.GetPrintDraw().GetOptions()

imagekitcontrolname.GetPrintDraw().SetOptions(long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Options [ = Integer ]

(4)C#.NET imagekitcontrolname.PrintDraw.Options [ = int ]

【設定値】

値 | 説明
0x4 | [選択された部分]ラジオボタンを使用禁止(PD_NOSELECTION)
0x8 | [ページ指定]ラジオボタンを使用禁止(PD_NOPAGENUMS)
0x80 | デフォルトプリンタがない場合に警告メッセージを非表示(PD_NOWARNING)
0x800 | ヘルプボタンを表示(PD_SHOWHELP)
0x80000 | [ファイルへ出力]チェックボックスを使用禁止(PD_DISABLEPRINTTOFILE)
0x100000 | [ファイルへ出力]チェックボックスを非表示(PD_HIDEPRINTTOFILE)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

PrintDialogメソッドで使用します。

16進表記のため、Visual Basicは0xを&Hに変換してください。

複数の項目を指定する場合は｜, Orで組み合わせてください。

【値の設定】

実行時

【値の参照】

実行時


Orientation（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Orientation

【機能】

印刷の向きを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Orientation [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetOrientation()

imagekitcontrolname.GetPrintDraw().SetOrientation(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Orientation [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.Orientation [ = short ]

【設定値】

値 | 説明
1 | 縦(DMORIENT_PORTRAIT)
2 | 横(DMORIENT_LANDSCAPE)

（）内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

【値の設定】

実行時

【値の参照】

実行時


Orientation（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Orientation

【機能】

開発者作成UIで取り込む時の用紙の向き、または画像の回転角度を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Orientation [ = ScanOrientationConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetOrientation()

imagekitcontrolname.GetScan().SetOrientation(long Val)

(3)VB.NET imagekitcontrolname.Scan.Orientation [ = ImageKit10(A)Lib.ScanOrientationConstants ]

(4)C#.NET imagekitcontrolname.Scan.Orientation [ = ImageKit10(A)Lib.ScanOrientationConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 0度（ポートレイト）
1 | 90度
2 | 180度
3 | 270度（ランドスケープ）
1000 | 文字向き検知または自動回転

定数(ikScanRotate0 = 0, ikScanRotate90 = 1, ikScanRotate180 = 2, ikScanRotate270 = 3, ikScanTextOrientationRecognition = 1000)を使用することも可能です。

【解説】

デフォルトは0(ikScanRotate0)です。用紙の向きは0度を基準に時計回りに回転します。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

原稿台やADFに置いた用紙の出力結果を回転させたり、原稿台やADFに用紙を横向きにセットする場合などに使用します。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

1000(ikScanTextOrientationRecognition)は読み取った画像の中にある文字の向きを認識し、文字の向きが正常になるように画像を90度単位で回転させます。キヤノン製DRスキャナ用ドライバでは「文字向き検知」、パナソニック製スキャナ用ドライバでは「原稿方向補正」という表現を用いています。

また、TWAIN仕様書に記載されている自動回転に対応しているドライバについても1000(ikScanTextOrientationRecognition)にて動作いたします。

1000(ikScanTextOrientationRecognition)がサポートされているかどうかについてはIsCapSupported(Variant)メソッドで判定できます。

1000(ikScanTextOrientationRecognition)をサポートしているデータソースで1000(ikScanTextOrientationRecognition)を指定した出力結果が適切でない場合は用紙を縦向きにセットしてお試しください。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

文字向き検知または自動回転の設定が可能となりました。


Outline, OutlineVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Outline, OutlineVariant

【機能】

ラスタイメージから輪郭部分を抽出します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Outline(x As Long, y As Long, Points As Long, Plane As Integer, Operator As Integer, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.OutlineVariant(x As Variant, y As Variant, Plane As Integer, Operator As Integer, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Outline(long *x, long *y, long Points, short Plane, short Operator, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Outline(ByRef x As Integer, ByRef y As Integer, Points As Integer, Plane As Short, Operator As Short, Level As Short)

[ Boolean = ]imagekitcontrolname.Effect.OutlineVariant(ByRef x As Object, ByRef y As Object, Plane As Short, Operator As Short, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Outline(ref int x, ref int y, int Points, short Plane, short Operator, short Level)

[ bool = ]imagekitcontrolname.Effect.OutlineVariant(ref object x, ref object y, short Plane, short Operator, short Level)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Outline (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える OutlineVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Outlineのみ）
Plane | 処理するプレーン（0:Y, 1:R, 2:G, 3:B）
Operator | 行列変数のパターン（0:差分, 1:Roberts, 2:Sobel）
Level | 輪郭線の明るさ(数が大きいほど明るい 0～100)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

通常はPlaneを0として輝度の違いを輪郭として認識しますが、1以上を設定することにより各プレーンの値の差を輪郭として認識することもできます。輪郭抽出の効果はOperatorにより異なります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、OutlineVariantメソッドをご使用ください。


OverScan（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

OverScan

【機能】

開発者作成UIで取り込む時のオーバースキャンの取り扱いを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.OverScan [ = OverScanConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetOverScan(long Val)

(3)VB.NET imagekitcontrolname.Scan.OverScan [ = ImageKit10(A)Lib.OverScanConstants ]

(4)C#.NET imagekitcontrolname.Scan.OverScan [ = ImageKit10(A)Lib.OverScanConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 指定されたサイズで読み取りを行います。
1 | 指定されたサイズを考慮して自動で読み取りを行います。
2 | 指定されたサイズを基に上下を広げて読み取りを行います。
3 | 指定されたサイズを基に左右を広げて読み取りを行います。
4 | 指定されたサイズを基に上下左右を広げて読み取りを行います。

定数(ikScanNone = 0, ikScanAuto = 1, ikScanTopBottom = 2, ikScanLeftRight = 3, ikScanAll = 4)を使用することも可能です。

【解説】

傾いた用紙を取り込む場合などに取り込み領域(RectLeft, RectTop, RectRight, RectBottom, PaperSizeプロパティ)を広げることができます。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしている値はGetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


OwnerPassword（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

OwnerPassword

【機能】

オーナーパスワードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.OwnerPassword [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetOwnerPassword()

imagekitcontrolname.GetFile().GetPDF().SetOwnerPassword(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.OwnerPassword [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.OwnerPassword [ = String ]

【設定値】

オーナーパスワード。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティは文書の編集や印刷などを制限するパスワードとなります。

オーナーパスワードとユーザーパスワードを設定する場合、当プロパティにはUserPasswordプロパティとは異なる値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


PageCount（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

PageCount

【機能】

開発者作成UIで取り込む時のページ数を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.PageCount [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetPageCount(short Val)

(3)VB.NET imagekitcontrolname.Scan.PageCount [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.PageCount [ = short ]

【設定値】

値 | 説明
0以下 | 全ての原稿またはイメージを取り込む（ADF、デジタルカメラ）
1以上 | 指定した数の原稿またはイメージを取り込む

【解説】

ADFにある全てのページ、およびデジタルカメラ内の全ての画像を取り込む場合は0以下を指定します。デジタルカメラからの取り込みで配列を使用する場合は、その要素数を指定します。ScanModeプロパティが2(ikScanADF2)の場合は奇数を指定しても取り込まれるページ数は偶数になります（両面取り込みのため）。

UiModeプロパティが2(ikScanNONUI)以外の場合や原稿台からの取り込みの場合は無効です。

PixelTypeプロパティが1001(ikScanPixelGrayAndBW), 1002(ikScanPixelRGBAndBW)の場合は1ページにつき2つのイメージが作成されるため、偶数を指定してください。たとえば、1ページの原稿を両面で1001(ikScanPixelGrayAndBW), 1002(ikScanPixelRGBAndBW)で取り込む場合は0以下または4を指定します。なお、パナソニック製スキャナ用ドライバご利用時に1001(ikScanPixelGrayAndBW), 1002(ikScanPixelRGBAndBW)で取り込む場合は常に0以下として取り扱います（1以上は無視されます）。

（注意）

データソースが機能をサポートしていない場合や正常に機能しない場合は、PageCount分取り込みを行った後で処理を中断いたしますので、機種によってはADFから用紙が取り込まれた状態のまま、用紙が内部に残る場合があります。

【値の設定】

実行時

【値の参照】

不可


Paint（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Paint

【機能】

描画先オブジェクトの指定した点を基準に別の色で塗りつぶします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Paint(DeviceValue As LONG_PTR, x As Long, y As Long, FColor As OLE_COLOR, TColor As OLE_COLOR, PaintMode As PaintModeConstants, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Paint(LONG_PTR DeviceValue, long x, long y, unsigned long FColor, unsigned long TColor, long PaintMode, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Paint(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, FColor As UInteger, TColor As UInteger, PaintMode As ImageKit10(A)Lib.PaintModeConstants, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Paint(int(x86) or long(x64) DeviceValue, int x, int y, uint FColor, uint TColor, ImageKit10(A)Lib.PaintModeConstants PaintMode, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x,y | 開始座標
FColor | 塗りつぶされた領域色、もしくは囲まれた領域の境界色
TColor | 塗りつぶす色
PaintMode | 描画方法
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PaintModeが0(ikBorder)の場合

x, yを開始点としてFColorを境界色として囲まれた領域の内部（外部）をTColorで塗りつぶします。

PaintModeが1(ikSurface)の場合

x, yを開始点としてFColorで塗りつぶされた領域をTColorで塗りつぶします。

定数(ikBorder = 0, ikSurface = 1)を使用することも可能です。

x, yからFColorに突き当たるまで全ての方向に塗りつぶしが行われます。

（対象はスクリーン、プリンタ、メモリハンドル）

FColor, TColorにはRGB(Red, Green, Blue)として求めた値などを設定してください。

x, yをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

x, yを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValue, Fcolor, TColorの型が変更されました。


PalBlue, PalGreen, PalRed（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

PalBlue, PalGreen, PalRed

【機能】

イメージを透明GIF/PNGでファイルに保存する場合の、透明色に使う赤・緑・青（RGB）の各カラー値を取得または設定します。

【書式】

※PalBlueにて説明（PalGreen、PalRedも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.PalBlue [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetPalBlue()

imagekitcontrolname.GetFile().SetPalBlue(short Val)

(3)VB.NET imagekitcontrolname.File.PalBlue [ = Short ]

(4)C#.NET imagekitcontrolname.File.PalBlue [ = short ]

【参照値】

0～255。

【解説】

透明GIF/PNG形式でのファイル保存で透明色を設定する場合は、このPalBlue、PalGreen、PalRedの各プロパティに該当する青・緑・赤の各カラー値をセットします。

その際、PalBlue、PalGreen、PalRedの各プロパティに直接各カラー値をセットしても構いませんが、イメージキットコントロール直下のPalBlue、PalGreen、PalRedの各プロパティの各カラー値をそのままセットすることで、簡単に実際のイメージを見ながら決定した各カラー値を透明色とすることができます。

TransparentプロパティがTrueの時にそれぞれに設定した値が有効となります。

イメージをGIFまたはPNGファイルに保存する際に設定します。

【値の設定】

実行時

【値の参照】

実行時


PalBlue, PalGreen, PalRed（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

PalBlue, PalGreen, PalRed

【機能】

イメージキットコントロール上の基本イメージをマウスでダウンした場合の、その位置の赤・緑・青（RGB）の各カラー値を示します。

【書式】

※PalBlueにて説明（PalGreen、PalRedも同様な使い方）

(1)Visual Basic imagekitcontrolname.PalBlue [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetPalBlue()

(3)VB.NET imagekitcontrolname.PalBlue [ = Short ]

(4)C#.NET imagekitcontrolname.PalBlue [ = short ]

【参照値】

0～255。

【解説】

PalBlue, PalGreen, PalRedの各プロパティは、主に「透明GIF形式」を利用する場合で、どの色を透明色にするか実際のイメージを見ながらその色を決定する場合に利用します。

「透明GIF形式」で透明色を設定する場合は、File.PalBlue, File.PalGreen, File.PalRedの各プロパティに該当する青・緑・赤の各カラー値をセットします。

その際、File.PalBlue, File.PalGreen, File.PalRedの各プロパティに直接各カラー値をセットしても構いませんが、イメージキットコントロールのPalBlue, PalGreen, PalRedの各プロパティの各カラー値をそのままセットすることで、簡単に実際のイメージを見ながら決定した各カラー値を透明色とすることができます。

PalBlue, PalGreen, PalRedの各プロパティ値の参照はイメージキットコントロールのマウスダウンイベントなどで取得するとよいでしょう。

また、イメージキットコントロールの任意のピクセルのRGBを取得するには、PrintDraw.GetPixelメソッドを使用します。PalBlue, PalGreen, PalRedの各プロパティは、値の参照専用で値を設定しても無効です。

【値の設定】

不可

【値の参照】

実行時


PalCount（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

PalCount

【機能】

ImageHandleプロパティに設定されたイメージの使用パレット数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).PalCount [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetLayer(Index).GetPalCount()

(3)VB.NET imagekitcontrolname.get_Layer(Index).PalCount [ = Short ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).PalCount [ = short ]

※Indexは0～99

【参照値】

イメージの使用パレット数。

BitCountプロパティが8以下の場合が対象となり、それ以外は0となります。

【解説】

ImageHandleプロパティに値が設定されると、PalCountプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


PalCount（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

PalCount

【機能】

ImageHandleプロパティに設定されたイメージの使用パレット数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.PalCount [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetPalCount()

(3)VB.NET imagekitcontrolname.PalCount [ = Short ]

(4)C#.NET imagekitcontrolname.PalCount [ = short ]

【参照値】

イメージの使用パレット数。

BitCountプロパティが8以下の場合が対象となり、それ以外は0となります。

【解説】

ImageHandleプロパティに値が設定されると、PalCountプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


Panorama（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Panorama

【機能】

ラスタイメージのパノラマ合成を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Panorama(Handle1 As LONG_PTR, Handle2 As LONG_PTR, CutMode As Integer, Px11 As Long, Py11 As Long, Px12 As Long, Py12 As Long, Px21 As Long, Py21 As Long, Px22 As Long, Py22 As Long, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Panorama(LONG_PTR Handle1, LONG_PTR Handle2, short CutMode, long Px11, long Py11, long Px12, long Py12, long Px21, long Py21, long Px22, long Py22, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Panorama(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), CutMode As Short, Px11 As Integer, Py11 As Integer, Px12 As Integer, Py12 As Integer, Px21 As Integer, Py21 As Integer, Px22 As Integer, Py22 As Integer, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Panorama(int(x86) or long(x64) Handle1, int(x86) or long(x64) Handle2, short CutMode, int Px11, int Py11, int Px12, int Py12, int Px21, int Py21, int Px22, int Py22, short Red, short Green, short Blue)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Handle1 | 基となるラスタイメージのハンドル(24ビットイメージ)
Handle2 | 貼り付けるラスタイメージのハンドル(24ビットイメージ)
CutMode | Handle2の基準点に対してカットする方向を設定（0:なし 1:左 2:右）
Px11, Py11 | Handle1のイメージ上の基準点1（ピクセル）
Px12, Py12 | Handle1のイメージ上の基準点2（ピクセル）
Px21, Py21 | Handle2のイメージ上の基準点1（ピクセル）
Px22, Py22 | Handle2のイメージ上の基準点2（ピクセル）
Red | 重ね合わせたイメージの無効領域の背景色 赤(0～255)
Green | 重ね合わせたイメージの無効領域の背景色 緑(0～255)
Blue | 重ね合わせたイメージの無効領域の背景色 青(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Handle1のPx11、Py11、Px12、Py12で指定した座標に、Handle2のPx21、Py21、Px22、Py22で指定した座標を合わせて、CutModeの値によりHandle2のイメージをそのまま合成するかどうかを設定し、Handle1にHandle2のイメージを合成します。（Handle2の基準点がHandle1の基準点に合わさるような形になります。）

CutModeは基準点1を上に基準点2を下にした場合の、カットする方向を示しています。

成功した場合、処理後のラスタイメージのメモリハンドルはImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定されます（LayerNoプロパティによって設定されるプロパティが決まります）。

設定されるイメージは、24ビットイメージとなります。引数として与えたメモリハンドルは解放されずにそのまま残ります。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

【ImageKit7/8 ActiveXとの違い】

引数Handle1, Handle2の型が変更されました。


PanWindow（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

PanWindow

【機能】

パンウィンドウを表示もしくは消去すると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_PanWindow(ByVal Show As Boolean)

(2)Visual C++

OnPanWindow imagekitcontrolname(BOOL Show)

(3)VB.NET

imagekitcontrolname_PanWindowEvent(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_PanWindowEvent)

(4)C#.NET

imagekitcontrolname_PanWindowEvent(object sender, AxImageKit10(A)Lib._IImageKitEvents_PanWindowEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Show | 表示設定 [ True(0以外):パンウィンドウを表示、False(0):パンウィンドウを消去 ]

※VB.NET/C#.NETでは二番目の引数eにShowが含まれます（先頭の文字が小文字になります）。

【解説】

パンウィンドウはPanWindow.Showメソッドを実行することにより表示（消去）できます。


PaperBin（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PaperBin

【機能】

プリンタの用紙トレイを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PaperBin [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetPaperBin()

     imagekitcontrolname.GetPrintDraw().SetPaperBin(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PaperBin [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.PaperBin [ = short ]

【設定値】

値 | 説明
1 | 上段用紙トレイ(DMBIN_UPPER)
2 | 下段用紙トレイ(DMBIN_LOWER)
3 | 中段用紙トレイ(DMBIN_MIDDLE)
4 | 手差し用紙フィーダ(DMBIN_MANUAL)
5 | 封筒フィーダ(DMBIN_ENVELOPE)
6 | 手差し封筒フィーダ(DMBIN_ENVMANUAL)
7 | 自動用紙トレイ選択(DMBIN_AUTO)
8 | トラクタフィーダ(DMBIN_TRACTOR)
9 | 小判用紙ソース(DMBIN_SMALLFMT)
10 | 大判用紙ソース(DMBIN_LARGEFMT)
11 | 大容量の用紙トレイ(DMBIN_LARGECAPACITY)
14 | 用紙カセット(DMBIN_CASSETTE)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

【値の設定】

実行時

【値の参照】

実行時


PaperSize（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PaperSize

【機能】

プリンタの用紙サイズを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PaperSize [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetPaperSize()

imagekitcontrolname.GetPrintDraw().SetPaperSize(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PaperSize [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.PaperSize [ = short ]

【設定値】

値 | 説明
1 | レター、8.5 x 11 インチ (DMPAPER_LETTER)
2 | レター スモール、8.5 x 11 インチ (DMPAPER_LETTERSMALL)
3 | タブロイド、11 x 17 インチ (DMPAPER_TABLOID)
4 | レジャー、17 x 11 インチ (DMPAPER_LEDGER)
5 | リーガル、8.5 x 14 インチ (DMPAPER_LEGAL)
6 | ステートメント、5.5 x 8.5 インチ (DMPAPER_STATEMENT)
7 | エグゼクティブ、7.25 x 10.5 インチ (DMPAPER_EXECUTIVE)
8 | A3、297 x 420 mm (DMPAPER_A3)
9 | A4、210 x 297 mm (DMPAPER_A4)
10 | A4 Small、210 x 297 mm (DMPAPER_A4SMALL)
11 | A5、148 x 210 mm (DMPAPER_A5)
12 | B4、250 x 354 mm (DMPAPER_B4)
13 | B5、182 x 257 mm (DMPAPER_B5)
256 | ユーザ定義サイズ(DMPAPER_USER)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

14以降の値も取得および設定可能です。詳しくはご利用のコンテナのWindowsAPIに関連する部分を参考してください。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

【値の設定】

実行時

【値の参照】

実行時


PaperSize（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

PaperSize

【機能】

開発者作成UIで取り込む時の用紙サイズを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.PaperSize [ = ScanPaperSizeConstants ]

(2)Visual C++ imagekitcontrolname.GetScan().SetPaperSize(long Val)

(3)VB.NET imagekitcontrolname.Scan.PaperSize [ = ImageKit10(A)Lib.ScanPaperSizeConstants ]

(4)C#.NET imagekitcontrolname.Scan.PaperSize [ = ImageKit10(A)Lib.ScanPaperSizeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明 | サイズ
0 | ユーザ定義サイズ |
1 | A4 | 210mm x 297mm
2 | JIS B5 | 182mm x 257mm
3 | USレター | 8.5" x 11.0" (216mm x 280mm)
4 | USリーガル | 11.0" x 17.0" (216mm x 356mm)
5 | A5 | 148mm x 210mm
6 | ISO B4 | 250mm x 353mm
7 | ISO B6 | 125mm x 176mm
9 | USレジャー | 11.0" x 17.0" (280mm x 432mm)
10 | USエグゼクティブ | 7.25" x 10.5" (184mm x 267mm)
11 | A3 | 297mm x 420mm
12 | ISO B3 | 353mm x 500mm
13 | A6 | 105mm x 148mm
14 | C4 | 229mm x 324mm
15 | C5 | 162mm x 229mm
16 | C6 | 114mm x 162mm
17 | 4A0 | 1682mm x 2378mm
18 | 2A0 | 1189mm x 1682mm
19 | A0 | 841mm x 1189mm
20 | A1 | 594mm x 841mm
21 | A2 | 420mm x 594mm
22 | A7 | 74mm x 105mm
23 | A8 | 52mm x 74mm
24 | A9 | 37mm x 52mm
25 | A10 | 26mm x 37mm
26 | ISO B0 | 1000mm x 1414mm
27 | ISO B1 | 707mm x 1000mm
28 | ISO B2 | 500mm x 707mm
29 | ISO B5 | 176mm x 250mm
30 | ISO B7 | 88mm x 125mm
31 | ISO B8 | 62mm x 88mm
32 | ISO B9 | 44mm x 62mm
33 | ISO B10 | 31mm x 44mm
34 | JIS B0 | 1030mm x 1456mm
35 | JIS B1 | 728mm x 1030mm
36 | JIS B2 | 515mm x 728mm
37 | JIS B3 | 364mm x 515mm
38 | JIS B4 | 257mm x 364mm
39 | JIS B6 | 128mm x 182mm
40 | JIS B7 | 91mm x 128mm
41 | JIS B8 | 64mm x 91mm
42 | JIS B9 | 45mm x 64mm
43 | JIS B10 | 32mm x 45mm
44 | C0 | 917mm x 1297mm
45 | C1 | 648mm x 917mm
46 | C2 | 458mm x 648mm
47 | C3 | 324mm x 458mm
48 | C7 | 81mm x 114mm
49 | C8 | 57mm x 81mm
50 | C9 | 40mm x 57mm
51 | C10 | 28mm x 40mm
52 | USステイトメント | 5.5" x 8.5" (140mm x 216mm)
53 | ビジネスカード | 90mm x 55mm
54 | 最大サイズ |
1000 | 未定義サイズ |

定数(ikScanUserSize = 0, ikScanA4LETTER = 1, ikScanB5LETTER = 2, ikScanUSLETTER = 3, ikScanUSLEGAL = 4, ikScanA5 = 5, ikScanB4 = 6, ikScanB6 = 7, ikScanUSLEDGER = 9, ikScanUSEXECUTIVE = 10, ikScanA3 = 11, ikScanB3 = 12, ikScanA6 = 13, ikScanC4 = 14, ikScanC5 = 15, ikScanC6 = 16, ikScan4A0 = 17, ikScan2A0 = 18, ikScanA0 = 19, ikScanA1 = 20, ikScanA2 = 21, ikScanA4 = 1, ikScanA7 = 22, ikScanA8 = 23, ikScanA9 = 24, ikScanA10 = 25, ikScanISOB0 = 26, ikScanISOB1 = 27, ikScanISOB2 = 28, ikScanISOB3 = 12, ikScanISOB4 = 6, ikScanISOB5 = 29, ikScanISOB6 = 7, ikScanISOB7 = 30, ikScanISOB8 = 31, ikScanISOB9 = 32, ikScanISOB10 = 33, ikScanJISB0 = 34, ikScanJISB1 = 35, ikScanJISB2 = 36, ikScanJISB3 = 37, ikScanJISB4 = 38, ikScanJISB5 = 2, ikScanJISB6 = 39, ikScanJISB7 = 40, ikScanJISB8 = 41, ikScanJISB9 = 42, ikScanJISB10 = 43, ikScanC0 = 44, ikScanC1 = 45, ikScanC2 = 46, ikScanC3 = 47, ikScanC7 = 48, ikScanC8 = 49, ikScanC9 = 50, ikScanC10 = 51, ikScanUSSTATEMENT = 52, ikScanBUSINESSCARD = 53, ikScanMaxSize = 54, ikScanUndefinedSize = 1000)を使用することも可能です。

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。ただし、デジタルカメラからの取り込みは無効です。

RectLeft, RectTop, RectRight, RectBottomプロパティを有効にする場合は0以下を指定します。

また、データソースによってはユーザ定義サイズ(0)と読み取り範囲を設定しても、開始位置などが正しく反映されない場合があります。その場合は、定型サイズ（1以上）を符号反転してお試しください。（下記の例を参照）

例：

（PaperSize = 0で読み取り範囲を設定 --> 読み取り位置がおかしい）

ImageKit1.Scan.UiMode = ikScanNONUI

ImageKit1.Scan.UnitMode = ikScanCM

ImageKit1.Scan.PaperSize = 0

ImageKit1.Scan.RectLeft = 0

ImageKit1.Scan.RectTop = 0

ImageKit1.Scan.RectRight = 6.9

ImageKit1.Scan.RectBottom = 10.2

（PaperSizeに定型サイズを符号反転して読み取り範囲を設定 --> 正しく読み取れる）

ImageKit1.Scan.UiMode = ikScanNONUI

ImageKit1.Scan.UnitMode = ikScanCM

ImageKit1.Scan.PaperSize = -3 ' USレター

ImageKit1.Scan.RectLeft = 0

ImageKit1.Scan.RectTop = 0

ImageKit1.Scan.RectRight = 6.9

ImageKit1.Scan.RectBottom = 10.2

PaperSizeプロパティにはデータソースがサポートしている用紙サイズ、もしくはその中で一番大きな用紙サイズを設定してください。なお、データソースによっては効果がない場合もありますので、詳しくはスキャナメーカにご確認ください。

（注意）

データソースがサポートしている用紙サイズはGetCapEnum(Variant)メソッドで取得できます。データソースによっては定型サイズをサポートしていないものや、用紙サイズの機能自体をサポートしていないものがありますので、その場合は0を指定してください。

未定義サイズ(1000)を設定すると、用紙サイズを自動検知して取り込みを行いますが、用紙の幅と高さのどちらか一方のみを検知するスキャナでは用紙の自動検知が正しく行われない場合があります。

未定義サイズがサポートされているかどうかについてはIsCapSupported(Variant)メソッドで判定できます。

未定義サイズがサポートされていてPaperSizeプロパティに1000を設定しても用紙サイズの自動検知が正しく動作しない場合は次の手順をお試しください。

(1)BorderDetectionプロパティにTrueを設定する。この段階で正しく動作せずにPFU製スキャナ用ドライバをご利用の場合は(2)へ。

(2)PaperSizeプロパティに1000に加えて読み取り可能な最大サイズの用紙サイズを設定する。たとえば、最大サイズがA3であればPaperSize = 1000 + 11を設定する。

【値の設定】

実行時

【値の参照】

不可


PasteImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

PasteImage

【機能】

ラスタイメージの貼り付けを行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.PasteImage(Handle As LONG_PTR, Angle As Long, TurnX As Boolean, TurnY As Boolean, Trans As Integer, TransColor As Boolean, TransRed As Integer, TransGreen As Integer, TransBlue As Integer, BackRed As Integer, BackGreen As Integer, BackBlue As Integer, x As Long, y As Long, Clip As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().PasteImage(LONG_PTR Handle, long Angle, BOOL TurnX, BOOL TurnY, short Trans, BOOL TransColor, short TransRed, short TransGreen, short TransBlue, short BackRed, short BackGreen, short BackBlue, long x, long y, BOOL Clip)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.PasteImage(Handle As Integer(x86) or Long(x64), Angle As Integer, TurnX As Boolean, TurnY As Boolean, Trans As Short, TransColor As Boolean, TransRed As Short, TransGreen As Short, TransBlue As Short, BackRed As Short, BackGreen As Short, BackBlue As Short, x As Integer, y As Integer, Clip As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.PasteImage(int(x86) or long(x64) Handle, int Angle, bool TurnX, bool TurnY, short Trans, bool TransColor, short TransRed, short TransGreen, short TransBlue, short BackRed, short BackGreen, short BackBlue, int x, int y, bool Clip)

【引数】

名称 | 内容
Handle | 貼り付けられるラスタイメージのハンドル(1, 4, 8, 16, 24, 32ビットイメージ)
Angle | 回転角度(-35999～35999 1/100度単位)
TurnX | X方向反転の有無 (False(0):反転なし True(0以外):反転あり)
TurnY | Y方向反転の有無 (False(0):反転なし True(0以外):反転あり)
Trans | 透かしの度合い (0～255 数が大きいほどLayerNoプロパティの示すイメージが生きる)
TransColor | LayerNoプロパティの示すイメージに対する透明色の設定（False(0):なし、True(0以外):あり）
TransRed | LayerNoプロパティの示すイメージに対する透明色 赤(0～255)
TransGreen | LayerNoプロパティの示すイメージに対する透明色 緑(0～255)
TransBlue | LayerNoプロパティの示すイメージに対する透明色 青(0～255)
BackRed | 貼り付けたイメージの無効領域の背景色 赤(0～255)
BackGreen | 貼り付けたイメージの無効領域の背景色 緑(0～255)
BackBlue | 貼り付けたイメージの無効領域の背景色 青(0～255)
x, y | 貼り付け座標（ピクセル）
Clip | クリッピングの有無（False(0):なし、True(0以外):あり）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

Angle、TurnX、TurnYはLayerNoプロパティの示すプロパティとMaskImageHandleプロパティに対して有効です。

x, yはHandleの左上座標(0, 0)として、LayerNoプロパティの示すプロパティとMaskImageHandleプロパティの指すイメージの中心点をHandleのどの座標に貼り付けるかを指定します。

ClipがTrueの時は、Handleのイメージのサイズより大きくなった場合に、はみでた領域をカットします。

TransColorがTrue(0以外)の場合は、TransRed, TransGreen, TransBlueで設定された色を透明色として使用します。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

出力されるイメージのビット数の説明

・ImageHandleとHandleのビット数が共に8ビット以下で、かつ同じビット数であり、かつ同じパレット数と並びの場合は入力イメージのビット数と同じになります。ただし、ImageHandleとHandleが8ビットグレースケールではなくTransが0か255以外の場合は24ビットイメージになります。

・ImageHandleとHandleのビット数が共に8ビット以下でも、ビット数が違うか、ビット数が同じでもパレット数と並びが違う場合は24ビットイメージになります。

・ImageHandleとHandleのどちらかが16ビット以上の場合は、大きいビット数になります。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

【ImageKit7/8 ActiveXとの違い】

引数Handleの型が変更されました。


Paste（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Paste

【機能】

イメージ編集ツールバー（ラスタ）の場合：

クリップボードにあるイメージを現在のイメージ上に貼り付けます。貼り付けた直後に貼り付け位置をドラッグで決定します。

イメージ編集ツールバー（ベクトル）の場合：

コピーした選択した要素を貼り付けます。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Paste

(2)Visual C++ imagekitcontrolname.GetEdit().Paste()

(3)VB.NET imagekitcontrolname.Edit.Paste()

(4)C#.NET imagekitcontrolname.Edit.Paste()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ、べクトル）のポップアップメニューの"貼り付け"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


Pause（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

Pause

【機能】

動画を一時停止、または一時停止した動画を再生します。

【書式】

(1)Visual Basic [ Boolean = ]playcontrolname.Pause

(2)Visual C++ [ BOOL = ]playcontrolname.Pause()

(3)VB.NET [ Boolean = ]playcontrolname.Pause()

(4)C#.NET [ bool = ]playcontrolname.Pause()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで開始した動画を一時停止します。また、一時停止した状態で再度このメソッドを実行すると動画を再生します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2や11が設定されます。


Pause（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

Pause

【機能】

プレビューを一時停止、または一時停止したプレビューを再開します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.Pause

(2)Visual C++ [ BOOL = ]previewcontrolname.Pause()

(3)VB.NET [ Boolean = ]previewcontrolname.Pause()

(4)C#.NET [ bool = ]previewcontrolname.Pause()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで開始したプレビューを一時停止します。また、一時停止した状態で再度このメソッドを実行するとプレビューを再開します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2や11が設定されます。


Pause（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

Pause

【機能】

キャプチャーを一時停止、または一時停止したキャプチャーを再開します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.Pause

(2)Visual C++ [ BOOL = ]recordcontrolname.Pause()

(3)VB.NET [ Boolean = ]recordcontrolname.Pause()

(4)C#.NET [ bool = ]recordcontrolname.Pause()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで開始したキャプチャーを一時停止します。また、一時停止した状態で再度このメソッドを実行するとキャプチャーを再開します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2や11が設定されます。


PenMode（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PenMode

【機能】

描かれるペンの色をキャンバス上の色とどのように対応させるかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PenMode [ = PenModeConstants ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetPenMode(long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PenMode [ = ImageKit10(A)Lib.PenModeConstants ]

(4)C#.NET imagekitcontrolname.PrintDraw.PenMode [ = ImageKit10(A)Lib.PenModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
1 | 黒(R2_BLACK)
2 | ペン色と画面色の組み合わせの反転(R2_NOTMERGEPEN)
3 | 画面色とペン反転色のどちらにも共通な色の組み合わせ(R2_MASKNOTPEN)
4 | ペンの反転色(R2_NOTCOPYPEN)
5 | ペン色と画面反転色のどちらにも共通な色の組み合わせ(R2_MASKPENNOT)
6 | 画面色の反転色(R2_NOT)
7 | ペン色または画面色の（両方ではなく）どちらかの色の組み合わせ(R2_XORPEN)
8 | ペン色と画面色のどちらにも共通な色の組み合わせの反転(R2_NOTMASKPEN)
9 | ペン色と画面色のどちらにも共通な色の組み合わせ(R2_MASKPEN)
10 | ペン色または画面色の（両方ではなく）どちらかの色の組み合わせの反転(R2_NOTXORPEN)
11 | 変化なし(R2_NOP)
12 | 画面色とペン反転色の組み合わせ(R2_MERGENOTPEN)
13 | PenColorで指定したペン色(R2_COPYPEN)、デフォルト値
14 | ペン色と画面反転色の組み合わせ(R2_MERGEPENNOT)
15 | ペン色と画面色の組み合わせ(R2_MERGEPEN)
16 | 白(R2_WHITE)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

定数(ikPenModeBlack = 1, ikPenModeNotMergePen = 2, ikPenModeMaskNotPen = 3, ikPenModeNotCopyPen = 4, ikPenModeMaskPenNot = 5, ikPenModeNot = 6, ikPenModeXorPen = 7, ikPenModeNotMaskPen = 8, ikPenModeMaskPen = 9, ikPenModeNotXorPen = 10, ikPenModeNop = 11, ikPenModeMergeNotPen = 12, ikPenModeCopyPen = 13, ikPenModeMergePenNot = 14, ikPenModeMergePen = 15, ikPenModeWhite = 16)を使用することも可能です。

【値の設定】

実行時

【値の参照】

不可


PenSize1, PenSize2, PenSize3, PenSize4, PenSize5（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

PenSize1, PenSize2, PenSize3, PenSize4, PenSize5

【機能】

イメージ編集ツールバーで使用するペンのサイズを設定します。

【書式】

※PenSize1にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.PenSize1 [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetPenSize1()

imagekitcontrolname.GetEdit().SetPenSize1(short Val)

(3)VB.NET imagekitcontrolname.Edit.PenSize1 [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.PenSize1 [ = short ]

【設定値】

ペンの太さ。（ピクセル）

デフォルトはPenSize1が1、PenSize2が2、PenSize3が3、PenSize4が4、PenSize5が5です。

【解説】

5パターンのペンの太さを定義できます。

設定した太さはイメージ編集ツールバーに反映されます。

【値の設定】

実行時

【値の参照】

実行時


PenSize（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

PenSize

【機能】

イメージ編集ツールバーで使用するペンを選択します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.PenSize [ = PenSizeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEdit().GetPenSize()

imagekitcontrolname.GetEdit().SetPenSize(long Val)

(3)VB.NET imagekitcontrolname.Edit.PenSize [ = ImageKit10(A)Lib.PenSizeConstants ]

(4)C#.NET imagekitcontrolname.Edit.PenSize [ = ImageKit10(A)Lib.PenSizeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | ペン1（PenSize1）
1 | ペン2（PenSize2）
2 | ペン3（PenSize3）
3 | ペン4（PenSize4）
4 | ペン5（PenSize5）

定数(ikPenSize1 = 0, ikPenSize2 = 1, ikPenSize3 = 2, ikPenSize4 = 3, ikPenSize5 = 4)を使用することも可能です。

【解説】

コードでペンを切り替える場合に使用します。0の場合は、PenSize1プロパティのサイズが有効になります。

ただし、イメージ編集ツールバーのオブジェクトを選択した場合は、そちらのサイズが有効になります。

【値の設定】

実行時

【値の参照】

実行時


PenStyle（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PenStyle

【機能】

描画するペンのスタイルを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PenStyle [ = PenStyleConstants ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetPenStyle(long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PenStyle [ = ImageKit10(A)Lib.PenStyleConstants ]

(4)C#.NET imagekitcontrolname.PrintDraw.PenStyle [ = ImageKit10(A)Lib.PenStyleConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 線は描画されない(PS_NULL)
1 | 実線(PS_SOLID)
2 | 破線(PS_DASH)
3 | 点線(PS_DOT)
4 | 一点鎖線(PS_DASHDOT)
5 | 二点鎖線(PS_DASHDOTDOT)
6 | 実線(PS_INSIDEFRAME)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

定数(ikPenNull = 0, ikPenSolid = 1, ikPenDash = 2, ikPenDot = 3, ikPenDashDot = 4, ikPenDashDotDot = 5, ikPenInsideFrame = 6)を使用することも可能です。

【解説】

Line, Rectangleメソッド以外で図形を描画する場合に、PenWidthプロパティに1以上（ピクセルで与えた場合、0.1mmの場合もピクセルに換算して判定）かつPenStyleプロパティで2～5のいずれかを設定した場合にはPenWidthプロパティを強制的に1とします。

【値の設定】

実行時

【値の参照】

不可


PenWidth（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PenWidth

【機能】

描画するペンの幅を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PenWidth [ = Long ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetPenWidth(long Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PenWidth [ = Integer ]

(4)C#.NET imagekitcontrolname.PrintDraw.PenWidth [ = int ]

【設定値】

ペンの幅（ピクセルもしくは0.1mm単位）

【解説】

描画対象がスクリーンとメモリハンドルの場合はピクセル単位で、プリンタの場合は0.1mm単位で設定してください。

【値の設定】

実行時

【値の参照】

不可


Picture, PictureDown（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Picture, PictureDown

【機能】

サムネイルのコマ（サムネイル画像を表示する領域）の背景画像を設定します。

【書式】

※Pictureにて説明（PictureDownも同様な使い方）

(1)Visual Basic thumbcontrolname.Picture [ = Picture ]

(2)Visual C++ [ CPicture = ]thumbcontrolname.GetPicture()

(3)VB.NET thumbcontrolname.Picture [ = Image ]

(4)C#.NET thumbcontrolname.Picture [ = Image ]

【設定値】

Pictureはデフォルトの背景画像。（コマが押されていない状態）

PictureDownはコマが押された時の背景画像。

【解説】

Styleプロパティが2(ikCustom)の場合に有効です。

イメージの黒（Red=0, Green=0, Blue=0）の部分が透過となり、この部分にサムネイル画像が表示されます。

Visual Studio .NETやVisual C++を使用して、実行時に背景画像を設定する場合はPictureDownFile, PictureFileプロパティをご使用ください。

コードで設定する例：

Visual Basic

Dim X As Picture

Set X = LoadPicture("HalfOpen.bmp")

Set IkThumb1.PictureUp = X

Set X = LoadPicture("FullOpen.bmp")

Set IkThumb1.PictureDown = X

【値の設定】

デザイン時、実行時

【値の参照】

実行時

【ImageKit6/7/8 ActiveXとの違い】

PictureUpプロパティがPictureプロパティに変更されました。


PictureDown, PictureUp（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

PictureDown, PictureUp

【機能】

サムネイルのコマ（サムネイル画像を表示する領域）の背景画像を設定します。

【書式】

※PictureDownにて説明（PictureUpも同様な使い方）

(1)Visual Basic thumbcontrolname.PictureDown [ = Picture ]

(2)Visual C++ [ CPicture = ]thumbcontrolname.GetPictureDown()

【設定値】

PictureDownはコマが押された時の背景画像。

PictureUpはデフォルトの背景画像。（コマが押されていない状態）

【解説】

Styleプロパティが2（カスタム）の場合に有効です。

イメージの黒（Red=0, Green=0, Blue=0）の部分が透過となり、この部分にサムネイル画像が表示されます。

Visual Studio .NETやVisual C++を使用して、実行時に背景画像を設定する場合はPictureDownFile, PictureUpFileプロパティをご使用ください。

コードで設定する例：

Visual Basic

Dim X As Picture

Set X = LoadPicture("HalfOpen.bmp")

Set IkThumb1.PictureUp = X

Set X = LoadPicture("FullOpen.bmp")

Set IkThumb1.PictureDown = X

【値の設定】

デザイン時、実行時

【値の参照】

実行時


PictureDownFile, PictureFile（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

PictureDownFile, PictureFile

【機能】

サムネイルのコマ（サムネイル画像を表示する領域）の背景画像を示すファイル名を設定します。

【書式】

※PictureDownFileにて説明（PictureFileも同様な使い方）

(1)Visual Basic thumbcontrolname.PictureDownFile [ = String ]

(2)Visual C++ thumbcontrolname.SetPictureDownFile(LPCTSTR Val)

(3)VB.NET thumbcontrolname.PictureDownFile [ = String ]

(4)C#.NET thumbcontrolname.PictureDownFile [ = string ]

【設定値】

PictureDownFileはコマが押された時の背景画像を示すファイル名。

PictureFileはデフォルトの背景画像を示すファイル名。（コマが押されていない状態）

【解説】

Styleプロパティが2（カスタム）の場合に有効です。

イメージの黒（Red=0, Green=0, Blue=0）の部分が透過となり、この部分にサムネイル画像が表示されます。

Picture, PictureDownプロパティもサムネイルのコマの背景画像を示しますが、実行時に設定する場合はこちらのプロパティをご使用ください。

【値の設定】

実行時

【値の参照】

不可

【ImageKit6/7/8 ActiveXとの違い】

PictureUpFileプロパティがPictureFileプロパティに変更されました。


PictureDownFile, PictureUpFile（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

PictureDownFile, PictureUpFile

【機能】

サムネイルのコマ（サムネイル画像を表示する領域）の背景画像を示すファイル名を設定します。

【書式】

※PictureDownFileにて説明（PictureUpFileも同様な使い方）

(1)Visual Basic thumbcontrolname.PictureDownFile [ = String ]

(2)Visual C++ thumbcontrolname.SetPictureDownFile(LPCTSTR Val)

【設定値】

PictureDownFileはコマが押された時の背景画像を示すファイル名。

PictureUpFileはデフォルトの背景画像を示すファイル名。（コマが押されていない状態）

【解説】

Styleプロパティが2（カスタム）の場合に有効です。

イメージの黒（Red=0, Green=0, Blue=0）の部分が透過となり、この部分にサムネイル画像が表示されます。

PictureDown, PictureUpプロパティもサムネイルのコマの背景画像を示しますが、実行時に設定する場合はこちらのプロパティをご使用ください。

【値の設定】

実行時

【値の参照】

不可


Picture（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

Picture

【機能】

Visual BasicのPictureオブジェクトやC#.NET/VB.NETのImageオブジェクトとImageKit間でラスタイメージやベクトルイメージのやり取りをするために使用します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).Picture [ = Picture ]

(2)VB.NET imagekitcontrolname.get_Layer(Index).Picture [ = stdole.IPictureDisp ]

(3)C#.NET imagekitcontrolname.get_Layer(Index).Picture [ = stdole.IPictureDisp ]

※Indexは0～99

【設定値】

Visual BasicのPictureオブジェクトやC#.NET/VB.NETのImageオブジェクト。

【解説】

Visual BasicのPictureオブジェクトとはラスタイメージだけではなくベクトルイメージのやり取りもできますが、C#.NET/VB.NETの ImageオブジェクトとはImageKitでベクトルイメージを扱っていても代入時にラスタイメージに変換されます。

ラスタイメージをやり取りするコードを示します。

Visual Basicの例：

(1)PictureBox → ImageKit

ImageKit1.Layer(0).Picture = Picture1.Picture

(2)ImageKit → PictureBox

Picture1.Picture = ImageKit1.Layer(0).Picture

VB.NET/C#.NETの例：（※C#.NETは文末にセミコロンを付加）

(1)PictureBox → ImageKit

ImageKit1.get_Layer(0).Picture = PictureBox1.Image

(2)ImageKit → PictureBox

PictureBox1.Image = ImageKit1.get_Layer(0).Picture

VB.NET/C#.NETの例：

PictureBoxのImageプロパティと直接やり取りをすることができませんので、System.Windows.Forms名前空間のAxHostクラスを継承したクラスを作成し、GetIPictureDispFromPicture(またはGetIPictureFromPicture)メソッドとGetPictureFromIPictureメソッドを実行するメソッドを作成してください。ここではクラス名をIPictureDispHost、メソッド名をGetIPictureDisp(AxHostクラスのGetIPictureDispFromPictureメソッドを実行)とGetPicture(AxHostクラスのGetPictureFromIPictureメソッドを実行)とします。

(1)PictureBox → ImageKit

VB.NET:

ImageKit1.get_Layer(0).Picture = DirectCast(IPictureDispHost.GetIPictureDisp(PictureBox1.Image), stdole.IPictureDisp)

C#.NET:

ImageKit1.get_Layer(0).Picture = (stdole.IPictureDisp)IPictureDispHost.GetIPictureDisp(PictureBox1.Image);

(2)ImageKit → PictureBox

VB.NET:

PictureBox1.Image = IPictureDisp.GetPicture(ImageKit1.get_Layer(0).Picture)

C#.NET:

PictureBox1.Image = IPictureDisp.GetPicture(ImageKit1.get_Layer(0).Picture);

（注意）

実行時にその都度Picture(Image)オブジェクトをPictureプロパティに設定する場合は、初めにPictureプロパティの内容を消去してから設定するようにしてください。

Visual Basicの例：

Set Picture1.Picture = LoadPicture(path)

ImageKit1.Layer(0).Picture = LoadPicture()

ImageKit1.Layer(0).Picture = Picture1.Picture

VB.NETの例：

PictureBox1.Image = Image.FromFile(path)

ImageKit1.get_Layer(0).Picture = Nothing

ImageKit1.get_Layer(0).Picture = DirectCast(IPictureDispHost.GetIPictureDisp(PictureBox1.Image), stdole.IPictureDisp)

C#.NETの例：

PictureBox1.Image = Image.FromFile(path);

ImageKit1.get_Layer(0).Picture = null;

ImageKit1.get_Layer(0).Picture = (stdole.IPictureDisp)IPictureDispHost.GetIPictureDisp(PictureBox1.Image);

【値の設定】

実行時

【値の参照】

実行時


Picture（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Picture

【機能】

Visual BasicのPictureオブジェクトやC#.NET/VB.NETのImageオブジェクトとImageKit間でラスタイメージやベクトルイメージのやり取りをするために使用します。

【書式】

(1)Visual Basic imagekitcontrolname.Picture [ = Picture ]

(2)VB.NET imagekitcontrolname.Picture [ = Image ]

(3)C#.NET imagekitcontrolname.Picture [ = Image ]

【設定値】

VisualBasicのPictureオブジェクトやC#.NET/VB.NETのImageオブジェクト。

【解説】

Visual BasicのPictureオブジェクトとはラスタイメージだけではなくベクトルイメージのやり取りもできますが、C#.NET/VB.NETの ImageオブジェクトとはImageKitでベクトルイメージを扱っていても代入時にラスタイメージに変換されます。

ラスタイメージをやり取りするコードを示します。

Visual Basicの例：

(1)PictureBox → ImageKit

ImageKit1.Picture = Picture1.Picture

(2)ImageKit → PictureBox

Picture1.Picture = ImageKit1.Picture

VB.NET/C#.NETの例：（※C#.NETは文末にセミコロン必要）

(1)PictureBox → ImageKit

ImageKit1.Picture = PictureBox1.Image

(2)ImageKit → PictureBox

PictureBox1.Image = ImageKit1.Picture

（注意）

実行時にその都度Picture(Image)オブジェクトをPictureプロパティに設定する場合は、初めにPictureプロパティの内容を消去してから設定するようにしてください。

Visual Basicの例：

Set Picture1.Picture = LoadPicture(path)

ImageKit1.Picture = LoadPicture()

ImageKit1.Picture = Picture1.Picture

VB.NETの例：

PictureBox1.Image = Image.FromFile(path)

ImageKit1.Picture = Nothing

ImageKit1.Picture = PictureBox1.Image

C#.NETの例：

PictureBox1.Image = Image.FromFile(path);

ImageKit1.Picture = null;

ImageKit1.Picture = PictureBox1.Image;

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Pie（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Pie

【機能】

描画先オブジェクトに扇形を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Pie(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x1 As Long, y1 As Long, x2 As Long, y2 As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Pie(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x1, long y1, long x2, long y2, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Pie(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Pie(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x1, int y1, int x2, int y2, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
x1, y1 | 楕円弧の始点のx, y座標
x2, y2 | 楕円弧の終点のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

楕円の一部分を描画し、2つの端点と楕円の中心を接続して扇形を作成します。アウトラインはPenStyleプロパティの値で描画され、内部はBrushStyleプロパティの値で塗りつぶされます。端点が円弧の上にある必要はなく、中心から指定の端点まで引いた直線との交点が計算され、その交点が用いられます。

（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

left, top, right, bottom, x1, y1, x2, y2をピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottom, x1, y1, x2, y2を0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


PixelType（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

PixelType

【機能】

開発者作成UIで取り込む時のイメージの種類を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.PixelType [ = ScanPixelTypeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetPixelType()

imagekitcontrolname.GetScan().SetPixelType(long Val)

(3)VB.NET imagekitcontrolname.Scan.PixelType [ = ImageKit10(A)Lib.ScanPixelTypeConstants ]

(4)C#.NET imagekitcontrolname.Scan.PixelType [ = ImageKit10(A)Lib.ScanPixelTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 白黒2値（1ビット）
1 | グレースケール（4ビット、8ビット、12ビット、14ビット、16ビット）
2 | RGBカラー（24ビット、36ビット、42ビット、48ビット）
3 | パレットカラー（4ビット、8ビット）
1000 | 白黒/カラー自動判別（1ビット or 24ビット）
1001 | 白黒2値とグレースケール（1ビットと8ビット）
1002 | 白黒2値とRGBカラー（1ビットと24ビット）

定数(ikScanPixelBW = 0, ikScanPixelGray = 1, ikScanPixelRGB = 2, ikScanPixelPalette = 3, ikScanPixelAutomation = 1000, ikScanPixelGrayAndBW = 1001, ikScanPixelRGBAndBW = 1002)を使用することも可能です。

【解説】

デフォルトは2(ikScanPixelRGB)です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしているピクセルタイプは、GetCapEnum(Variant)メソッドで取得できます。

1000(ikScanPixelAutomation)はパナソニック製スキャナ用ドライバ（メモリ転送時は非圧縮形式のみ）、キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

1001(ikScanPixelGrayAndBW), 1002(ikScanPixelRGBAndBW)はキヤノン製DRスキャナ用ドライバ、パナソニック製スキャナ用ドライバ（メモリ転送時は非圧縮形式のみ）、PFU製スキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。

1000(ikScanPixelAutomation), 1001(ikScanPixelGrayAndBW), 1002(ikScanPixelRGBAndBW)がサポートされているかどうかについてはIsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

マルチストリームでの取り込みが可能となりました。

【ImageKit8 ActiveXとの違い】

エプソン製スキャナ用ドライバのダブルイメージ出力（マルチストリーム）に対応しました。


PixelXDimension, PixelYDimension（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

PixelXDimension, PixelYDimension

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※PixelXDimensionにて説明（PixelYDimensionも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.PixelXDimension [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetPixelXDimension()

imagekitcontrolname.GetFile().GetExif().SetPixelXDimension(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.PixelXDimension [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.PixelXDimension [ = int ]

【設定値】

PixelXDimensionは、実効画像幅

PixelYDimensionは、実効画像高さ

【解説】

Exifの画像データの構成に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


PngAlphaChannel（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

PngAlphaChannel

【機能】

PNG形式のイメージの読み込み、および保存時のアルファチャンネルを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PngAlphaChannel [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPngAlphaChannel()

imagekitcontrolname.GetFile().SetPngAlphaChannel(BOOL Val)

(3)VB.NET imagekitcontrolname.File.PngAlphaChannel [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.PngAlphaChannel [ = bool ]

【設定値】

値 | 説明
True | アルファチャンネルを独立したプレーンとする（RGBA形式）
False | アルファチャンネルを考慮する（RGB形式）

【解説】

デフォルトはFalseです。

【値の設定】

実行時

【値の参照】

実行時


PolyBezier, PolyBezierVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PolyBezier, PolyBezierVariant

【機能】

描画先オブジェクトにベジェ曲線を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezier(DeviceValue As LONG_PTR, x As Long, y As Long, Points As Long, DeviceMode As OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezierVariant(DeviceValue As LONG_PTR, x As Variant, y As Variant, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().PolyBezier(LONG_PTR DeviceValue, long *x, long *y, long Points, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezier(DeviceValue As Integer(x86) or Long(x64), ByRef x As Integer, ByRef y As Integer, Points As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezierVariant(DeviceValue As Integer(x86) or Long(x64), ByRef x As Object, ByRef y As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.PolyBezier(int(x86) or long(x64) DeviceValue, ref int x, ref int y, int Points, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

[ bool = ]imagekitcontrolname.PrintDraw.PolyBezierVariant(int(x86) or long(x64) DeviceValue, ref object x, ref object y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | 多角形のx, y座標を指定する配列 PolyBezier (1)Visual BasicDim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える PolyBezierVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（PolyBezierのみ）
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ベジェ曲線は始点、2つの制御点、終点の4つの点から構成されます。最初の曲線は4つの点で描画されますが、それ以降の曲線は3つの点で描画されます。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外の場合に有効です。

Pointsは「3×曲線の数＋最初の始点」の数だけ必要です。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、PolyBezierVariantメソッドをご使用ください。

x, yの配列の要素の値をピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

x, yの配列の要素の値を0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

(1)Visual Basic

Dim Ret As Boolean

Dim CurveX(3) As Long

Dim CurveY(3) As Long

CurveX(0) = 10: CurveY(0) = 100

CurveX(1) = 50: CurveY(1) = 50

CurveX(2) = 100: CurveY(2) = 150

CurveX(3) = 150: CurveY(3) = 100

ImageKit1.PrintDraw.ClearProperty

ImageKit1.PrintDraw.PenColor = vbGreen

ImageKit1.PrintDraw.PenStyle = 1

ImageKit1.PrintDraw.PenWidth = 15

Ret = ImageKit1.PrintDraw.PolyBezier(hDC, CurveX(0), CurveY(0), 4, 0)

(2)Visual C++

long CurveX[4], CurveY[4];

CurveX[0] = 10; CurveY[0] = 100;

CurveX[1] = 50; CurveY[1] = 50;

CurveX[2] = 100; CurveY[2] = 150;

CurveX[3] = 150; CurveY[3] = 100;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetPenColor(RGB(0, 0, 255));

ImageKit1.GetPrintDraw().SetPenStyle(1);

ImageKit1.GetPrintDraw().SetPenWidth(15);

ImageKit1.GetPrintDraw().PolyBezier(hDC, CurveX, CurveY, 4, 0);

(3)VB.NET

PolyBezier

Dim Ret As Boolean

Dim CurveX(3) As Integer

Dim CurveY(3) As Integer

CurveX(0) = 10: CurveY(0) = 100

CurveX(1) = 50: CurveY(1) = 50

CurveX(2) = 100: CurveY(2) = 150

CurveX(3) = 150: CurveY(3) = 100

ImageKit1.PrintDraw.ClearProperty()

ImageKit1.PrintDraw.PenColor = ColorTranslator.ToWin32(Color.Green)

ImageKit1.PrintDraw.PenStyle = 1

ImageKit1.PrintDraw.PenWidth = 15

Ret = ImageKit1.PrintDraw.PolyBezier(hDC, CurveX(0), CurveY(0), 4, 0)

PolyBezierVariant

Dim Ret As Boolean

Dim CurveX(3) As Integer

Dim CurveY(3) As Integer

CurveX(0) = 10: CurveY(0) = 100

CurveX(1) = 50: CurveY(1) = 50

CurveX(2) = 100: CurveY(2) = 150

CurveX(3) = 150: CurveY(3) = 100

ImageKit1.PrintDraw.ClearProperty()

ImageKit1.PrintDraw.PenColor = ColorTranslator.ToWin32(Color.Green)

ImageKit1.PrintDraw.PenStyle = 1

ImageKit1.PrintDraw.PenWidth = 15

Dim X As Object = CType(CurveX, Object)

Dim Y As Object = CType(CurveY, Object)

Ret = ImageKit1.PrintDraw.PolyBezierVariant(hDC, X, Y, 0)

(4)C#.NET

PolyBezier

bool Ret;

int[] CurveX = new int[4];

int[] CurveY = new int[4];

CurveX[0] = 10; CurveY[0] = 100;

CurveX[1] = 50; CurveY[1] = 50;

CurveX[2] = 100; CurveY[2] = 150;

CurveX[3] = 150; CurveY[3] = 100;

ImageKit1.PrintDraw.ClearProperty();

ImageKit1.PrintDraw.PenColor = (uint)ColorTranslator.ToWin32(Color.Green);

ImageKit1.PrintDraw.PenStyle = ImageKit10Lib.PenStyleConstants.ikPenSolid;

ImageKit1.PrintDraw.PenWidth = 15;

Ret = ImageKit1.PrintDraw.PolyBezier(hDC, ref CurveX[0], ref CurveY[0], 4, ImageKit10Lib.OutPutDeviceModeConstants.ikScreen);

PolyBezierVariant

bool Ret;

int[] CurveX = new int[4];

int[] CurveY = new int[4];

CurveX[0] = 10; CurveY[0] = 100;

CurveX[1] = 50; CurveY[1] = 50;

CurveX[2] = 100; CurveY[2] = 150;

CurveX[3] = 150; CurveY[3] = 100;

ImageKit1.PrintDraw.ClearProperty();

ImageKit1.PrintDraw.PenColor = (uint)ColorTranslator.ToWin32(Color.Green);

ImageKit1.PrintDraw.PenStyle = ImageKit10Lib.PenStyleConstants.ikPenSolid;

ImageKit1.PrintDraw.PenWidth = 15;

object X = (object)CurveX;

object Y = (object)CurveY;

Ret = ImageKit1.PrintDraw.PolyBezierVariant(hDC, ref X, ref Y, ImageKit10Lib.OutPutDeviceModeConstants.ikScreen);

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


Polygon, PolygonVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Polygon, PolygonVariant

【機能】

描画先オブジェクトに多角形を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Polygon(DeviceValue As LONG_PTR, x As Long, y As Long, Points As Long, DeviceMode As OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.PolygonVariant(DeviceValue As LONG_PTR, x As Variant, y As Variant, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Polygon(LONG_PTR DeviceValue, long *x, long *y, long Points, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Polygon(DeviceValue As Integer(x86) or Long(x64), ByRef x As Integer, ByRef y As Integer, Points As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.PolygonVariant(DeviceValue As Integer(x86) or Long(x64), ByRef x As Object, ByRef y As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Polygon(int(x86) or long(x64) DeviceValue, ref int x, ref int y, int Points, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

[ bool = ]imagekitcontrolname.PrintDraw.Polygon(int(x86) or long(x64) DeviceValue, ref object x, ref object y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | 多角形のx, y座標を指定する配列 Polygon (1)Visual BasicDim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える PolygonVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（2以上、Polygonのみ）
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

指定の点を基にして一連の直線を描画し、最後の点から最初の点まで直線を引くことで図形をクローズします。アウトラインはPenStyleプロパティの値で描画され、内部はBrushStyleプロパティの値で塗りつぶされます。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、PolygonVariantメソッドをご使用ください。

x, yの配列の要素の値をピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

x, yの配列の要素の値を0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


Polyline, PolylineVariant（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Polyline, PolylineVariant

【機能】

描画先オブジェクトに連続線を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Polyline(DeviceValue As LONG_PTR, x As Long, y As Long, Points As Long, DeviceMode As OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.PolylineVariant(DeviceValue As LONG_PTR, x As Variant, y As Variant, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Polyline(LONG_PTR DeviceValue, long *x, long *y, long Points, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Polyline(DeviceValue As Integer(x86) or Long(x64), ByRef x As Integer, ByRef y As Integer, Points As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

[ Boolean = ]imagekitcontrolname.PrintDraw.PolylineVariant(DeviceValue As Integer(x86) or Long(x64), ByRef x As Object, ByRef y As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Polyline(int(x86) or long(x64) DeviceValue, ref int x, ref int y, int Points, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

[ bool = ]imagekitcontrolname.PrintDraw.Polyline(int(x86) or long(x64) DeviceValue, ref object x, ref object y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | 連続線のx, y座標を指定する配列 Polyline (1)Visual BasicDim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える PolylineVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（2以上、Polylineのみ）
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

指定の点で一連の直線をPenStyleプロパティの値で描画します。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外の場合に有効です。

ASPでは、PolylineVariantメソッドをご使用ください。

x, yの配列の要素の値をピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

x, yの配列の要素の値を0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


PortName（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PortName

【機能】

プリンタのポート名を示します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PortName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetPrintDraw().GetPortName()

(3)VB.NET imagekitcontrolname.PrintDraw.PortName [ = String ]

(4)C#.NET imagekitcontrolname.PrintDraw.PortName [ = string ]

【参照値】

ポート名。

【解説】

GetDevModeHandle, GetDevNamesInfo, GetPrinterPortメソッドを実行するとポート名が設定されます。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8/9 ActiveXとの違い】

GetDevModeHandle, GetDevNamesInfoメソッド実行後にもポート名が設定されます。


PreviewInit（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PreviewInit

【機能】

印刷プレビュー時に、スクリーンの解像度を出力するプリンタの解像度にスケーリングします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.PreviewInit(phDC As LONG_PTR, dhDC As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().PreviewInit(LONG_PTR phDC, LONG_PTR dhDC)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.PreviewInit(phDC As Integer(x86) or Long(x64), dhDC As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.PreviewInit(int(x86) or long(x64) phDC, int(x86) or long(x64) dhDC)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
phDC | 出力するプリンタのデバイスコンテキスト
dhDC | プレビューするスクリーンのデバイスコンテキスト

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

印刷プレビュー時に、スクリーンの解像度を出力するプリンタの解像度にスケーリングします。

【ImageKit7/8 ActiveXとの違い】

引数phDC, dhDCの型が変更されました。


Preview（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

Preview

【機能】

ファイル選択ダイアログのプレビュー表示の可否を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Preview [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPreview()

imagekitcontrolname.GetFile().SetPreview(BOOL Val)

(3)VB.NET imagekitcontrolname.File.Preview [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.Preview [ = bool ]

【設定値】

ファイル選択ダイアログの初期表示時のモード。

値 | 説明
True | プレビュー表示あり（チェックボックスにチェックが入った状態）
False | プレビュー表示なし（チェックボックスにチェックが入っていない状態）

【解説】

デフォルトはFalseです。

OpenFileDialogメソッドやSaveFileDialogメソッドを実行した後でも、ExtendedDialogプロパティがTrueであればプロパティの値に関係なくプレビュー表示は可能です。

【値の設定】

実行時

【値の参照】

実行時


PrintAbortDoc（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintAbortDoc

【機能】

現在の印刷ジョブを終了します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintAbortDoc

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintAbortDoc()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintAbortDoc()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintAbortDoc()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

現在の印刷ジョブを終了し、最後にPrintStartDocメソッドを呼び出した後に描画したすべての情報を消去します。

PrintAbortDocメソッドは、PrintStartDoc, PrintStartPage, PrintEndPage, PrintEndDocメソッドと共に使用し、PrintStartPageとPrintEndPageメソッドの間に記述します。

ただし、ButtonName, Caption, Messageプロパティなどを設定して印刷中止のダイアログボックスを表示する場合は、実行する必要はありません。

印刷ジョブを終了する例：

(1)Visual Basic

Dim Ret As Boolean, bAbort As Boolean

Dim i As Integer

ImageKit1.PrintDraw.PrintFileName = "Default"

If ImageKit1.PrintDraw.PrintCreateDC(ikPrintFileName) = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

bAbort = False

For i = 0 To 99

ImageKit1.PrintDraw.PrintStartPage

'イメージ・テキストなどの描画

If i = 50 then

ImageKit1.PrintDraw.PrintAbortDoc

bAbort = True

End If

ImageKit1.PrintDraw.PrintEndPage

If bAbort = True Then Exit For

Next i

ImageKit1.PrintDraw.PrintEndDoc

End If

ImageKit1.PrintDraw.PrintDeleteDC

(2)Visual C++

BOOL Ret, bAbort;

int i;

ImageKit1.GetPrintDraw().SetPrintFileName("Default");

if (ImageKit1.GetPrintDraw().PrintCreateDC(1) == FALSE) return;

ImageKit1.GetPrintDraw().SetDocName("ImageKit Print Sample");

if (ImageKit1.GetPrintDraw().PrintStartDoc() != FALSE) {

for (i = 0; i < 100; i++) {

ImageKit1.GetPrintDraw().PrintStartPage();

//イメージ・テキストなどの描画

if (i == 50) {

ImageKit1.GetPrintDraw().PrintAbortDoc();

bAbort = TRUE;

}

ImageKit1.GetPrintDraw().PrintEndPage();

if (bAbort) break;

}

ImageKit1.GetPrintDraw().PrintEndDoc();

}

ImageKit1.GetPrintDraw().PrintDeleteDC();

(3)VB.NET

Dim Ret As Boolean, bAbort As Boolean

Dim i As Integer

ImageKit1.PrintDraw.PrintFileName = "Default"

If ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName) = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

bAbort = False

For i = 0 To 99

ImageKit1.PrintDraw.PrintStartPage()

'イメージ・テキストなどの描画

If i = 50 then

ImageKit1.PrintDraw.PrintAbortDoc()

bAbort = True

End If

ImageKit1.PrintDraw.PrintEndPage()

If bAbort = True Then Exit For

Next i

ImageKit1.PrintDraw.PrintEndDoc()

End If

ImageKit1.PrintDraw.PrintDeleteDC()

(4)C#.NET

bool Ret, bAbort;

int i;

ImageKit1.PrintDraw.PrintFileName = "Default";

if (ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName) == false) return;

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample";

if (ImageKit1.PrintDraw.PrintStartDoc() != false)

{

for (i = 0; i < 100; i++)

{

ImageKit1.PrintDraw.PrintStartPage();

//イメージ・テキストなどの描画

if (i == 50)

{

ImageKit1.PrintDraw.PrintAbortDoc();

bAbort = true;

}

ImageKit1.PrintDraw.PrintEndPage;

if (bAbort) break;

}

ImageKit1.PrintDraw.PrintEndDoc();

}

ImageKit1.PrintDraw.PrintDeleteDC();


PrintCreateDC（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintCreateDC

【機能】

デバイスコンテキストを作成します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.PrintCreateDC(Mode As PrintModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintCreateDC(long Mode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.PrintCreateDC(Mode As ImageKit10(A)Lib.PrintModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.PrintCreateDC(ImageKit10(A)Lib.PrintModeConstants Mode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Mode | デバイスコンテキストを作成する方法（0～2）

定数(ikPrinterName = 0, ikPrintFileName = 1, ikDevMode = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Modeが0(ikPrinterName)の場合

PrinterNameプロパティに設定されたプリンタ名からデバイスコンテキストを作成します。

Modeが1(ikPrintFileName)の場合

PrintFileNameプロパティに設定されたファイルからデバイスコンテキストを作成します。

Modeが2(ikDevMode)の場合

DevModeプロパティに設定されたDEVMODE構造体のハンドルとDevNamesプロパティに設定されたDEVNAMES構造体のハンドルからデバイスコンテキストを作成します。

通常使うプリンタの印刷設定をそのまま使用する場合は、Modeを1(ikPrintFileName)にしてPrintFileNameプロパティを"Default"（アルファベットの大小文字関係なし）に設定してください。

成功するとHdcプロパティにデバイスコンテキストが作成されます。また、XResolutionプロパティとYResolutionプロパティにデバイスコンテキストの解像度が設定されます。なお、取得したデバイスコンテキストはPrintDeleteDCメソッドで削除します。

拡張機能として、PrintFileNameプロパティにプリンタの設定情報を保存したファイル名にプラスして印刷部数、印刷の向き、用紙サイズを順番に設定すると、保存した項目の該当する部分を変更して印刷することができます。（後ろの項目は省略可、順番を入れ替えることは不可）

設定する場合はそれぞれの項目をセミコロン(;)で区切ります。

設定ファイルに保存された情報を有効にしたい場合は、それぞれの該当する項目に0を設定します。

印刷の向き：()内の説明はWindowsAPIで使用する定数と同じ意味です。

1:縦(DMORIENT_PORTRAIT) 2:横(DMORIENT_LANDSCAPE)

用紙サイズ：()内の説明はWindowsAPIで使用する定数と同じ意味です。

8:A3(DMPAPER_A3) 9:A4(DMPAPER_A4)

12:B4(DMPAPER_B4) 13:B5(DMPAPER_B5)

上記以外の用紙サイズについては、ご利用のコンテナのWindowsAPIに関連する部分を参考に設定してください。

設定ファイルを"IkPrint.Ik"とした場合(VisualBasic)

1)通常の場合

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik"

2)拡張機能を使用した場合

A)印刷部数を3、印刷の向きを横、用紙サイズをB5にする

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik;3;2;13"

B)印刷部数と用紙サイズを設定ファイルから読み出し、印刷の向きを横にする

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik;0;2;0" or ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik;0;2"

プリンタ設定ファイル(IkPrn.Ik)を使用して印刷するコード例:

(1)Visual Basic

Dim Ret As Boolean

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrn.Ik"

Ret = ImageKit1.PrintDraw.PrintCreateDC(ikPrintFileName)

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

ImageKit1.PrintDraw.PrintStartPage

'イメージ・テキストなどの描画

ImageKit1.PrintDraw.PrintEndPage

ImageKit1.PrintDraw.PrintEndDoc

End If

ImageKit1.PrintDraw.PrintDeleteDC

(2)Visual C++

BOOL Ret;

ImageKit1.GetPrintDraw().SetPrintFileName("C:\\Test\\IkPrn.Ik");

Ret = ImageKit1.GetPrintDraw().PrintCreateDC(1);

if (Ret == FALSE) return;

ImageKit1.GetPrintDraw().SetDocName("ImageKit Print Sample");

if (ImageKit1.GetPrintDraw().PrintStartDoc() != FALSE) {

ImageKit1.GetPrintDraw().PrintStartPage();

//イメージ・テキストなどの描画

ImageKit1.GetPrintDraw().PrintEndPage();

ImageKit1.GetPrintDraw().PrintEndDoc();

}

ImageKit1.GetPrintDraw().PrintDeleteDC();

(3)VB.NET

Dim Ret As Boolean

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrn.Ik"

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName)

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc() <> False) Then

ImageKit1.PrintDraw.PrintStartPage()

'イメージ・テキストなどの描画

ImageKit1.PrintDraw.PrintEndPage()

ImageKit1.PrintDraw.PrintEndDoc()

End If

ImageKit1.PrintDraw.PrintDeleteDC()

(4)C#.NET

bool Ret;

ImageKit1.PrintDraw.PrintFileName = @"C:\Test\IkPrn.Ik";

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName);

if (Ret == false) return;

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample";

if (ImageKit1.PrintDraw.PrintStartDoc() != false)

{

ImageKit1.PrintDraw.PrintStartPage();

//イメージ・テキストなどの描画

ImageKit1.PrintDraw.PrintEndPage();

ImageKit1.PrintDraw.PrintEndDoc();

}

ImageKit1.PrintDraw.PrintDeleteDC();

【ImageKit7/8/9 ActiveXとの違い】

当メソッドが成功するとXResolutionプロパティとYResolutionプロパティにデバイスコンテキストの解像度が設定されます。


PrintDeleteDC（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintDeleteDC

【機能】

デバイスコンテキストを削除します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDeleteDC

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintDeleteDC()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDeleteDC()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintDeleteDC()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

印刷処理が終了し、デバイスコンテキストが不要になった段階で実行します。

印刷コードについてはPrintCreateDC, PrintDialogメソッドを参照してください。


PrintDialog（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintDialog

【機能】

デバイスコンテキストを作成します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDialog

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintDialog()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDialog()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintDialog()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

印刷ダイアログを表示し、設定した情報でデバイスコンテキストを作成します。

GetDevModeHandleメソッドを実行し、DevModeプロパティとDevNamesプロパティを取得すると、印刷ダイアログを表示する際にプリンタ名や印刷条件を操作できます。通常使うプリンタの印刷設定をそのまま使用する場合は、事前にGetDevModeHandleメソッドを実行する必要はありません。

Collate, Copies, FromPage, ToPage, MaxPage, MinPage, Options, PrintRange, PrintToFileプロパティは印刷ダイアログを表示する際の初期値として使用され、処理終了後には設定した情報が返されます。

成功するとHdcプロパティにプリンタのデバイスコンテキストが設定され、DevModeプロパティとDevNamesプロパティが示す情報が更新されます。また、XResolutionプロパティとYResolutionプロパティにデバイスコンテキストの解像度が設定されます。なお、取得したデバイスコンテキストはPrintDeleteDCメソッドで削除し、DevModeプロパティとDevNamesプロパティはReleaseDevModeHandleメソッドで解放します。

PrintDialogメソッドは以前のImageKitで提供していたプリントコントロールのPrintDlgメソッドに相当します。

印刷するコード例:

(1)Visual Basic

Dim Ret As Boolean

ImageKit1.PrintDraw.ClearProperty

ImageKit1.PrintDraw.Copies = 1

ImageKit1.PrintDraw.Options = &H4 Or &H8 Or &H100000

Ret = ImageKit1.PrintDraw.PrintDialog

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

ImageKit1.PrintDraw.PrintStartPage

'イメージ・テキストなどの描画

ImageKit1.PrintDraw.PrintEndPage

ImageKit1.PrintDraw.PrintEndDoc

End If

ImageKit1.PrintDraw.PrintDeleteDC

ImageKit1.PrintDraw.ReleaseDevModeHandle

(2)Visual C++

BOOL Ret;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetCopies(1);

ImageKit1.GetPrintDraw().SetOptions(0x4 | 0x8 | 0x100000);

Ret = ImageKit1.GetPrintDraw().PrintDialog();

if (Ret == FALSE) return;

ImageKit1.GetPrintDraw().SetDocName("ImageKit Print Sample");

if (ImageKit1.GetPrintDraw().PrintStartDoc() != FALSE) {

ImageKit1.GetPrintDraw().PrintStartPage();

//イメージ・テキストなどの描画

ImageKit1.GetPrintDraw().PrintEndPage();

ImageKit1.GetPrintDraw().PrintEndDoc();

}

ImageKit1.GetPrintDraw().PrintDeleteDC();

ImageKit1.GetPrintDraw().ReleaseDevModeHandle();

(3)VB.NET

Dim Ret As Boolean

ImageKit1.PrintDraw.ClearProperty()

ImageKit1.PrintDraw.Copies = 1

ImageKit1.PrintDraw.Options = &H4 Or &H8 Or &H100000

Ret = ImageKit1.PrintDraw.PrintDialog()

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc() <> False) Then

ImageKit1.PrintDraw.PrintStartPage()

'イメージ・テキストなどの描画

ImageKit1.PrintDraw.PrintEndPage()

ImageKit1.PrintDraw.PrintEndDoc()

End If

ImageKit1.PrintDraw.PrintDeleteDC()

ImageKit1.PrintDraw.ReleaseDevModeHandle()

(4)C#.NET

bool Ret;

ImageKit1.PrintDraw.ClearProperty();

ImageKit1.PrintDraw.Copies = 1;

ImageKit1.PrintDraw.Options = 0x4 | 0x8 | 0x100000;

Ret = ImageKit1.PrintDraw.PrintDialog();

if (Ret == false) return;

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample";

if (ImageKit1.PrintDraw.PrintStartDoc() != false)

{

ImageKit1.PrintDraw.PrintStartPage();

//イメージ・テキストなどの描画

ImageKit1.PrintDraw.PrintEndPage();

ImageKit1.PrintDraw.PrintEndDoc();

}

ImageKit1.PrintDraw.PrintDeleteDC();

ImageKit1.PrintDraw.ReleaseDevModeHandle();

【ImageKit7/8/9 ActiveXとの違い】

当メソッドが成功するとDevModeプロパティとDevNamesプロパティが示す情報が更新され、XResolutionプロパティとYResolutionプロパティにデバイスコンテキストの解像度が設定されます。


PrintEndDoc（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintEndDoc

【機能】

印刷を終了します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndDoc

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintEndDoc()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndDoc()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintEndDoc()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PrintEndDocメソッドは、PrintStartDoc, PrintStartPage, PrintEndPageメソッドと共に使用します。

印刷コードについてはPrintCreateDC, PrintDialogメソッドを参照してください。


PrintEndPage（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintEndPage

【機能】

ページ単位の印刷を終了して、改ページを行います。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndPage

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintEndPage()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndPage()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintEndPage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PrintEndPageメソッドは、PrintStartDoc, PrintStartPage, PrintEndDocメソッドと共に使用します。

印刷コードについてはPrintCreateDC, PrintDialogメソッドを参照してください。


PrinterName（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PrinterName

【機能】

プリンタ名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PrinterName [ = String ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetPrinterName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PrinterName [ = String ]

(4)C#.NET imagekitcontrolname.PrintDraw.PrinterName [ = string ]

【設定値】

プリンタ名

【解説】

GetDevModeHandle, PrintCreateDCメソッドを使用する際に設定します。

プリンタ名はEnumPrinters(Variant)メソッドで取得した名称を設定してください。

また、GetDevModeHandle, GetDevNamesInfoメソッドを実行し成功するとプリンタ名が更新されます。

例：ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8/9 ActiveXとの違い】

GetDevModeHandle, GetDevNamesInfoメソッドを実行し成功するとプリンタ名が更新されます。


Printers（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Printers

【機能】

EnumPrinters(Variant)メソッドで取得されるプリンタ名のリストを示します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Printers [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetPrintDraw().GetPrinters()

(3)VB.NET imagekitcontrolname.PrintDraw.Printers [ = String ]

(4)C#.NET imagekitcontrolname.PrintDraw.Printers [ = string ]

【参照値】

プリンタ名のリスト。

【解説】

EnumPrinters(Variant)メソッドが成功した場合、リスト文字列は"XXX,XXX,････････,"となり、名称はカンマで区切られて設定されます（終了は","です）。

【値の設定】

不可

【値の参照】

実行時


PrintFileName（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PrintFileName

【機能】

プリンタの情報を保存するファイル名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PrintFileName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetPrintDraw().GetPrintFileName()

imagekitcontrolname.GetPrintDraw().SetPrintFileName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PrintFileName [ = String ]

(4)C#.NET imagekitcontrolname.PrintDraw.PrintFileName [ = string ]

【設定値】

ファイル名

【解説】

SaveDevModeHandleもしくはSavePrinterInfoメソッドで保存するファイル名を設定します（誤動作を防ぐためにフルパスで設定してください）。

拡張機能としてPrintCreateDCメソッドを実行する前に、PrintFileNameプロパティにプリンタの設定情報を保存したファイル名にプラスして印刷部数、印刷の向き、用紙サイズを順番に設定すると、保存した項目の該当する部分を変更して印刷することができます（後ろの項目は省略可、順番を入れ替えることは不可）。

設定する場合はそれぞれの項目をセミコロン(;)で区切ります。

設定ファイルに保存された情報を有効にしたい場合は、それぞれの該当する項目に0を設定します。

印刷の向き：()内の説明はWindowsAPIで使用する定数と同じ意味です。

1:縦(DMORIENT_PORTRAIT) 2:横(DMORIENT_LANDSCAPE)

用紙サイズ：()内の説明はWindowsAPIで使用する定数と同じ意味です。

8:A3(DMPAPER_A3) 9:A4(DMPAPER_A4)

12:B4(DMPAPER_B4) 13:B5(DMPAPER_B5)

上記以外の用紙サイズについては、ご利用のコンテナのWindowsAPIに関連する部分を参考に設定してください。

設定ファイルを"IkPrint.Ik"とした場合(VisualBasic)

1)通常の場合

imagekitcontrolname.PrintFileName = "C:\Test\IkPrint.Ik"

2)拡張機能を使用した場合

A)印刷部数を3、印刷の向きを横、用紙サイズをB5にする

imagekitcontrolname.PrintFileName = "C:\Test\IkPrint.Ik;3;2;13"

B)印刷部数と用紙サイズを設定ファイルから読み出し、印刷の向きを横にする

imagekitcontrolname.PrintFileName = "C:\Test\IkPrint.Ik;0;2;0"

【値の設定】

実行時

【値の参照】

実行時


PrintRange（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

PrintRange

【機能】

印刷ダイアログの印刷範囲の種類を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.PrintRange [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetPrintRange()

imagekitcontrolname.GetPrintDraw().SetPrintRange(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.PrintRange [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.PrintRange [ = short ]

【設定値】

値 | 説明
0 | すべて
1 | 選択した部分
2 | ページ指定

【解説】

PrintDialogメソッドで使用します。実行前にプロパティを設定するとその値で初期化し、実行後は選択された印刷範囲を参照できます。ただし、Optionsプロパティの設定によっては1, 2は有効にならない場合があります。

【値の設定】

実行時

【値の参照】

実行時


PrintStartDoc（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintStartDoc

【機能】

印刷を開始します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartDoc

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintStartDoc()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartDoc()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintStartDoc()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Caption, ButtonName, Messageプロパティが設定されていない場合は、印刷中止のダイアログボックスは表示されません。PrintStartDocメソッドは、PrintStartPage, PrintEndPage, PrintEndDocメソッドと共に使用します。

印刷コードについてはPrintCreateDC, PrintDialogメソッドを参照してください。


PrintStartPage（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

PrintStartPage

【機能】

ページ単位の印刷を開始します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartPage

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintStartPage()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartPage()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.PrintStartPage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PrintStartPageメソッドはPrintStartDoc, PrintEndPage, PrintEndDocメソッドと共に使用します。

印刷コードについてはPrintCreateDC, PrintDialogメソッドを参照してください。


ProcessingMethod,ProcessingMethodID（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ProcessingMethod, ProcessingMethodID

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※ProcessingMethodにて説明（ProcessingMethodIDも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.ProcessingMethod [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetProcessingMethod()

imagekitcontrolname.GetFile().GetExif().SetProcessingMethod(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.ProcessingMethod [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.ProcessingMethod [ = string ]

【設定値】

ProcessingMethodは、測位に使用した方式の名称（例：" CELLID"," WLAN"," GPS"など）

ProcessingMethodIDは、ProcessingMethodに書かれる文字コードを判別するために、識別コードを8バイト固定で記入し、余った領域にはNULL（0x00）でパディングする。

文字コード | コード記入方法（8バイト） | リファレンス
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

【解説】

ExifのGPS情報に関するタグです。

【値の設定】

実行時

【値の参照】

実行時


Progress（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

Progress

【機能】

エフェクト処理およびファイルの読込・保存処理、VectorのRasterToVectorメソッド実行中に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_Progress(ByVal Percent As Integer)

(2)Visual C++

OnProgress imagekitcontrolname(short Percent)

(3)VB.NET

imagekitcontrolname_Progress(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ProgressEvent)

(4)C#.NET

imagekitcontrolname_Progress(object sender, AxImageKit10(A)Lib._IImageKitEvents_ProgressEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Percent | 現在処理している％数

※VB.NET/C#.NETでは二番目の引数eにPercentが含まれます（先頭の文字が小文字になります）。

【解説】

エフェクト処理ではEndDibAccess(Variant), StartDibAccess(Variant), GetDibPixel(Variant), SetDibPixel(Variant)メソッド以外のメソッド実行時、ファイル処理ではFileLoadAsRawData, FileSaveAsRawData, LoadFile(Mem), SaveFile(Mem)メソッド実行時、およびベクトル変換処理（VectorのRasterToVectorメソッド）を実行した場合にイベントが発生します。

ただし、その場合でもCaption, Message, ButtonNameプロパティを設定して進捗状況のダイアログボックスを表示する場合はイベントは発生いたしません。

処理を中止する場合は、Effect, File, VectorのCancelプロパティをTrueに設定します。


Property（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Property

【機能】

選択した要素のプロパティを確認・変更できます。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Property

(2)Visual C++ imagekitcontrolname.GetEdit().Property()

(3)VB.NET imagekitcontrolname.Edit.Property()

(4)C#.NET imagekitcontrolname.Edit.Property()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（べクトル）のポップアップメニューの"プロパティ"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


RangeCurrent, RangeDefault, RangeMax, RangeMin, RangeStep（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

RangeCurrent, RangeDefault, RangeMax, RangeMin, RangeStep

【機能】

GetCapRange(Variant)メソッドで取得される情報を示します。

【書式】

※RangeCurrentにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.RangeCurrent [ = Single ]

(2)Visual C++ [ float = ]imagekitcontrolname.GetScan().GetRangeCurrent()

(3)VB.NET imagekitcontrolname.Scan.RangeCurrent [ = Single ]

(4)C#.NET imagekitcontrolname.Scan.RangeCurrent [ = float ]

【参照値】

RangeCurrentは現在設定されている値。

RangeDefaultはデフォルト値。（デバイスの電源を入れた時の値）

RangeMaxは最大値。

RangeMinは最小値。

RangeStepはステップ値。（範囲内[RangeMin～RangeMax]の隣接する値との差）

【解説】

GetCapRange(Variant)メソッドで指定した項目（X方向解像度など）の情報を取得できます。

【値の設定】

不可

【値の参照】

実行時


RasterToVector（イメージキットコントロール／Vectorメソッド）

イメージキットコントロール／Vectorメソッド

RasterToVector

【機能】

ラスタイメージをベクトルイメージに変換します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Vector.RasterToVector(BlackOnWhite As Boolean, Tolerance As Integer, TimeOutSeconds As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetVector().RasterToVector(BOOL BlackOnWhite, short Tolerance, long TimeOutSeconds)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Vector.RasterToVector(BlackOnWhite As Boolean, Tolerance As Short, TimeOutSeconds As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Vector.RasterToVector(bool BlackOnWhite, short Tolerance, int TimeOutSeconds)

【引数】

名称 | 内容
BlackOnWhite | False(0)：黒地に白字、True(0以外)：白地に黒字
Tolerance | 許容値 0（感度高）～10（感度低）
TimeOutSeconds | 処理を中止するタイムアウト（秒）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

白黒2値イメージが対象です。

処理対象となるラスタイメージのメモリハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（LayerNoプロパティによって処理されるイメージハンドルが決まります）。

成功した場合、ラスタイメージのメモリハンドルは解放され、変換されたベクトルイメージのメモリハンドルがLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

処理中にTimeOutSecondsで設定された時間を超えた場合、強制的に処理を中断します。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

RasterToVectorメソッドは以前のImageKitで提供していたエフェクトコントロールのRasterToVectorメソッドに相当します。


ReadMode（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ReadMode

【機能】

サムネイルとして表示するイメージの読み込みモードを設定します。

【書式】

(1)Visual Basic thumbcontrolname.ReadMode [ = ThumbnailReadModeConstants ]

(2)Visual C++ [ long = ]thumbcontrolname.GetReadMode()

thumbcontrolname.SetReadMode(long Val)

(3)VB.NET thumbcontrolname.ReadMode [ = ImageKit10Thumb(A)Lib.ThumbnailReadModeConstants ]

(4)C#.NET thumbcontrolname.ReadMode [ = ImageKit10Thumb(A)Lib.ThumbnailReadModeConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | ファイルの読込
1 | ファイルの読込と表示
2 | ファイルの読込（マルチイメージ対応）
3 | ファイルの読込（マルチイメージ対応）と表示
4 | イメージハンドルの読込

定数(ikThumbRd = 0, ikThumbRdDsp = 1, ikThumbRdMultiImg = 2, ikThumbRdDspMultiImg = 3, ikThumbRdImage = 4)を使用することも可能です。

【解説】

ReadModeプロパティを0(ikThumbRd), 2(ikThumbRdMultiImg)に設定した場合、GetFilesメソッドで予めFilePathプロパティに設定されたフォルダの該当するファイルまたはListOfFileNamesプロパティに設定されたファイルをメモリ上に読み込み、Displayメソッドでコントロール上に表示します。

ReadModeプロパティを1(ikThumbRdDsp), 3(ikThumbRdDspMultiImg)に設定した場合、Displayメソッドを実行するとFilePathプロパティに設定されたフォルダの該当するファイルまたはListOfFileNamesプロパティに設定されたファイルを読みながら、コントロール上に表示します。

※マルチイメージはGIFとTIFFファイルが対象となります。

ReadModeプロパティを4(ikThumbRdImage)に設定した場合、Displayメソッドを実行するとImageHandleプロパティで設定されたイメージをコントロール上に表示します。複数のイメージを同時に表示する場合は、ClearOnLoadプロパティをFalseに設定してImageHandleプロパティにそれぞれのメモリハンドルを設定してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Rectangle（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

Rectangle

【機能】

描画先オブジェクトに矩形を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.Rectangle(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().Rectangle(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.Rectangle(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.Rectangle(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した座標を基に矩形を描画します。アウトラインはPenStyleプロパティの値で描画され、内部はBrushStyleプロパティの値で塗りつぶされます。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

left, top, right, bottomをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottomを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


RectBottom, RectLeft, RectRight, RectTop（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

RectBottom, RectLeft, RectRight, RectTop

【機能】

円形にエフェクト処理を施す際の円に外接する四角形、もしくは矩形切り出しの際の四角形の位置を取得または設定します。

【書式】

※RectBottomにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Effect.RectBottom [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEffect().GetRectBottom()

imagekitcontrolname.GetEffect().SetRectBottom(long Val)

(3)VB.NET imagekitcontrolname.Effect.RectBottom [ = Integer ]

(4)C#.NET imagekitcontrolname.Effect.RectBottom [ = int ]

【設定値】

RectBottomは、四角形の下位置（ピクセル）

RectLeftは、四角形の左位置（ピクセル）

RectRightは、四角形の右位置（ピクセル）

RectTopは、四角形の上位置（ピクセル）

【解説】

円に外接する四角形を表す場合は、SelectModeプロパティを3(ikEffectEllipse)に設定します。

【値の設定】

実行時

【値の参照】

実行時


RectBottom, RectLeft, RectRight, RectTop（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

RectBottom, RectLeft, RectRight, RectTop

【機能】

開発者作成UIで取り込む時の取込位置を取得または設定します。

【書式】

※RectBottomにて説明（RectLeft, RectRight, RectTopも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.RectBottom [ = Single ]

(2)Visual C++ [ float = ]imagekitcontrolname.GetScan().GetRectBottom()

imagekitcontrolname.GetScan().SetRectBottom(float Val)

(3)VB.NET imagekitcontrolname.Scan.RectBottom [ = Single ]

(4)C#.NET imagekitcontrolname.Scan.RectBottom [ = float ]

【設定値】

UnitModeプロパティに応じた値で設定します（UnitModeプロパティが0の場合は、インチ単位）。

最小値は0。

【解説】

RectBottom, RectLeft, RectRight, RectTopの各プロパティには、それぞれ取込む原稿の下、左、右、上の位置を設定します。UiModeプロパティが2(ikScanNONUI)以外の場合やPaperSizeプロパティが1以上およびデジタルカメラからの取り込みの場合、設定値は無効です。

取り込み終了後にUnitModeプロパティの単位に応じた値が設定されます。

データソースのデフォルト値を使用する場合はRectLeft, RectTop, RectRight, RectBottomに0を設定します。

【値の設定】

実行時

【値の参照】

実行時


RectBottom, RectLeft, RectRight, RectTop（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RectBottom, RectLeft, RectRight, RectTop

【機能】

マウスでイメージの矩形範囲指定時の頂点4位置をピクセル単位で示します。

【書式】

※RectBottomにて説明（RectLeft, RectRight, RectTopも同様な使い方）

(1)Visual Basic imagekitcontrolname.RectBottom [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetRectBottom()

imagekitcontrolname.SetRectBottom(long Val)

(3)VB.NET imagekitcontrolname.RectBottom [ = Integer ]

(4)C#.NET imagekitcontrolname.RectBottom [ = int ]

【設定値】

イメージキットコントロール上のイメージの左上を原点（0, 0）としてピクセル単位で設定します。

【解説】

イメージキットコントロールのRectDrawプロパティをTrueにすることにより、基本イメージの任意の矩形範囲をマウスで指定することができます。

その際の任意の矩形範囲（下、左、右、上）を表すのがRectBottom, RectLeft, RectRight, RectTopの各プロパティです。

また、RectDrawプロパティをTrueに設定し、その後マウスをドラッグして離すと、その都度その矩形範囲の頂点4位置がRectBottom, RectLeft, RectRight, RectTopの各プロパティに格納されます。

なお、矩形選択時の矩形の色はRectColor1, RectColor2プロパティで指定した色となり、線種は点線となります。点線の点滅速度はBlinkSpeedプロパティで設定します。

【値の設定】

実行時

【値の参照】

実行時


RectDrawFix（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RectDrawFix

【機能】

イメージキットコントロール上の基本イメージの任意の矩形範囲をマウスでサイズ変更できるかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.RectDrawFix [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetRectDrawFix()

imagekitcontrolname.SetRectDrawFix(BOOL Val)

(3)VB.NET imagekitcontrolname.RectDrawFix [ = Boolean ]

(4)C#.NET imagekitcontrolname.RectDrawFix [ = bool ]

【設定値】

値 | 説明
True | イメージの矩形範囲をサイズ変更不可にする
False | イメージの矩形範囲をサイズ変更可にする

【解説】

RectDrawFixプロパティにTrueを設定する場合は、RectDrawプロパティにもTrueを設定する必要があります。そうすることにより、イメージキットコントロール上のイメージの任意の矩形範囲のサイズを変更不可にすることができます。（矩形範囲の移動は可）

また、当プロパティに値を設定しない場合はサイズ変更可（False）となります。

【値の設定】

実行時

【値の参照】

実行時


RectDrawRatio（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RectDrawRatio

【機能】

マウスで矩形範囲を指定する時の縦横比を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.RectDrawRatio [ = Double ]

(2)Visual C++ [ double = ]imagekitcontrolname.GetRectDrawRatio()

imagekitcontrolname.SetRectDrawRatio(double Val)

(3)VB.NET imagekitcontrolname.RectDrawRatio [ = Double ]

(4)C#.NET imagekitcontrolname.RectDrawRatio [ = double ]

【設定値】

矩形の縦横比（デフォルトは0）

【解説】

RectDrawRatioプロパティを有効にする場合は、RectDrawプロパティをTrueにする必要があります。

RectDrawRatioプロパティが0の場合はマウス操作に依存しますが、それ以外の場合は指定した縦横比で矩形が大きくなったり小さくなったりします。

表示イメージと同じ縦横比で矩形範囲を指定するコード例：

Visual Basic

Dim Ret As Boolean

ImageKit1.LayerNo = -1

Ret = ImageKit1.GetImageType()

If Ret = False Then Exit Sub

ImageKit1.RectDrawRatio = ImageKit1.ImageHeight / ImageKit1.ImageWidth

ImageKit1.RectDraw = True

【値の設定】

実行時

【値の参照】

実行時


RectDraw（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RectDraw

【機能】

イメージキットコントロール上の基本イメージの任意の矩形範囲をマウスで指定します。

【書式】

(1)Visual Basic imagekitcontrolname.RectDraw [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetRectDraw()

imagekitcontrolname.SetRectDraw(BOOL Val)

(3)VB.NET imagekitcontrolname.RectDraw [ = Boolean ]

(4)C#.NET imagekitcontrolname.RectDraw [ = bool ]

【設定値】

値 | 説明
True | マウスでイメージの矩形範囲指定を有効
False | マウスでイメージの矩形範囲指定を無効

【解説】

RectDrawプロパティをTrueにすることにより、基本イメージの任意の矩形範囲をマウスで指定することができます。

その際の任意の矩形範囲（下、左、右、上）を表すのがRectBottom, RectLeft, RectRight, RectTopの各プロパティです。

また、RectDrawプロパティをTrueに設定し、その後マウスをドラッグして離すと、その都度その矩形範囲の頂点4位置がRectBottom, RectLeft, RectRight, RectTopの各プロパティに格納されます。

なお、矩形選択時の矩形の色はRectColor1, RectColor2プロパティで指定した色となり、線種は点線となります。点線の点滅速度はBlinkSpeedプロパティで設定します。

MouseDragImage プロパティがTrueの場合、RectDrawプロパティがTrueでも矩形範囲の選択や移動はできません。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


RectMouseCursorFile（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RectMouseCursorFile

【機能】

マウスドラッグ時におけるカーソル形状を示すカーソルファイル名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.RectMouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetRectMouseCursorFile()

imagekitcontrolname.SetRectMouseCursorFile(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.RectMouseCursorFile [ = String ]

(4)C#.NET imagekitcontrolname.RectMouseCursorFile [ = string ]

【設定値】

カーソルファイル名。

【解説】

RectMouseCursorTypeプロパティが15(ikCursorCustom)の場合に有効です。

RectMouseCursorFileプロパティに空の文字列を設定した場合は、カーソル形状は4方向矢印になります。

設定したカーソル形状が有効になるのは、RectDrawプロパティがTrueで矩形領域が選択されていて（RectLeft, RectTop, RectRight, RectBottomプロパティが設定されている場合）その内部でマウスのボタンが押された場合やイメージ編集ツールバーを使用して編集している場合、およびMouseDragImageプロパティがTrueでマウスドラッグによるスクロール処理を行った場合です。

また、イメージキットコントロールの描画領域内におけるマウスカーソルの形状は、MouseCursorTypeプロパティをご利用ください。

【値の設定】

実行時

【値の参照】

実行時


RectMouseCursorType（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RectMouseCursorType

【機能】

マウスドラッグ時におけるマウスカーソルの形状を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.RectMouseCursorType [ = CursorTypeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetRectMouseCursorType()

imagekitcontrolname.SetRectMouseCursorType(long Val)

(3)VB.NET imagekitcontrolname.RectMouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

(4)C#.NET imagekitcontrolname.RectMouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 矢印（デフォルト）
1 | 矢印と砂時計
2 | 十字
3 | 矢印と疑問符
4 | Iビーム（縦線）
6 | 禁止
8 | 4方向矢印
9 | 斜め両方向矢印（左下がり）
10 | 上下両方向矢印
11 | 斜め両方向矢印（右下がり）
12 | 左右両方向矢印
13 | 上向き矢印
14 | 砂時計
15 | カスタム
16 | 非表示
17 | イメージ編集ツールバーのデフォルトカーソル

定数(ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16, ikCursorDefault = 17)を使用することも可能です。

【解説】

プロパティの値が15(ikCursorCustom)の場合、RectMouseCursorFileプロパティにカーソルファイル名を設定する必要があります。このプロパティはイメージキットコントロールの描画領域内におけるマウスカーソル形状を表すMouseCursorTypeプロパティとは異なります。

【値の設定】

実行時

【値の参照】

実行時


RectReverse（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

RectReverse

【機能】

パンウィンドウの矩形領域内をRGB反転するかどうか取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.RectReverse [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPanWindow().GetRectReverse()

imagekitcontrolname.GetPanWindow().SetRectReverse(BOOL Val)

(3)VB.NET imagekitcontrolname.PanWindow.RectReverse [ = Boolean ]

(4)C#.NET imagekitcontrolname.PanWindow.RectReverse [ = bool ]

【設定値】

値 | 説明
True | パンウィンドウの矩形領域内をRGB反転する
False | パンウィンドウの矩形領域内をRGB反転しない

【解説】

デフォルトはFalseです。Trueにするとパンウィンドウの矩形領域内をRGB反転させて表示します。

RectReverseプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowRectRevプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


RedEyeRemoval, RedEyeRemovalVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

RedEyeRemoval, RedEyeRemovalVariant

【機能】

赤目を指定した色に補正します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.RedEyeRemoval(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)

[ Boolean = ]imagekitcontrolname.Effect.RedEyeRemovalVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().RedEyeRemoval(long *x, long *y, long Points, short Red, short Green, short Blue, short Error)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.RedEyeRemoval(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short, Error As Short)

[ Boolean = ]imagekitcontrolname.Effect.RedEyeRemovalVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short, Error As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.RedEyeRemoval(ref int x, ref int y, int Points, short Red, short Green, short Blue, short Error)

[ bool = ]imagekitcontrolname.Effect.RedEyeRemovalVariant(ref object x, ref object y, short Red, short Green, short Blue, short Error)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） RedEyeRemoval (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RedEyeRemovalVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（RedEyeRemovalのみ）
Red | 補正後の赤(0～255)
Green | 補正後の緑(0～255)
Blue | 補正後の青(0～255)
Error | 補正する赤目の誤差範囲(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Errorは値が大きい程より赤に近い色を補正し、小さい程補正する色の範囲が広がります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RedEyeRemovalVariantメソッドをご使用ください。


Refine1BitImage（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Refine1BitImage

【機能】

1ビットイメージや4, 8ビットグレースケールイメージを縮小表示する際、高精彩に表示するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Refine1BitImage [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.Refine1BitImage()

imagekitcontrolname.SetRefine1BitImage(BOOL Val)

(3)VB.NET imagekitcontrolname.Refine1BitImage [ = Boolean ]

(4)C#.NET imagekitcontrolname.Refine1BitImage [ = bool ]

【設定値】

値 | 説明
True | 高精彩に表示する
False | そのまま表示する

【解説】

1ビットイメージや4, 8ビットグレースケールイメージを表示する際に有効になります。デフォルトはTrueです。

Refine1BitImageはイメージキットコントロールに表示するイメージが対象です。ただし、Refine1BitImageプロパティがTrueでもEdit.EditEnableプロパティがTrue（編集モード）の場合やBackgroundImageFileプロパティに有効なファイル名が設定されている場合には有効になりません（イメージはそのまま表示されます）。

このプロパティはIK7との互換性保持のために残されていますので、使用しないことをお勧めいたします。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定は実行時のみに変更されました（デザイン時は不可）。

IK7と同じ動作にする場合はStretchModeプロパティに0(ikRefineImage)を設定します。


RefineColorImage（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

RefineColorImage

【機能】

24, 32ビットカラーイメージを縮小表示する際、高精彩に表示するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.RefineColorImage [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.RefineColorImage()

imagekitcontrolname.SetRefineColorImage(BOOL Val)

(3)VB.NET imagekitcontrolname.RefineColorImage [ = Boolean ]

(4)C#.NET imagekitcontrolname.RefineColorImage [ = bool ]

【設定値】

値 | 説明
True | 高精彩に表示する
False | そのまま表示する

【解説】

24, 32ビットカラーイメージを表示する際に有効になります。デフォルトはFalseです。

RefineColorImageはイメージキットコントロールに表示するイメージが対象です。ただし、RefineColorImageプロパティがTrueでもEdit.EditEnableプロパティがTrue（編集モード）の場合やBackgroundImageFileプロパティに有効なファイル名が設定されている場合には有効になりません（イメージはそのまま表示されます）。

このプロパティはIK7との互換性保持のために残されていますので、使用しないことをお勧めいたします。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

IK7と同じ動作にする場合はStretchModeプロパティに0(ikRefineImage)を設定します。


RefineImage（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

RefineImage

【機能】

パンウィンドウ内のイメージを高精彩に表示するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.RefineImage [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPanWindow().GetRefineImage()

imagekitcontrolname.GetPanWindow().SetRefineImage(BOOL Val)

(3)VB.NET imagekitcontrolname.PanWindow.RefineImage [ = Boolean ]

(4)C#.NET imagekitcontrolname.PanWindow.RefineImage [ = bool ]

【設定値】

値 | 説明
True | 高精彩に表示する
False | そのまま表示する

【解説】

デフォルトはTrueです。ビット数に関係なく補間処理を行います。

このプロパティはIK7との互換性保持のために残されていますので、使用しないことをお勧めいたします。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

IK7と同じ動作にする場合はStretchModeプロパティに0(ikRefineImage)を設定します。


Refresh（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

Refresh

【機能】

イメージキットコントロールの再描画を実行します。

【書式】

(1)Visual Basic imagekitcontrolname.Refresh

(2)Visual C++ imagekitcontrolname.Refresh()

(3)VB.NET imagekitcontrolname.Refresh()

(4)C#.NET imagekitcontrolname.Refresh()

【引数】

ありません。

【戻り値】

ありません。

【解説】

表示しているイメージ（メモリハンドルやメモリデバイスコンテキスト）に対して処理を行った後などに実行すると、その結果が反映されます。


Refresh（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

Refresh

【機能】

サムネイルコントロールのイメージの再描画を実行します。

【書式】

(1)Visual Basic thumbcontrolname.Refresh

(2)Visual C++ thumbcontrolname.Refresh()

(3)VB.NET thumbcontrolname.Refresh()

(4)C#.NET thumbcontrolname.Refresh()

【引数】

ありません。

【戻り値】

ありません。


ReleaseDevModeHandle（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

ReleaseDevModeHandle

【機能】

DEVMODE構造体のハンドルとDEVNAMES構造体のハンドルを解放します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.ReleaseDevModeHandle

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().ReleaseDevModeHandle()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.ReleaseDevModeHandle()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.ReleaseDevModeHandle()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

GetDevModeHandleメソッドやPrintDialogメソッドで取得したDevModeプロパティとDevNamesプロパティが占有するメモリを解放します。

【ImageKit7/8/9 ActiveXとの違い】

当メソッドが成功するとDevModeプロパティに加えDevNamesプロパティが占有するメモリを解放します。


RemoveHole（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

RemoveHole

【機能】

開発者作成UIで取り込む時のパンチ穴の取り扱いを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.RemoveHole [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetRemoveHole(short Val)

(3)VB.NET imagekitcontrolname.Scan.RemoveHole [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.RemoveHole [ = short ]

【設定値】

値 | 説明
0 | パンチ穴を除去しない
1 | パンチ穴を除去する（白で埋める）
2 | パンチ穴を除去する（周辺色で埋める）

デフォルトは0です。

【解説】

パンチ穴を除去します。キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。

"白で埋める"と"周辺色で埋める"の機能はPFU製スキャナ用ドライバご利用時のみ有効です。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

不可


RemoveNoise, RemoveNoiseVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

RemoveNoise, RemoveNoiseVariant

【機能】

ラスタイメージのノイズを除去します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.RemoveNoise(x As Long, y As Long, Points As Long, Mode As RemoveNoiseModeConstants, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.RemoveNoiseVariant(x As Variant, y As Variant, Mode As RemoveNoiseModeConstants, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().RemoveNoise(long *x, long *y, long Points, long Mode, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.RemoveNoise(ByRef x As Integer, ByRef y As Integer, Points As Integer, Mode As ImageKit10(A)Lib.RemoveNoiseModeConstants, Level As Short)

[ Boolean = ]imagekitcontrolname.Effect.RemoveNoiseVariant(ByRef x As Object, ByRef y As Object, Mode As ImageKit10(A)Lib. RemoveNoiseModeConstants, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.RemoveNoise(ref int x, ref int y, int Points, ImageKit10(A)Lib.RemoveNoiseModeConstants Mode, short Level)

[ bool = ]imagekitcontrolname.Effect.RemoveNoiseVariant(ref object x, ref object y, ImageKit10(A)Lib.RemoveNoiseModeConstants Mode, short Level)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） RemoveNoise (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RemoveNoiseVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（RemoveNoiseのみ）
Mode | 処理モード（0:輝度値のメディアン法, 1:RGB別のノイズ除去） 定数(ikRemoveNoiseGray = 0, ikRemoveNoiseRGB = 1)を使用することも可能です。
Level | RGBでのノイズ除去レベル（0～255、Modeが1の時に有効）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Modeが1の場合にLevelで設定された値が有効になります。Levelを高く設定するほどノイズを除去することができます。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RemoveNoiseVariantメソッドをご使用ください。

【ImageKit7/8 ActiveXとの違い】

・引数Modeの型が変更されました。

・白黒2値画像に対応しました（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに白黒2値画像を設定可能）。


Resize（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Resize

【機能】

ラスタイメージのサイズを変更します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Resize(Width As Long, Height As Long, Mode As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Resize(long Width, long Height, BOOL Mode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Resize(Width As Integer, Height As Integer, Mode As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Resize(int Width, int Height, bool Mode)

【引数】

名称 | 内容
Width | 処理後のイメージの幅（ピクセル）
Height | 処理後のイメージの高さ（ピクセル）
Mode | 補間の有無(False(0):なし、True(0以外):あり) Trueの場合、拡大時は線形補間を行い、縮小時は平均を取り出力 8ビットグレースケール, 16, 24, 32ビットイメージが対象となり、それ以外は無視される

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

基のイメージを、Width, Heightで指定した新しいサイズになるように自動的に縮小、拡大してサイズを変更します。

ModeがFalseの場合、基のイメージより大きくするとその拡大率に比例してイメージが粗くなります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。MaskImageHandleプロパティに有効な値を設定した場合は、その結果として処理後のマスクハンドルがMaskImageHandleプロパティに設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


RGBBmpPlaneFileLoad（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

RGBBmpPlaneFileLoad

【機能】

RGBプレーン毎に保存してあるBMPファイルからラスタイメージを読み込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileLoad(RedFileName As String, GreenFileName As String, BlueFileName As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().RGBBmpPlaneFileLoad(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileLoad(RedFileName As String, GreenFileName As String, BlueFileName As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.RGBBmpPlaneFileLoad(string RedFileName, string GreenFileName, string BlueFileName)

【引数】

名称 | 内容
RedFileName | Rプレーンとして読み込むファイル名
GreenFileName | Gプレーンとして読み込むファイル名
BlueFileName | Bプレーンとして読み込むファイル名

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

RGBそれぞれのプレーンを表すイメージは8ビットグレーで、出力イメージは24ビットカラーです。成功するとLayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にイメージのメモリハンドルが設定されます。


RGBBmpPlaneFileSave（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

RGBBmpPlaneFileSave

【機能】

ラスタイメージをRGBプレーン毎にBMP形式でファイルに保存します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileSave(RedFileName As String, GreenFileName As String, BlueFileName As String, ImageHandle As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().RGBBmpPlaneFileSave(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileSave(RedFileName As String, GreenFileName As String, BlueFileName As String, ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.File.RGBBmpPlaneFileSave(string RedFileName, string GreenFileName, string BlueFileName, int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
RedFileName | Rプレーンとして保存するファイル名
GreenFileName | Gプレーンとして保存するファイル名
BlueFileName | Bプレーンとして保存するファイル名
ImageHandle | 保存対象となるイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルをRGBのそれぞれのプレーン毎にファイルに保存します。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルをRGBのそれぞれのプレーン毎にファイルに保存します。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

保存対象イメージは24ビットカラーで、保存されるイメージは8ビットグレーとなります。

【ImageKit7/8 ActiveXとの違い】

引数ImageHandleの型が変更されました。


RGBGamma, RGBGammaVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

RGBGamma, RGBGammaVariant

【機能】

ラスタイメージのRGB値のガンマ補正を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.RGBGamma(x As Long, y As Long, Points As Long, Red As Double, Green As Double, Blue As Double)

[ Boolean = ]imagekitcontrolname.Effect.RGBGammaVariant(x As Variant, y As Variant, Red As Double, Green As Double, Blue As Double)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().RGBGamma(long *x, long *y, long Points, double Red, double Green, double Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.RGBGamma(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Double, Green As Double, Blue As Double)

[ Boolean = ]imagekitcontrolname.Effect.RGBGammaVariant(ByRef x As Object, ByRef y As Object, Red As Double, Green As Double, Blue As Double)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.RGBGamma(ref int x, ref int y, int Points, double Red, double Green, double Blue)

[ bool = ]imagekitcontrolname.Effect.RGBGammaVariant(ref object x, ref object y, double Red, double Green, double Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） RGBGamma (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RGBGammaVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（RGBGammaのみ）
Red | Redのガンマ係数
Green | Greenのガンマ係数
Blue | Blueのガンマ係数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理後のピクセル値をy、基のピクセル値をxとすると

(1)Bright > 0の場合

(2)Bright < 0の場合

となります。

BrightはRed, Green, Blueのいずれかになります。Red, Green, Blueが0の場合は処理の前後で変化ありません。Red, Green, Blueが＋の場合はレベルが下がり、－の場合はレベルが上がります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RGBGammaVariantメソッドをご使用ください。


RGBLevel, RGBLevelVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

RGBLevel, RGBLevelVariant

【機能】

ラスタイメージのRGB値の加減処理を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.RGBLevel(x As Long, y As Long, Points As Long, Red As Long, Green As Long, Blue As Long)

[ Boolean = ]imagekitcontrolname.Effect.RGBLevelVariant(x As Variant, y As Variant, Red As Long, Green As Long, Blue As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().RGBLevel(long *x, long *y, long Points, long Red, long Green, long Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.RGBLevel(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.RGBLevelVariant(ByRef x As Object, ByRef y As Object, Red As Integer, Green As Integer, Blue As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.RGBLevel(ref int x, ref int y, int Points, int Red, int Green, int Blue)

[ bool = ]imagekitcontrolname.Effect.RGBLevelVariant(ref object x, ref object y, int Red, int Green, int Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） RGBLevel (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RGBLevelVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（RGBLevelのみ）
Red | Redの加減(-255～255)
Green | Greenの加減(-255～255)
Blue | Blueの加減(-255～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Red、Green、Blueのそれぞれの値が大きくなると該当する成分が明るくなり、小さくなると該当する成分が暗くなります。

また、Red、Green、Blueが0の場合は処理の前後で変化ありません。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RGBLevelVariantメソッドをご使用ください。


RGBRev, RGBRevVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

RGBRev, RGBRevVariant

【機能】

ラスタイメージのRGB値の反転処理を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.RGBRev(x As Long, y As Long, Points As Long, Red As Boolean, Green As Boolean, Blue As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.RGBRevVariant(x As Variant, y As Variant, Red As Boolean, Green As Boolean, Blue As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().RGBRev(long *x, long *y, long Points, BOOL Red, BOOL Green, BOOL Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.RGBRev(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.RGBRevVariant(ByRef x As Object, ByRef y As Object, Red As Boolean, Green As Boolean, Blue As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.RGBRev(ref int x, ref int y, int Points, bool Red, bool Green, bool Blue)

[ bool = ]imagekitcontrolname.Effect.RGBRevVariant(ref object x, ref object y, bool Red, bool Green, bool Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） RGBRev (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RGBRevVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（RGBRevのみ）
Red | Redの反転（False(0): 反転なし, True(0以外): 反転あり）
Green | Greenの反転（False(0): 反転なし, True(0以外): 反転あり)
Blue | Blueの反転（False(0): 反転なし, True(0以外): 反転あり)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Red、Green、BlueをTrueにするとそれぞれのRGB値を反転します。

例えば、Redが255の場合は0となります。（Red = 255 - Red）

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RGBRevVariantメソッドをご使用ください。


RGBSpline, RGBSplineVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

RGBSpline, RGBSplineVariant

【機能】

ラスタイメージのRGB値のスプライン補正を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.RGBSpline(x As Long, y As Long, Points As Long, spx As Long, spy As Long, spPoints As Long, Red As Boolean, Green As Boolean, Blue As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.RGBSplineVariant(x As Variant, y As Variant, spx As Variant, spy As Variant, Red As Boolean, Green As Boolean, Blue As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().RGBSpline(long *x, long *y, long Points, long *spx, long *spy, long spPoints, BOOL Red, BOOL Green, BOOL Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.RGBSpline(ByRef x As Integer, ByRef y As Integer, Points As Integer, ByRef spx As Integer, ByRef spy As Integer, spPoints As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.RGBSplineVariant(ByRef x As Object, ByRef y As Object, ByRef spx As Object, ByRef spy As Object, Red As Boolean, Green As Boolean, Blue As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.RGBSpline(ref int x, ref int y, int Points, ref int spx, ref int spy, int spPoints, bool Red, bool Green, bool Blue)

[ bool = ]imagekitcontrolname.Effect.RGBSplineVariant(ref object x, ref object y, ref object spx, ref object spy, bool Red, bool Green, bool Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） RGBSpline (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RGBSplineVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（RGBSplineのみ）
spx, spy | スプラインの通過x, y座標を指定する配列（座標は0～255の間） （値の設定方法は、x, yと同じ）
spPoints | spx, spyの配列の数（3～10が有効、RGBSplineのみ）
Red | 赤の成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Green | 緑の成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Blue | 青の成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

入力されたイメージデータのRGB値に対してスプライン曲線により変化させることができます。

「使用例」

spx, spyの値 点Ａ(0, 0) 点Ｂ(64, 30) 点Ｃ(128, 128) 点Ｄ(192, 225) 点Ｅ(255, 255)

spPointsの値 5

・作成される曲線はspx, spyを通過するスプライン曲線を描きます。（最大10ポイントまで）

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RGBSplineVariantメソッドをご使用ください。


Ripple, RippleVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Ripple, RippleVariant

【機能】

ラスタイメージに波紋効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Ripple(x As Long, y As Long, Points As Long, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.RippleVariant(x As Variant, y As Variant, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Ripple(long *x, long *y, long Points, double Amp, double Wavelen, double Phase, BOOL BackColor, BOOL Reflect, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Ripple(ByRef x As Integer, ByRef y As Integer, Points As Integer, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Short, Green As Short, Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.RippleVariant(ByRef x As Object, ByRef y As Object, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Ripple(ref int x, ref int y, int Points, double Amp, double Wavelen, double Phase, bool BackColor, bool Reflect, short Red, short Green, short Blue)

[ bool = ]imagekitcontrolname.Effect.RippleVariant(ref object x, ref object y, double Amp, double Wavelen, double Phase, bool BackColor, bool Reflect, short Red, short Green, short Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Ripple (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える RippleVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Rippleのみ）
Amp | 波の振幅の大きさ
Wavelen | 波長の長さ
Phase | 波の位相
BackColor | 空白部分の設定 [False(0):背景色で塗る, True(0以外):隣接するピクセルで塗る]
Reflect | 波の反射設定 [False(0):しない, True(0以外):する]
Red | 背景色 赤(0～255)
Green | 背景色 緑(0～255)
Blue | 背景色 青(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

Red, Green, BlueはBackColorがFalse(0)の場合に有効です。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、RippleVariantメソッドをご使用ください。


RotateBack（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

RotateBack

【機能】

開発者作成UIで取り込む時のADFを使用した両面スキャン時の裏面回転を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.RotateBack [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetRotateBack(short Val)

(3)VB.NET imagekitcontrolname.Scan.RotateBack [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.RotateBack [ = short ]

【設定値】

値 | 説明
0 | 裏面を回転しない（デフォルト）
1 | 裏面を180度回転する

【解説】

キヤノン製DRスキャナ用ドライバおよびエプソン製スキャナ用ドライバ『EPSON Scan』ご利用時に有効ですが、『EPSON Scan』のVer.1.xにおいてはA4サイズを超える原稿では無効です。

プロパティ値が1の場合、キヤノン製DRスキャナ用ドライバではUIを表示した時の「裏面を+180度回転する」のオプションを有効にした場合と同等です。エプソン製スキャナ用ドライバでは『EPSON Scan』の環境設定において「裏面の向きを表面に合わせる」オプションを有効にした場合と同等です。

UiModeプロパティが2(ikScanNONUI)、ScanModeプロパティが2(ikScanADF2)の場合に有効です。

ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースが機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

不可


RotateString（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

RotateString

【機能】

Textプロパティで設定された文字列を文字単位で回転するか文字列単位で回転するかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.RotateString [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetRotateString(BOOL Val)

(3)VB.NET imagekitcontrolname.PrintDraw.RotateString [ = Boolean ]

(4)C#.NET imagekitcontrolname.PrintDraw.RotateString [ = bool ]

【設定値】

値 | 説明
True | 文字列単位
False | 文字単位

【解説】

GetTextExtent, TextOutメソッドで使用します。Falseの場合はCharAngleプロパティは0, 90, 180, 270のみ有効となります。

【値の設定】

実行時

【値の参照】

不可


Rotate（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Rotate

【機能】

イメージ編集ツールバー（ラスタ）の場合：

選択範囲のイメージを回転させます。

イメージ編集ツールバー（ベクトル）の場合：

選択した要素を回転させます。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Rotate

(2)Visual C++ imagekitcontrolname.GetEdit().Rotate()

(3)VB.NET imagekitcontrolname.Edit.Rotate()

(4)C#.NET imagekitcontrolname.Edit.Rotate()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ、べクトル）のポップアップメニューの"回転"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


Rotation（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Rotation

【機能】

ラスタイメージを回転させます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Rotation(Angle As Long, TurnX As Boolean, TurnY As Boolean, Mode As Boolean, Red As Integer, Green As Integer, Blue As Integer, Clip As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Rotation(long Angle, BOOL TurnX, BOOL TurnY, BOOL Mode, short Red, short Green, short Blue, BOOL Clip)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Rotation(Angle As Integer, TurnX As Boolean, TurnY As Boolean, Mode As Boolean, Red As Short, Green As Short, Blue As Short, Clip As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Rotation(int Angle, bool TurnX, bool TurnY, bool Mode, short Red, short Green, short Blue, bool Clip)

【引数】

名称 | 内容
Angle | 回転角度 (-35999～35999 1/100度単位)
TurnX | X方向反転の有無 (False(0):反転なし True(0以外):反転あり)
TurnY | Y方向反転の有無 (False(0):反転なし True(0以外):反転あり)
Mode | 補間の有無(False(0):なし、True(0以外):あり) Trueの場合は線形補間を行う 8ビットグレースケール, 16, 24, 32ビットイメージが補間の対象となる
Red | イメージの背景色の赤 (0～255)
Green | イメージの背景色の緑 (0～255)
Blue | イメージの背景色の青 (0～255)
Clip | クリッピングの有無(False(0):なし、True(0以外):あり)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Angleの値が＋の場合は反時計周りに回転し、－の場合は時計回りに回転します。

ClipがTrue(0以外)の時は、基のイメージのサイズより大きくなった場合に、はみでた領域をカットします。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。MaskImageHandleプロパティに有効な値を設定した場合は、その結果として処理後のマスクハンドルがMaskImageHandleプロパティに設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


Rotation（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Rotation

【機能】

開発者作成UIで取り込む時の画像の回転角度を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Rotation [ = Long ]

(2)Visual C++ imagekitcontrolname.GetScan().SetRotation(long Val)

(3)VB.NET imagekitcontrolname.Scan.Rotation [ = Integer ]

(4)C#.NET imagekitcontrolname.Scan.Rotation [ = int ]

【設定値】

-360～360（単位は度）。

デフォルトは0です。

【解説】

0度を基準に負の値の場合は反時計回り、正の値の場合は時計回りに回転します。UiModeプロパティが2(ikScanNONUI)の場合に有効です。Orientationプロパティと機能が似ていますが、Orientationプロパティへの設定可能な値が0(ikScanRotate0)のみの場合はRotaionプロパティを使用してください。OrientationとRotaionの機能を両方ともサポートするデータソースの場合、双方の値によって回転角度が決まったり、Rotaionプロパティの値が有効になったりします。そのため、Rotaionプロパティに0以外を設定する場合はOrientationプロパティに0(ikScanRotate0)を設定するといいでしょう。

ただし、Orientationプロパティに1000(ikScanTextOrientationRecognition)が設定されている場合やデジタルカメラからの取り込み、およびデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしている値はGetCapEnum(Variant)メソッドもしくはGetCapRange(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


RoundRect（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

RoundRect

【機能】

描画先オブジェクトに角が丸の矩形を描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.RoundRect(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x As Long, y As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().RoundRect(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x, long y, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.RoundRect(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x As Integer, y As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.RoundRect(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x, int y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
left, top | 矩形の左上のx, y座標
right, bottom | 矩形の右下のx, y座標
x, y | 丸い角を描画するための楕円の幅と高さ
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

left, top, right, bottomで指定した座標を基に矩形を描画し、その角が指定の楕円のパラメータによって丸められます。アウトラインはPenStyleプロパティの値で描画され、内部はBrushStyleプロパティの値で塗りつぶされます。（描画対象はスクリーン、プリンタ、メモリハンドル）

描画するにはPenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColorプロパティに値を設定する必要があります。BackColorプロパティはTransparentプロパティがFalseでペンが実線以外、あるいはブラシがハッチパターンの場合に有効です。

left, top, right, bottom, x, yをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

left, top, right, bottom, x, yを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


SaveDevModeHandle（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

SaveDevModeHandle

【機能】

DEVMODE構造体のハンドルとDEVNAMES構造体のハンドルをファイルに保存します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.SaveDevModeHandle

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().SaveDevModeHandle()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.SaveDevModeHandle()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.SaveDevModeHandle()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

GetDevModeHandleメソッドで取得したDevModeプロパティとDevNamesプロパティをPrintFileNameプロパティに設定されたファイルに保存します。保存されるファイル形式はSavePrinterInfoメソッドで保存されるファイル形式と同じです。

そのため、保存したファイルはGetDevModeHandle, PrintCreateDC, SavePrinterInfoメソッドで使用可能です。

DEVMODE構造体とDEVNAMES構造体についてはWindowsAPI関連の書籍などをご覧ください。

PrintFileNameプロパティにファイル名のみを設定すると、プリンタ設定ファイルはカレントフォルダに保存されます。

【ImageKit7/8/9 ActiveXとの違い】

当メソッドが成功するとDevModeプロパティに加えDevNamesプロパティが示す情報をファイルに保存します。


SaveFileDialog（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

SaveFileDialog

【機能】

プレビュー付きのファイルセーブダイアログを表示します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.SaveFileDialog

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().SaveFileDialog()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.SaveFileDialog()

(4)C#.NET [ bool = ]imagekitcontrolname.File.SaveFileDialog()

【引数】

ありません。

【戻り値】

保存を選択した場合はTrue(0以外)、キャンセルの場合はFalse(0)を返します。

【解説】

このメソッドを実行するには、予めFilePathプロパティとFileExtプロパティに適切な値が設定されている必要があります。

ただし、FileNameプロパティにフルパスが設定されている場合はFilePathプロパティは無効です。

メソッド実行前にExtendedDialogプロパティにTrueを設定すると、ダイアログ初期表示時にプレビューとファイル情報表示のチェックボックスが表示されます。そのため、PreviewとInfomationプロパティがFalseでもダイアログ表示時にそれぞれ表示することができます。

保存ボタンを選択するとファイル名がフルパスでFileNameプロパティに設定され、選択されたファイルの種類がSaveFileDlgFileTypeプロパティに設定されます。

例：

Visual Basic

Dim Ret As Boolean

ImageKit1.File.FileExt = "*;BMP;JPG;"

ImageKit1.File.FilePath = "C:\My Pictures"

ImageKit1.File.FileName = ""'この場合、FilePathプロパティは有効

'FileNameプロパティにフルパスでファイル名を設定するとFilePathプロパティは無効

' ImageKit1.File.FileName = "C:\Images\001.jpg"

ImageKit1.File.ExtendedDialog = True

ImageKit1.File.Preview = False

ImageKit1.File.Information = False

Ret = ImageKit1.File.SaveFileDialog()


SaveFileDlgFileType（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

SaveFileDlgFileType

【機能】

SaveFileDialogメソッドで選択されたファイルの種類を表します。

【書式】

(1)Visual Basic imagekitcontrolname.File.SaveFileDlgFileType [ = SaveFileDlgFileTypeConstants ]

(2)Visual C++ [long = ]imagekitcontrolname.GetFile().GetSaveFileDlgFileType()

(3)VB.NET imagekitcontrolname.File.SaveFileDlgFileType [ = ImageKit10(A)Lib.SaveFileDlgFileTypeConstants ]

(4)C#.NET imagekitcontrolname.File.SaveFileDlgFileType [ = ImageKit10(A)Lib.SaveFileDlgFileTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
1 | BMP
2 | JPEG
3 | GIF
4 | TIFF
5 | PNG
6 | FPX
7 | PCX
8 | WMF
9 | EMF
10 | DXF
11 | SVG
12 | JPEG2000(Part1)
13 | JPEG2000(Code Stream)
14 | SXF(p21)
15 | SXF(sfc)

定数(ikSaveDlgBMP = 1, ikSaveDlgJPEG = 2, ikSaveDlgGIF = 3, ikSaveDlgTIFF = 4, ikSaveDlgPNG = 5, ikSaveDlgFPX = 6, ikSaveDlgPCX = 7, ikSaveDlgWMF = 8, ikSaveDlgEMF = 9, ikSaveDlgDXF = 10, ikSaveDlgSVG = 11, ikSaveDlgJPEG2000 = 12, ikSaveDlgJPEG2000Stream = 13, ikSaveDlgSXFP21 = 14, ikSaveDlgSXFSFC = 15)を使用することも可能です。

【値の設定】

不可

【値の参照】

実行時


SaveFileMem（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

SaveFileMem

【機能】

イメージをRawデータへ保存します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.SaveFileMem(Val As SaveFileConstants, ImageHandle As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().SaveFileMem(long Val, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.SaveFileMem(Val As ImageKit10(A)Lib.SaveFileConstants, ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.File.SaveFileMem(ImageKit10(A)Lib.SaveFileConstants Val, int(x86) or long(x64) ImageHandle)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Val | 0(BMP 非圧縮), 1(BMP 圧縮), 2(JPEG 基本DCT), 3(JPEG プログレッシブDCT), 4(GIF), 5(TIFF 非圧縮), 6(TIFF CCITTRLE), 7(TIFF GROUP3-1D), 8(TIFF GROUP3-2D), 9(TIFF GROUP4), 10(TIFF PACKBITS), 11(TIFF LZW), 12(PNG), 13(FPX 非圧縮), 14(FPX 単色圧縮), 15(FPX JPEG圧縮), 16(PCX), 17(WMF), 18(EMF), 19(DXF), 20(SVG), 21(JPEG2000 Part1), 22(JPEG2000 Code Stream), 23(SXF p21), 24(SXF sfc), 25(TIFF JPEG), 26 (Exif - JPEG 基本DCT),27(Exif - JPEG プログレッシブDCT)

定数(ikSaveBMP = 0, ikSaveBMPRLE = 1, ikSaveJPEG = 2, ikSaveJPEGProgress = 3, ikSaveGIF = 4, ikSaveTIFFNoncompressed = 5, ikSaveTIFFCcittrle = 6, ikSaveTIFFGroup3_1D = 7, ikSaveTIFFGroup3_2D = 8, ikSaveTIFFGroup4 = 9, ikSaveTIFFPackbits = 10, ikSaveTIFFLZW = 11, ikSavePNG = 12, ikSaveFPXNoncompressed = 13, ikSaveFPXSingleColor = 14, ikSaveFPXJpeg = 15, ikSavePCX = 16, ikSaveWMF = 17, ikSaveEMF = 18, ikSaveDXF = 19, ikSaveSVG = 20, ikSaveJPEG2000 = 21, ikSaveJPEG2000Stream = 22, ikSaveSXFP21 = 23, ikSaveSXFSFC = 24, ikSaveTIFFJPEG = 25, ikSaveJPEGExif = 26, ikSaveJPEGProgressExif = 27)を使用することも可能です。

ImageHandle保存対象となるイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルをImageHandleRawDataプロパティにRawデータとして保存します。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルをImageHandleRawDataプロパティにRawデータとして保存します。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

その他に必要なプロパティは

FPX | Comment, Val = 15の場合にJpegQuality
GIF | Comment, GifAnime, GifAnimeDelay, Interlace, PalBlue, PalGreen, PalRed, Transparent
JPEG | Comment, JpegQuality, JpegSubsamp
JPEG2000 | Comment, JPEG2000CodeBlockHeight, JPEG2000CodeBlockWidth, JPEG2000NumrResLevel, JPEG2000PrecinctHeight, JPEG2000PrecinctWidth, JPEG2000Reversible, JPEG2000Size, JPEG2000TileHeight, JPEG2000TileWidth
PNG | Comment, Interlace, PalBlue, PalGreen, PalRed, PngAlphaChannel, Transparent PngAlphaChannelプロパティがTrueの場合、ImageHandleプロパティにRGBAの32ビットイメージを与えること
TIFF | Comment, TiffAppend,Val = 5,10,11の場合にTiffColorSpace, Val=25の場合にJpegQuality GROUP4以外の形式で保存する場合にTiffSaveOneStrip
Exif | Exif

となります。

ベクトルイメージをラスタイメージとして保存するには、SaveFileMemメソッドを実行する前にVector.VectorToRasterメソッドを実行する必要があります。また、保存処理中の進捗状況ダイアログを表示させるためにキャプション、メッセージ、ボタンをそれぞれCaption, Message, ButtonNameプロパティに設定することもできます。

ファイルあるいはRawデータに保存する違いはありますが、動作としてはSaveFileメソッドと同じです。

（注意）

FPX, SXF形式の場合、内部で一時的にテンポラリファイルを作成します。

ラスタイメージの場合には保存可能なビット数があります。対象外のビット数を保存しようとするとエラーとなりますので注意してください。下記に保存可能なビット数を示します。

形式 | 保存対象となるイメージのビット数
BMP（非圧縮） | 1, 4, 8, 16（グレーは除く）, 24, 32
BMP（圧縮） | 4, 8
JPEG（基本DCT） | 8ビットグレー, 24
JPEG（プログレッシブDCT） | 8ビットグレー, 24
GIF | 1, 4, 8
TIFF（非圧縮） | 1, 4, 8, 16（グレーは除く）, 24, 32
TIFF（CCITTRLE） | 1
TIFF（GROUP3-1D） | 1
TIFF（GROUP3-2D） | 1
TIFF（GROUP4） | 1
TIFF（PACKBITS） | 1, 4, 8, 16（グレーは除く）, 24, 32
TIFF（LZW） | 1, 4, 8, 16（グレーは除く）, 24, 32
TIFF（JPEG） | 8ビットグレー, 24
PNG | 1, 4, 8, 24
FPX（非圧縮） | 8ビットグレー, 24
FPX（単色圧縮） | 8ビットグレー, 24
FPX（JPEG圧縮） | 8ビットグレー, 24
PCX | 1, 4, 8, 24
JPEG2000（Part1） | 8ビットグレー, 24
JPEG2000（Code Stream） | 8ビットグレー, 24
Exif | （基本DCT) 8ビットグレー, 24
Exif（プログレッシブDCT） | 8ビットグレー, 24

FPXの単色圧縮は全て同じRGBのピクセルで構成されているイメージが対象となります。

TIFFのGROUP3-1DはMH、GROUP3-2DはMR、GROUP4はMMRと同じ形式です。

TIFFの非圧縮、PACKBITS、LZW形式で16ビットイメージを保存すると24ビットイメージに変換されます。

BMPファイルを24ビットカラーのJPEG形式のRawデータに変換するコード例：

Visual Basic

ImageKit1.File.FileName = "Newtone.bmp"

ImageKit1.LayerNo = -1

If ImageKit1.File.LoadFile(ikLoadBMP) = False Then Exit Sub

If ImageKit1.GetImageType() = False Then Exit Sub

If ImageKit1.BitCount <> 24 Then

If ImageKit1.Effect.ConvertColor(24, False, False, 0) = False Then Exit Sub

End If

ImageKit1.File.JpegQuality = 75

ImageKit1.File.JpegSubsamp = ik411

ImageKit1.File.SaveFileMem(ikSaveJPEG, 0)

【ImageKit7 ActiveXとの違い】

・Exif(JPEG)形式で保存できるようになりました。

・引数ImageHandleの型が変更されました。

【ImageKit8 ActiveXとの違い】

引数ImageHandleの型が変更されました。


SaveFile（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

SaveFile

【機能】

イメージをファイルへ保存します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.SaveFile(Val As SaveFileConstants, ImageHandle As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().SaveFile(long Val, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.SaveFile(Val As ImageKit10(A)Lib.SaveFileConstants, ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.File.SaveFile(ImageKit10(A)Lib.SaveFileConstants Val, int(x86) or long(x64) ImageHandle)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Val | 0(BMP 非圧縮), 1(BMP 圧縮), 2(JPEG 基本DCT), 3(JPEG プログレッシブDCT), 4(GIF), 5(TIFF 非圧縮), 6(TIFF CCITTRLE), 7(TIFF GROUP3-1D), 8(TIFF GROUP3-2D), 9(TIFF GROUP4), 10(TIFF PACKBITS), 11(TIFF LZW), 12(PNG), 13(FPX 非圧縮), 14(FPX 単色圧縮), 15(FPX JPEG圧縮), 16(PCX), 17(WMF), 18(EMF), 19(DXF), 20(SVG), 21(JPEG2000 Part1), 22(JPEG2000 Code Stream), 23(SXF p21), 24(SXF sfc), 25(TIFF JPEG), 26 (Exif - JPEG 基本DCT), 27(Exif - JPEG プログレッシブDCT)

定数(ikSaveBMP = 0, ikSaveBMPRLE = 1, ikSaveJPEG = 2, ikSaveJPEGProgress = 3, ikSaveGIF = 4, ikSaveTIFFNoncompressed = 5, ikSaveTIFFCcittrle = 6, ikSaveTIFFGroup3_1D = 7, ikSaveTIFFGroup3_2D = 8, ikSaveTIFFGroup4 = 9, ikSaveTIFFPackbits = 10, ikSaveTIFFLZW = 11, ikSavePNG = 12, ikSaveFPXNoncompressed = 13, ikSaveFPXSingleColor = 14, ikSaveFPXJpeg = 15, ikSavePCX = 16, ikSaveWMF = 17, ikSaveEMF = 18, ikSaveDXF = 19, ikSaveSVG = 20, ikSaveJPEG2000 = 21, ikSaveJPEG2000Stream = 22, ikSaveSXFP21 = 23, ikSaveSXFSFC = 24, ikSaveTIFFJPEG = 25, ikSaveJPEGExif = 26, ikSaveJPEGProgressExif = 27)を使用することも可能です。

ImageHandle 保存対象となるイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルをFileNameプロパティに設定されたファイルに保存します。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルをFileNameプロパティに設定されたファイルに保存します。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

その他に必要なプロパティは

FPX | Comment, Val = 15の場合にJpegQuality
GIF | Comment, GifAnime, GifAnimeDelay, Interlace, PalBlue, PalGreen, PalRed, Transparent
JPEG | Comment, JpegQuality, JpegSubsamp
JPEG2000 | Comment, JPEG2000CodeBlockHeight, JPEG2000CodeBlockWidth, JPEG2000NumrResLevel, JPEG2000PrecinctHeight, JPEG2000PrecinctWidth, JPEG2000Reversible, JPEG2000Size, JPEG2000TileHeight, JPEG2000TileWidth
PNG | Comment, Interlace, PalBlue, PalGreen, PalRed, PngAlphaChannel, Transparent PngAlphaChannelプロパティがTrueの場合、ImageHandleプロパティにRGBAの32ビットイメージを与えること
TIFF | Comment, TiffAppend,Val = 5,10,11の場合にTiffColorSpace, Val=25の場合にJpegQuality GROUP4以外の形式で保存する場合にTiffSaveOneStrip
Exif | Exif

となります。

ベクトルイメージをラスタイメージとして保存するには、SaveFileメソッドを実行する前にVector.VectorToRasterメソッドを実行する必要があります。また、保存処理中の進捗状況ダイアログを表示させるためにキャプション、メッセージ、ボタンをそれぞれCaption, Message, ButtonNameプロパティに設定することもできます。

ラスタイメージの場合には保存可能なビット数があります。対象外のビット数を保存しようとするとエラーとなりますので注意してください。下記に保存可能なビット数を示します。

形式 | 保存対象となるイメージのビット数
BMP（非圧縮） | 1, 4, 8, 16（グレーは除く）, 24, 32
BMP（圧縮） | 4, 8
JPEG（基本DCT） | 8ビットグレー, 24
JPEG（プログレッシブDCT） | 8ビットグレー, 24
GIF | 1, 4, 8
TIFF（非圧縮） | 1, 4, 8, 16（グレーは除く）, 24, 32
TIFF（CCITTRLE） | 1
TIFF（GROUP3-1D） | 1
TIFF（GROUP3-2D） | 1
TIFF（GROUP4） | 1
TIFF（PACKBITS） | 1, 4, 8, 16（グレーは除く）, 24, 32
TIFF（LZW） | 1, 4, 8, 16（グレーは除く）, 24, 32
TIFF（JPEG） | 8ビットグレー, 24
PNG | 1, 4, 8, 24
FPX（非圧縮） | 8ビットグレー, 24
FPX（単色圧縮） | 8ビットグレー, 24
FPX（JPEG圧縮） | 8ビットグレー, 24
PCX | 1, 4, 8, 24
JPEG2000（Part1） | 8ビットグレー, 24
JPEG2000（Code Stream） | 8ビットグレー, 24
Exif（基本DCT) | 8ビットグレー, 24
Exif（プログレッシブDCT） | 8ビットグレー, 24

FPXの単色圧縮は全て同じRGBのピクセルで構成されているイメージが対象となります。

TIFFのGROUP3-1DはMH、GROUP3-2DはMR、GROUP4はMMRと同じ形式です。

TIFFの非圧縮、PACKBITS、LZW形式で16ビットイメージを保存すると24ビットイメージに変換されます。

BMPファイルを24ビットカラーのJPEGファイルに変換するコード例：

Visual Basic

ImageKit1.File.FileName = "Newtone.bmp"

ImageKit1.LayerNo = -1

If ImageKit1.File.LoadFile(ikLoadBMP) = False Then Exit Sub

If ImageKit1.GetImageType() = False Then Exit Sub

If ImageKit1.BitCount <> 24 Then

If ImageKit1.Effect.ConvertColor(24, False, False, 0) = False Then Exit Sub

End If

ImageKit1.File.JpegQuality = 75

ImageKit1.File.JpegSubsamp = ik411

ImageKit1.File.FileName = "Newtone.jpg"

ImageKit1.File.SaveFile(ikSaveJPEG, 0)

【ImageKit7 ActiveXとの違い】

・FTPサーバーやHTTP(S)サーバーに直接ファイルを保存することができるようになりました。詳しくはFileNameプロパティの説明を参照してください。

・Exif(JPEG)形式で保存できるようになりました。

・引数ImageHandleの型が変更されました。

【ImageKit8 ActiveXとの違い】

引数ImageHandleの型が変更されました。


SavePDFFileName（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

SavePDFFileName

【機能】

保存するPDFのファイル名を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.SavePDFFileName [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetSavePDFFileName()

imagekitcontrolname.GetFile().GetPDF().SetSavePDFFileName(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.SavePDFFileName [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.SavePDFFileName [ = String ]

【設定値】

保存するPDFのファイル名。

【解説】

当プロパティはEndメソッド実行時に参照され、Endメソッドが成功すると当プロパティに設定したファイルが作成されます。

【値の設定】

実行時

【値の参照】

実行時


SavePrinterInfo（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

SavePrinterInfo

【機能】

プリンタ設定ダイアログで設定した情報をファイルに保存します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.SavePrinterInfo

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().SavePrinterInfo()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.SavePrinterInfo()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.SavePrinterInfo()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

プリンタ設定ダイアログを表示して、設定した情報をPrintFileNameプロパティに設定されたファイルに保存します。その際にPrintFileNameプロパティ+".PrnTxt"という名称のファイルに、テキストとしてプリンタ名・出力先名を保存します。内訳は1レコード目がプリンタ名、2レコード目が出力先名となります。レコードのデリミタ（区切り）は{CR}{LF}です。

（プリンタ設定ダイアログを終了する際にOKを選択した場合、上記の2つのファイルを保存し、戻り値0以外を返します。）

保存した設定ファイルは、GetDevModeHandle, PrintCreateDCメソッドで使用します。（テキストとして保存したファイルは使用しません。）

PrintFileNameプロパティにファイル名のみを設定すると、プリンタ設定ファイルはカレントフォルダに保存されます。

SavePrinterInfoメソッドは以前のImageKitで提供していたプリントコントロールのSetPrintメソッドに相当します。


SaveToStream（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

SaveToStream

【機能】

イメージをストリームに保存します。

【書式】

(1)Visual Basic [ Variant = ]imagekitcontrolname.File.SaveToStream()

(2)VB.NET [ Object = ]imagekitcontrolname.File.SaveToStream()

(3)C#.NET [ object = ]imagekitcontrolname.File.SaveToStream()

【引数】

ありません。

【戻り値】

ストリーム。

【解説】

ASPなどで使用します。メソッドを実行するとImageHandleRawDataプロパティに設定されたRawデータをストリームに保存します。

コード例：

Dim ArrayData() As Byte

' File -> Rawdata

ImageKit1.File.FileName = "c:\001.jpg"

ImageKit1.File.FileLoadAsRawData

' Rawdata -> Array

ArrayData = ImageKit1.File.SaveToStream

' Array -> Rawdata

ImageKit1.File.LoadFromStream ArrayData

' Rawdata -> File

ImageKit1.File.FileName = "c:\abc.jpg"

ImageKit1.File.FileSaveAsRawData


ScanCount（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ScanCount

【機能】

取込んだイメージの数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ScanCount [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetScanCount()

(3)VB.NET imagekitcontrolname.Scan.ScanCount [ = Integer ]

(4)C#.NET imagekitcontrolname.Scan.ScanCount [ = int ]

【参照値】

取り込んだイメージの数。

【解説】

Exec(Variant)メソッド実行後に、値がScanCountプロパティに設定されます。

【値の設定】

不可

【値の参照】

実行時


ScanMode（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ScanMode

【機能】

開発者作成UIで取り込む時の取り込みモードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ScanMode [ = ScanModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetScanMode()

imagekitcontrolname.GetScan().SetScanMode(long Val)

(3)VB.NET imagekitcontrolname.Scan.ScanMode [ = ImageKit10(A)Lib.ScanModeConstants ]

(4)C#.NET imagekitcontrolname.Scan.ScanMode [ = ImageKit10(A)Lib.ScanModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 反射原稿 - 原稿台
1 | 反射原稿 - ADF片面（デジタルカメラのオリジナル画像）
2 | 反射原稿 - ADF両面
3 | デジタルカメラのオリジナル画像
4 | デジタルカメラのオリジナル画像（配列使用）
5 | デジタルカメラのサムネイル画像
6 | デジタルカメラのサムネイル画像（配列使用）
7 | 透過原稿 - ポジフィルム、フィルムホルダ使用
8 | 透過原稿 - ポジフィルム、フィルムエリアガイド使用
100 | メーカ提供UIの設定情報ファイルを使用

定数(ikScanDOC = 0, ikScanADF1 = 1, ikScanADF2 = 2, ikScanCAM = 3, ikScanCAMArray = 4, ikScanCAMThumb = 5, ikScanCAMThumbArray = 6, ikPositiveFilm1 = 7, ikPositiveFilm2 = 8, ikInformationFile = 100)を使用することも可能です。

【解説】

デフォルトは0(ikScanDOC)です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

ScanModeプロパティが4(ikScanCAMArray), 6(ikScanCAMThumbArray)の場合は、Exec(Variant)メソッドの引数で与える配列が有効となりますが、それ以外は無効です。ImageKit5との互換性を保つため、ScanModeプロパティを1(ikScanADF1)、XResolutionプロパティを0に設定した場合はデジタルカメラからの取り込みとなります（オリジナル画像）。

7(ikPositiveFilm1), 8(ikPositiveFilm2)の場合はエプソン製スキャナ用ドライバご利用時に有効です。8(ikPositiveFilm2)はフィルムエリアガイドをサポートする機種で使用可能です。

100の場合はInformationFileNameプロパティにメーカ提供UIの設定情報が保存されたファイル名を設定します。

（注意）

両面読み取り機能をサポートしているスキャナでも、ユーザインタフェースを非表示にすると正しく読み取りできない場合があります。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

エプソン製スキャナの透過原稿（ポジフィルム）とメーカ提供UIの設定情報による取り込みが可能となりました。


ScanningSpeed（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

ScanningSpeed

【機能】

開発者作成UIで取り込む時の読み取り速度を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.ScanningSpeed [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetScanningSpeed(short Val)

(3)VB.NET imagekitcontrolname.Scan.ScanningSpeed [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.ScanningSpeed [ = short ]

【設定値】

値 | 説明
エプソン製スキャナ用ドライバ
0 | 品質優先
1 | 速度優先
パナソニック製スキャナ用ドライバ
0 | 低速
1 | 標準
2 | 高速

【解説】

エプソン製スキャナ用ドライバおよびパナソニック製スキャナ用ドライバご利用時に有効です。

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

読み取り速度を速くすると遅い場合に比べて画質が粗くなりますので、用途に応じてご利用ください。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


Scanning（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

Scanning

【機能】

スキャンデバイスからイメージを取り込んでいる最中に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_Scanning(ByVal Percent As Integer)

(2)Visual C++

OnScanning imagekitcontrolname(short Percent)

(3)VB.NET

imagekitcontrolname_Scanning(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ScanningEvent)

(4)C#.NET

imagekitcontrolname_Scanning(object sender, AxImageKit10(A)Lib._IImageKitEvents_ScanningEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Percent | 取り込んでいるイメージの進捗状況（0～100、パーセントで示す）

※VB.NET/C#.NETでは二番目の引数eにPercentが含まれます（先頭の文字が小文字になります）。

【解説】

Scanning イベントはメモリ転送のみが対象で、ネイティブ転送やファイル転送では発生いたしません。また、メモリ転送でも圧縮形式の場合とBeforeScanイベントの引数WidthとHeightが-1の場合はイベントは発生いたしません。

取り込み処理を中止する場合は、イベントの中でScan.CancelプロパティをTrueに設定します。


SceneCaptureType（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

SceneCaptureType

【機能】

撮影時の被写体種別を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.SceneCaptureType [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetSceneCaptureType()

imagekitcontrolname.GetFile().GetExif().SetSceneCaptureType(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.SceneCaptureType [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.SceneCaptureType [ = short ]

【設定値】

値 | 説明
0 | 標準
1 | 風景
2 | 人物
3 | 夜景

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時


ScrollBar（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ScrollBar

【機能】

イメージキットコントロールに対してスクロールバーの表示の有無を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.ScrollBar [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScrollBar()

imagekitcontrolname.SetScrollBar(BOOL Val)

(3)VB.NET imagekitcontrolname.ScrollBar [ = Boolean ]

(4)C#.NET imagekitcontrolname.ScrollBar [ = bool ]

【設定値】

値 | 説明
True | イメージキットコントロールにスクロールバーを表示する
False | イメージキットコントロールにスクロールバーを表示しない

【解説】

デフォルトはFalseです。

ScrollBarプロパティをTrueにすることにより、イメージキットコントロール上に収まりきらないイメージを表示する際にスクロールバーを表示することができます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ScrollBar（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ScrollBar

【機能】

サムネイルコントロールに対してスクロールバーの表示の有無を指定します。

【書式】

(1)Visual Basic thumbcontrolname.ScrollBar [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetScrollBar()

thumbcontrolname.SetScrollBar(BOOL Val)

(3)VB.NET thumbcontrolname.ScrollBar [ = Boolean ]

(4)C#.NET thumbcontrolname.ScrollBar [ = bool ]

【設定値】

値 | 説明
True | サムネイルコントロールにスクロールバーを表示する
False | サムネイルコントロールにスクロールバーを表示しない

【解説】

このScrollBarプロパティをTrueにすることにより、サムネイルコントロール上に収まりきらないイメージを表示する際にスクロールバーを表示することができます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ScrollDispImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

ScrollDispImage

【機能】

スクロールバーを使用してスクロールすると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_ScrollDispImage(ByVal ScrollCode As Integer, ByVal Pos As Integer, ByVal Direction As MouseWheelConstants)

(2)Visual C++

OnScrollDispImage imagekitcontrolname(short ScrollCode, short Pos, long Direction)

(3)VB.NET

imagekitcontrolname_ScrollDispImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ScrollDispImageEvent)

(4)C#.NET

imagekitcontrolname_ScrollDispImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_ScrollDispImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
ScrollCode | スクロールバーを操作した方法 0:上向きまたは左向きのスクロール矢印をクリックした 1:下向きまたは右向きのスクロール矢印をクリックした 2:スクロールボックスの上または左の領域をクリックした 3:スクロールボックスの下または右の領域をクリックした 5:スクロールボックスを操作した 6:スクロールバーの一番上または一番左に移動した 7:スクロールバーの一番下または一番右に移動した
Pos | スクロールボックスの現在の位置
Direction | スクロールする方向（1:垂直方向, 2:水平方向）

定数(ikVertical = 1, ikHorizontal = 2)を使用することも可能です。

※VB.NET/C#.NETでは二番目の引数eにScrollCodeなどが含まれます（先頭の文字が小文字になります）。

【解説】

実寸表示でScrollBarプロパティをTrueにした場合に有効なイベントです。

マウスのドラッグによるスクロール（MouseDragImageプロパティがTrueの場合）ではイベントは発生しません。


ScrollHeight, ScrollWidth（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ScrollHeight, ScrollWidth

【機能】

イメージキットコントロール上のイメージのスクロールの縦・横のピクセル数を取得または設定します。

【書式】

※ScrollHeightにて説明（ScrollWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.ScrollHeight [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScrollHeight()

imagekitcontrolname.SetScrollHeight(long Val)

(3)VB.NET imagekitcontrolname.ScrollHeight [ = Integer ]

(4)C#.NET imagekitcontrolname.ScrollHeight [ = int ]

【設定値】

スクロールするピクセル数（1以上）を設定します。デフォルトは10です。

ScrollHeightとScrollWidthに両方0を設定した場合は、スクロールの機能は無効になります。

【解説】

ScrollHeightプロパティには縦方向にスクロールするピクセル数、ScrollWidthプロパティには横方向にスクロールするピクセル数を設定します。

ScrollImageメソッドを実行するとスクロールを実行することができます。上下スクロールの場合はScrollHeightプロパティ（縦方向）の設定が、左右スクロールの場合はScrollWidthプロパティ（横方向）の設定が、斜めスクロールの場合は、ScrollHeightプロパティ（縦方向）とScrollWidthプロパティ（横方向）の設定がそれぞれ必要になります。

スクロール機能を使うことにより、プログラマは任意のボタンクリックなどのイベントと連動した、自由なイメージスクロールを実現できます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ScrollImage（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

ScrollImage

【機能】

ScrollHeight, ScrollWidthプロパティで設定した条件に応じてイメージをスクロールさせます。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.ScrollImage(Dir As ScrollDirConstants)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.ScrollImage(long Dir)

(3)VB.NET [ Boolean = ]imagekitcontrolname.ScrollImage(Dir As ImageKit10(A)Lib.ScrollDirConstants)

(4)C#.NET [ bool = ]imagekitcontrolname.ScrollImage(ImageKit10(A)Lib.ScrollDirConstants Dir)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Dir | スクロールする方向（0:左上、1:上、2:右上、3:右、4:右下、5：下、6：左下、7：左）

定数(ikUpLeft = 0, ikUp = 1, ikUpRight = 2, ikRight = 3, ikDownRight = 4, ikDown = 5, ikDownLeft = 6, ikLeft = 7)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドで実行させる動作は、予めScrollHeight, ScrollWidthプロパティに適切な値が設定されている必要があります。また、実寸表示以外の場合は無効です。


ScrollStep（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ScrollStep

【機能】

サムネイルのスクロール移動量を設定します。

【書式】

(1)Visual Basic thumbcontrolname.ScrollStep [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetScrollStep()

thumbcontrolname.SetScrollStep(short Val)

(3)VB.NET thumbcontrolname.ScrollStep [ = Short ]

(4)C#.NET thumbcontrolname.ScrollStep [ = short ]

【設定値】

スクロールする移動量（行または列単位）

【解説】

プロパティに1を設定すると先へ1つ進み、-1にすると前に1つ戻ります。

スクロールする方向は、ScrollVHプロパティに依存します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


ScrollVH（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ScrollVH

【機能】

サムネイルのスクロール方向を設定します。

【書式】

(1)Visual Basic thumbcontrolname.ScrollVH [ = ThumbnailScrollConstants ]

(2)Visual C++ [ long = ]thumbcontrolname.GetScrollVH()

thumbcontrolname.SetScrollVH(long Val)

(3)VB.NET thumbcontrolname.ScrollVH [ = ImageKit10Thumb(A)Lib.ThumbnailScrollConstants ]

(4)C#.NET thumbcontrolname.ScrollVH [ = ImageKit10Thumb(A)Lib.ThumbnailScrollConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 垂直方向（縦）
1 | 水平方向（横）

定数(ikThumbVertical = 0, ikThumbHorizontal = 1)を使用することも可能です。

【解説】

0(ikThumbVertical)の場合は、サムネイル画像は左上から右方向に表示されます。

1(ikThumbHorizontal)の場合は、サムネイル画像は左上から下方向に表示されます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Scroll（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

Scroll

【機能】

ScrollStepプロパティで設定した行または列数を、ScrollVHプロパティで設定した方向にサムネイル画像をスクロールさせます。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.Scroll

(2)Visual C++ [ BOOL = ]thumbcontrolname.Scroll()

(3)VB.NET [ Boolean = ]thumbcontrolname.Scroll()

(4)C#.NET [ bool = ]thumbcontrolname.Scroll()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、予めScrollStep、ScrollVHプロパティに適切な値が設定されている必要があります。


SelectAll（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

SelectAll

【機能】

部分的な領域ではなく、イメージ全体を選択範囲とします。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.SelectAll

(2)Visual C++ imagekitcontrolname.GetEdit().SelectAll()

(3)VB.NET imagekitcontrolname.Edit.SelectAll()

(4)C#.NET imagekitcontrolname.Edit.SelectAll()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ）のポップアップメニューの"全選択"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


SelectFile（サムネイルコントロール／カスタムイベント）

サムネイルコントロール／カスタムイベント

SelectFile

【機能】

サムネイルコントロール上のコマ（サムネイル画像を表示する領域）を選択すると発生します。

【書式】

(1)Visual Basic

thumbcontrolname_SelectFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)

(2)Visual C++

OnSelectFile thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage, short Left, short Top, short Right, short Bottom)

(3)VB.NET

thumbcontrolname_SelectFile(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_SelectFileEvent)

(4)C#.NET

thumbcontrolname_SelectFile(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_SelectFileEvent e)

※AxImageKit10ThumbALibはANSI版、AxImageKit10ThumbLibはUnicode版を表します。

【引数】

名称 | 内容
PathName | 選択されたイメージのフォルダ名
FileName | 選択されたイメージのファイル名
ImageNumber | サムネイルの一連番号
MaxImage | イメージの総数
Left | 選択されたサムネイル画像が属するコマの左位置（ピクセル）
Top | 選択されたサムネイル画像が属するコマの上位置（ピクセル）
Right | 選択されたサムネイル画像が属するコマの右位置（ピクセル）
Bottom | 選択されたサムネイル画像が属するコマの下位置（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにPathNameなどが含まれます（先頭の文字が小文字になります）。

【解説】

サムネイルコントロールにサムネイル画像が全く表示されていない場合、イベントは発生いたしません。また、選択されたコマに画像が表示されていない場合、PathNameとFileNameには空文字列が設定されます。

マルチイメージファイルの場合は、FileNameにページ番号が付加されます。（ただし、ページ番号が0の場合は除きます。）

例えば、ABC.TIFファイルのページ番号が2の場合はFileNameに"ABC.TIF 2"が設定されます。

Ctrlキーを押しながらマウスをクリックすると、サムネイル画像の選択および解除（選択された画像をクリックすると解除）ができますが、いずれの場合でもイベントは発生します。該当するサムネイル画像が選択されているかどうかについてはIsSelectedメソッドを使用して判定してください。

Shiftキーを押しながらマウスをクリックすると、先頭から最後までの該当するサムネイル画像の数だけイベントが発生します。

サムネイル画像は、マウスクリックやマウスの移動、およびキーボードやSelectImageメソッドによって選択できます。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub IkThumb1_SelectFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left_ As Integer, ByVal Top As Integer, ByVal Right_ As Integer, ByVal Bottom As Integer)

End Sub

【ImageKit5との違い】

IK6以降では引数にLeft, Top, Right, Bottomが追加されています。


SelectImage, SelectImageVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

SelectImage, SelectImageVariant

【機能】

選択範囲を基にラスタイメージとマスクイメージの部分生成を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.SelectImage(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.SelectImageVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().SelectImage(long *x, long *y, long Points, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.SelectImage(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.SelectImageVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.SelectImage(ref int x, ref int y, int Points, short Red, short Green, short Blue)

[ bool = ]imagekitcontrolname.Effect.SelectImageVariant(ref object x, ref object y, short Red, short Green, short Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） SelectImage (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える SelectImageVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（SelectImageのみ）
Red | 選択外領域の赤の値(0～255)
Green | 選択外領域の緑の値(0～255)
Blue | 選択外領域の青の値(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。

イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

選択した領域を含む最小限な矩形を生成して、LayerNoプロパティが示すプロパティとMaskImageHandleプロパティにそれぞれのイメージハンドルをセットします。

LayerNoプロパティが示すプロパティにセットされるイメージの選択した領域外は、Red, Green, Blueで指定されたRGB値により塗り潰されます。MaskImageHandleプロパティにセットされるマスクイメージは、選択した領域が白で塗り潰されます。（領域外は黒）

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、SelectImageVariantメソッドをご使用ください。

矩形の切り出しでマスクイメージが不要な場合は、CutRectImageメソッドを使用することにより処理速度が向上します。


SelectImage（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

SelectImage

【機能】

指定したサムネイル画像を選択します。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.SelectImage(ImageNumber As Integer)

(2)Visual C++ [ BOOL = ]thumbcontrolname.SelectImage(short ImageNumber)

(3)VB.NET [ Boolean = ]thumbcontrolname.SelectImage(ImageNumber As Short)

(4)C#.NET [ bool = ]thumbcontrolname.SelectImage(short ImageNumber)

【引数】

名称 | 内容
ImageNumber | サムネイルの一連番号（1～）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

動作は、マウスクリックやキーボードと同様です。EnableSelectMultiFilesプロパティがFalseの場合、最後に選択されたサムネイル画像が有効となります。（それ以外は解除されます）

引数のImageNumberをThumbArrayNumプロパティに設定することにより、ThumbArrayFileName, ThumbArrayPage, ThumbArrayPathNameプロパティを参照できます。


SelectMode（イメージキットコントロール／Effectプロパティ）

イメージキットコントロール／Effectプロパティ

SelectMode

【機能】

エフェクト処理を施す範囲を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Effect.SelectMode [ = AreaSelectModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetEffect().GetSelectMode()

imagekitcontrolname.GetEffect().SetSelectMode(long Val)

(3)VB.NET imagekitcontrolname.Effect.SelectMode [ = ImageKit10(A)Lib.AreaSelectModeConstants ]

(4)C#.NET imagekitcontrolname.Effect.SelectMode [ = ImageKit10(A)Lib.AreaSelectModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | マスクハンドル（MaskFileName, MaskImageHandleプロパティに設定した値が有効）
1 | イメージ全体（ImageHandleプロパティに設定した値が有効）
2 | 選択した多角形（メソッドの引数のx, yの配列に設定した値が有効）
3 | 選択した円形（RectLeft, RectTop, RectRight, RectBottomプロパティに設定した値が有効）

定数(ikEffectMask = 0, ikEffectAll = 1, ikEffectPolygon = 2, ikEffectEllipse = 3)を使用することも可能です。

【値の設定】

実行時

【値の参照】

実行時


SelectTextBackColor, SelectTextColor, TextBackColor, TextColor（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

SelectTextBackColor, SelectTextColor, TextBackColor, TextColor

【機能】

サムネイル画像のファイル名および注釈の描画色と背景色を設定します。

【書式】

※SelectTextBackColorにて説明（その他も同様な使い方）

(1)Visual Basic thumbcontrolname.SelectTextBackColor [ = OLE_COLOR ]

(2)Visual C++ [ unsigned long = ]thumbcontrolname.GetSelectTextBackColor()

thumbcontrolname.SetSelectTextBackColor(unsigned long Val)

(3)VB.NET thumbcontrolname.SelectTextBackColor [ = Color ]

(4)C#.NET thumbcontrolname.SelectTextBackColor [ = Color ]

【設定値】

SelectTextBackColorは選択されたコマのテキストの背景色。

SelectTextColorは選択されたコマのテキストの描画色。

TextBackColorはテキストの背景色。

TextColorはテキストの描画色。

【解説】

値を設定する場合は、RGB（Red, Green, Blue）の戻り値などを与えます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


SelectTextTransparent, TextTransparent（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

SelectTextTransparent, TextTransparent

【機能】

サムネイル画像のファイル名および注釈を描画する時の透過を設定します。

【書式】

※SelectTextTransparentにて説明（TextTransparentも同様な使い方）

(1)Visual Basic thumbcontrolname.SelectTextTransparent [ = Boolean ]

(2)Visual C++ [ BOOL = ]thumbcontrolname.GetSelectTextTransparent()

thumbcontrolname.SetSelectTextTransparent(BOOL Val)

(3)VB.NET thumbcontrolname.SelectTextTransparent [ = Boolean ]

(4)C#.NET thumbcontrolname.SelectTextTransparent [ = bool ]

【設定値】

値 | 説明
True | 透過有効
False | 透過無効

【解説】

SelectTextTransparentプロパティはコマを選択した時に有効で、TextTransparentプロパティはコマを選択していない時に有効です。

プロパティをTrueに設定した場合、背景色（SelectTextBackColor, TextBackColorプロパティ）は無視されます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Select（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

Select

【機能】

データソースの選択を実行します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.Select

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().Select()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.Select()

(4)C#.NET [ bool = ]imagekitcontrolname.Scan.Select()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

当メソッドを実行すると、TWAINで用意されているデータソースの選択用ダイアログが表示され、データソースの選択が可能になります。

成功した場合、Manufacturer, ProductFamily, ProductName, ProtocolMajor, ProtocolMinor, SourceMajor, SourceMinor, SourceVersionInfoプロパティに選択されたデータソースの情報が設定されます。

Selectメソッドを実行するには、事前にInitializeメソッドが実行されていなければなりません。

Selectメソッドは以前のImageKitで提供していたスキャンコントロールのScanSelectメソッドに相当します。


SelEditFunc（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

SelEditFunc

【機能】

イメージ編集ツールバー（ラスタ用およびベクトル用）のボタンを選択すると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_SelEditFunc(ByVal SelFunction As SelEditFuncConstants)

(2)Visual C++

OnSelEditFunc imagekitcontrolname(long SelFunction)

(3)VB.NET

imagekitcontrolname_SelEditFunc(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_SelEditFuncEvent)

(4)C#.NET

imagekitcontrolname_SelEditFunc(object sender, AxImageKit10(A)Lib._IImageKitEvents_SelEditFuncEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
SelFunction | 選択されたボタンの種類 0：カーソル（ラスタ用、ベクトル用） 1：ズーム（ラスタ用、ベクトル用） 2：選択（ラスタ用、ベクトル用） 3：自由選択（ラスタ用） 4：ペン（ラスタ用） 5：色選択（ラスタ用） 6：四角形（ラスタ用、ベクトル用） 7：楕円（ラスタ用、ベクトル用） 8：角丸四角（ラスタ用、ベクトル用） 9：直線（ラスタ用、ベクトル用） 10：曲線（ラスタ用） 11：塗りつぶし（ラスタ用） 12：エアブラシ（ラスタ用） 13：テキスト（ラスタ用、ベクトル用） 14：フォント（ラスタ用、ベクトル用） 15：消しゴム（ラスタ用） 16：連続線（ベクトル用） 17：多角形（ベクトル用） 18：スタンプ（ラスタ用） 19：イメージ（ベクトル用） イメージ編集ツールバー ラスタ用、ベクトル用

定数(ikArrow = 0, ikZoom = 1, ikSelect = 2, ikFreeSelect = 3, ikPen = 4, ikSelectColor = 5, ikRectangle = 6, ikEllipse = 7, ikRoundRect = 8, ikLine = 9, ikBezier = 10, ikFillColor = 11, ikAirBrush = 12, ikText = 13, ikFont = 14, ikEraser = 15, ikPolyline = 16, ikPolygon = 17, ikStamp = 18, ikImage = 19)を使用することも可能です。

※VB.NET/C#.NETでは二番目の引数eにSelFunctionが含まれます（先頭の文字が小文字になります）。

【解説】

イメージ編集ツールバーはEditプロパティのShowToolBarメソッドを実行することにより表示されます。


SelEditObj（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

SelEditObj

【機能】

イメージ編集ツールバー（ラスタ用およびベクトル用）のオブジェクトを選択すると発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_SelEditObj(ByVal SelObject As SelEditObjConstants)

(2)Visual C++

OnSelEditObj imagekitcontrolname(long SelObject)

(3)VB.NET

imagekitcontrolname_SelEditObj(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ SelEditObjEvent)

(4)C#.NET

imagekitcontrolname_SelEditObj(object sender, AxImageKit10(A)Lib._IImageKitEvents_SelEditObjEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
SelObject | 選択されたオブジェクトの種類 0：枠付き 1：塗り潰し 2：枠付きの塗り潰し 3：ペン1 4：ペン2 5：ペン3 6：ペン4 7：ペン5 8：前景色 9：背景色 10：テキストの背景色を透過 11：テキストの背景色を設定 12：正方形 13：長方形 14：円 15：楕円 16：エアブラシ1 17：エアブラシ2 18：エアブラシ3 19：エアブラシ4 20：エアブラシ5 21：消しゴム1 22：消しゴム2 23：消しゴム3 24：消しゴム4 25：消しゴム5 26：ぼかし有り 27：ぼかし無し イメージ編集ツールバー ラスタ用

定数(ikFrame = 0, ikFill = 1, ikFillFrame = 2, ikPen1 = 3, ikPen2 = 4, ikPen3 = 5, ikPen4 = 6, ikPen5 = 7, ikForeColor = 8, ikBackColor = 9, ikTransparent = 10, ikOpaque = 11, ikSquare = 12, ikQuadrangle = 13, ikCircle = 14, ikOval = 15, ikAirBrush1 = 16, ikAirBrush2 = 17, ikAirBrush3 = 18, ikAirBrush4 = 19, ikAirBrush5 = 20, ikEraser1 = 21, ikEraser2 = 22, ikEraser3 = 23, ikEraser4 = 24, ikEraser5 = 25, ikBlur = 26, ikSharpness = 27)を使用することも可能です。

※VB.NET/C#.NETでは二番目の引数eにSelObjectが含まれます（先頭の文字が小文字になります）。

【解説】

イメージ編集ツールバーはEditプロパティのShowToolBarメソッドを実行することにより表示されます。

オブジェクトはボタンの下の枠の中に表示されるものです。


SensingMethod（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

SensingMethod

【機能】

カメラまたは入力機器で使用される画像センサのタイプを示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.SensingMethod [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetSensingMethod()

imagekitcontrolname.GetFile().GetExif().SetSensingMethod(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.SensingMethod [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.SensingMethod [ = short ]

【設定値】

値 | 説明
1 | 未定義
2 | 単板カラーセンサ
3 | 2板カラーセンサ
4 | 3板カラーセンサ
5 | 色順次カラーセンサ
7 | 3線リニアセンサ
8 | 色順次リニアセンサ

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


SetDefaultPrinter（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

SetDefaultPrinter

【機能】

通常使うプリンタ（デフォルトプリンタ）を設定します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.SetDefaultPrinter

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().SetDefaultPrinter()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.SetDefaultPrinter()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.SetDefaultPrinter()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Windowsのプリンタフォルダに登録されているプリンタを通常使うプリンタとして設定できます。

PrinerNameプロパティにEnumPrinters(Variant)メソッドで取得したリストに含まれるプリンタ名を設定し、SetDefaultPrinterメソッドを実行します。


SetDevModeInfo（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

SetDevModeInfo

【機能】

DEVMODE構造体のハンドルが指す内容を更新します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PrintDraw.SetDevModeInfo

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPrintDraw().SetDevModeInfo()

(3)VB.NET [ Boolean = ]imagekitcontrolname.PrintDraw.SetDevModeInfo()

(4)C#.NET [ bool = ]imagekitcontrolname.PrintDraw.SetDevModeInfo()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

SetDevModeInfoメソッドを実行するには、GetDevModeHandleメソッドでDevModeプロパティを取得する必要があります。

Collate, ColorMode, Copies, CustomPaperHeight, CustomPaperWidth, Duplex, Orientation, PaperBin, PaperSize, XResolution, YResolution, Zoomプロパティの情報をDevModeプロパティに反映させます。各プロパティに0を設定した場合は、何の変更も行いません。（Collateは除く）

ただし、反映させた結果についてはプリンタドライバに依存するため、その後で印刷を行っても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

コード例：

(1)Visual Basic

Dim Ret As Boolean

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

ImageKit1.PrintDraw.PrintFileName = ""

Ret = ImageKit1.PrintDraw.GetDevModeHandle

If Ret = False Then Exit Sub

'GetDevModeHandle内部で実行されるためコメントに

'Ret = ImageKit1.PrintDraw.GetDevModeInfo

If ImageKit1.PrintDraw.Copies <> 3 Then

ImageKit1.PrintDraw.Copies = 3 '印刷部数を3に

End If

Ret = ImageKit1.PrintDraw.SetDevModeInfo

Ret = ImageKit1.PrintDraw.PrintCreateDC(ikDevMode)

If Ret <> False Then

'印刷処理・・・

Ret = ImageKit1.PrintDraw.PrintDeleteDC

End If

Ret = ImageKit1.PrintDraw.ReleaseDevModeHandle

(2)Visual C++

BOOL Ret;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

ImageKit1.GetPrintDraw().SetPrintFileName("");

Ret = ImageKit1.GetPrintDraw().GetDevModeHandle();

if (Ret == FALSE) return;

//GetDevModeHandle内部で実行されるためコメントに

//Ret = ImageKit1.GetPrintDraw().GetDevModeInfo();

if (ImageKit1.GetPrintDraw().GetCopies() != 3)

ImageKit1.GetPrintDraw().SetCopies(3); //印刷部数を3に

Ret = ImageKit1.GetPrintDraw().SetDevModeInfo();

Ret = ImageKit1.GetPrintDraw().PrintCreateDC(ikDevMode);

if (Ret != false)

{

//印刷処理・・・

Ret = ImageKit1.GetPrintDraw().PrintDeleteDC();

}

Ret = ImageKit1.GetPrintDraw().ReleaseDevModeHandle();

(3)VB.NET

Dim Ret As Boolean

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

ImageKit1.PrintDraw.PrintFileName = ""

Ret = ImageKit1.PrintDraw.GetDevModeHandle()

If Ret = False Then Exit Sub

'GetDevModeHandle内部で実行されるためコメントに

'Ret = ImageKit1.PrintDraw.GetDevModeInfo()

If ImageKit1.PrintDraw.Copies <> 3 Then

ImageKit1.PrintDraw.Copies = 3 '印刷部数を3に

End If

Ret = ImageKit1.PrintDraw.SetDevModeInfo()

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikDevMode)

If Ret <> False Then

'印刷処理・・・

Ret = ImageKit1.PrintDraw.PrintDeleteDC()

End If

Ret = ImageKit1.PrintDraw.ReleaseDevModeHandle()

(4)C#.NET

bool Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

ImageKit1.PrintDraw.PrintFileName = "";

Ret = ImageKit1.PrintDraw.GetDevModeHandle();

if (Ret == false) return;

//GetDevModeHandle内部で実行されるためコメントに

//Ret = ImageKit1.PrintDraw.GetDevModeInfo();

if (ImageKit1.PrintDraw.Copies != 3)

ImageKit1.PrintDraw.Copies = 3; //印刷部数を3に

Ret = ImageKit1.PrintDraw.SetDevModeInfo();

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikDevMode);

if (Ret != false)

{

//印刷処理・・・

Ret = ImageKit1.PrintDraw.PrintDeleteDC();

}

Ret = ImageKit1.PrintDraw.ReleaseDevModeHandle();


SetDibPixel, SetDibPixelVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

SetDibPixel, SetDibPixelVariant

【機能】

指定したピクセルのRGBやパレット番号をDIBに設定します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.SetDibPixel(DibNo As Integer, x As Long, y As Long, PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.SetDibPixelVariant(DibNo As Integer, x As Long, y As Long, PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().SetDibPixel(short DibNo, long x, long y, short PalNo, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.SetDibPixel(DibNo As Short, x As Integer, y As Integer, PalNo As Short, Red As Short, Green As Short, Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.SetDibPixelVariant(DibNo As Short, x As Integer, y As Integer, PalNo As Short, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.SetDibPixel(short DibNo, int x, int y, short PalNo, short Red, short Green, short Blue)

[ bool = ]imagekitcontrolname.Effect.SetDibPixelVariant(short DibNo, int x, int y, short PalNo, short Red, short Green, short Blue)

【引数】

名称 | 内容
DibNo | StartDibAccessメソッドで取得したラスタイメージの管理番号
x, y | 設定するピクセルのX, Y座標
PalNo | 設定するパレット番号
Red | 設定するRGBの赤
Green | 設定するRGBの緑
Blue | 設定するRGBの青

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

DibNoはStartDibAccess(Variant)メソッドで取得した値と同じでなければなりません。

1, 4, 8ビットイメージの場合はPalNoに、16, 24, 32ビットイメージの場合はRed, Green, Blueに有効な値を設定します。

処理の流れとしては

StartDibAccess(Variant)

|

GetDibPixel(Variant), SetDibPixel(Variant)

|

EndDibAccess(Variant)

となります。

コード例についてはStartDibAccess(Variant)メソッドを参照してください。

ASPでは、SetDibPixelVariantメソッドをご使用ください。

※DLLの関数を使用した方が処理速度は速くなります。


SetDpiF（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

SetDpiF

【機能】

イメージの解像度を新たに設定します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.SetDpiF(Xdpi As Single, Ydpi As Single)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.SetDpiF(float Xdpi, float Ydpi)

(3)VB.NET [ Boolean = ]imagekitcontrolname.SetDpiF(Xdpi As Single, Ydpi As Single)

(4)C#.NET [ bool = ]imagekitcontrolname.SetDpiF(float Xdpi, float Ydpi)

【引数】

名称 | 内容
Xdpi | 設定するX（横）方向の1インチあたりのピクセル数
Ydpi | 設定するY（縦）方向の1インチあたりのピクセル数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）のイメージに解像度を設定します。

SetDpiメソッドとの違いは設定する解像度が整数型ではなく浮動小数点型だということです。


SetDpi（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

SetDpi

【機能】

イメージの解像度を新たに設定します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.SetDpi

(2)Visual C++ [ BOOL = ]imagekitcontrolname.SetDpi()

(3)VB.NET [ Boolean = ]imagekitcontrolname.SetDpi()

(4)C#.NET [ bool = ]imagekitcontrolname.SetDpi()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）のイメージに解像度を設定します。

成功するとImageHandleプロパティであればXdpi, Ydpiプロパティの値が、Layer(LayerNo).ImageHandleプロパティであればLayer(LayerNo).Xdpi, Layer(LayerNo).Ydpiプロパティの値がイメージに対して設定されます。


SetGray（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

SetGray

【機能】

ラスタイメージをグレースケールに変換します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.SetGray

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().SetGray()

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.SetGray()

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.SetGray()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

なお、SetGrayメソッドはビット数をそのままに処理を行いますので、8ビットグレースケールに変換する場合はConvertColorメソッドをご使用ください。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


SetPalette, SetPaletteVariant（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

SetPalette, SetPaletteVariant

【機能】

ラスタイメージのパレット情報を設定します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.SetPalette(Red As Integer, Green As Integer, Blue As Integer, ImageHandle As LONG_PTR)

[ Boolean = ]imagekitcontrolname.SetPaletteVariant(Red As Variant, Green As Variant, Blue As Variant, ImageHandle As Variant)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.SetPalette(short *Red, short *Green, short *Blue, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.SetPalette(ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short, ImageHandle As Integer(x86) or Long(x64))

[ Boolean = ]imagekitcontrolname.SetPaletteVariant(ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object, ImageHandle As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.SetPalette(ref short Red, ref short Green, ref short Blue, int(x86) or long(x64) ImageHandle)

[ bool = ]imagekitcontrolname.SetPaletteVariant(ref object Red, ref object Green, ref object Blue, object ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Red | 設定する赤のパレット情報の配列
Green | 設定する緑のパレット情報の配列
Blue | 設定する青のパレット情報の配列 SetPalette (1)Visual Basic 引数にRed(0)のように与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にRed(0)を与える (4)C#.NET 引数にref Red[0]を与える SetPaletteVariant Visual Basic/VB.NET 引数にRedを与える C#.NET 引数にref Redを与える
ImageHandle | ラスタイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルが処理対象になります。

引数のImageHandleに0を与えた場合(SetPalette)、または引数のImageHandleを省略した場合(SetPaletteVariant)

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルが処理対象になります。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

設定できるパレット数は、イメージのパレット数と同じでなければなりません。

パレット情報を設定するRGBのそれぞれの配列の数はPalCountプロパティの値になります。

PalCountプロパティはImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに値が設定された段階で更新されます。また、GetImageTypeメソッドでも取得できます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、SetPaletteVariantメソッドをご使用ください。


SetPixel（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

SetPixel

【機能】

描画先オブジェクトの指定したピクセルに指定したカラーを設定します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.SetPixel(DeviceValue As LONG_PTR, x As Long, y As Long, Color As OLE_COLOR, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().SetPixel(LONG_PTR DeviceValue, long x, long y, unsigned long Color, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.SetPixel(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, Color As UInteger, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.SetPixel(int(x86) or long(x64) DeviceValue, int x, int y, uint Color, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | ピクセルの座標
Color | ピクセルの新しいカラー
DeviceMode | 描画対象（0:スクリーン、2:メモリハンドル）

定数(ikScreen = 0, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

x, yで指定したピクセルにColorで指定したカラーを設定します。

指定のカラーをデバイスが正確に再現できない場合には、近似のカラーが用いられます。

（対象はスクリーン、メモリハンドル）

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)の場合に有効になります。x, yの値はピクセル単位で設定してください。

ColorにはRGB(Red, Green, Blue)として求めた値などを設定してください。

Visual BasicのPictureBoxで使用する場合は、AutoRedrawプロパティをTrueに設定してください。

【ImageKit7/8 ActiveXとの違い】

引数DeviceValue, Colorの型が変更されました。


SetSecretImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

SetSecretImage

【機能】

透かし情報をラスタイメージに埋め込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.SetSecretImage(Handle1 As LONG_PTR, Handle2 As LONG_PTR, Text As String, FName As String, FSize As Integer, Bold As Boolean, Italic As Boolean, Underline As Boolean, StrikeOut As Boolean, Direction As Integer, Angle As Long, Level As Long, Left As Long, Top As Long, Right As Long, Bottom As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().SetSecretImage(LONG_PTR Handle1, LONG_PTR Handle2, LPCTSTR Text, LPCTSTR FName, short FSize, BOOL Bold, BOOL Italic, BOOL Underline, BOOL StrikeOut, short Direction, long Angle, long Level, long Left, long Top, long Right, long Bottom)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.SetSecretImage(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), Text As String, FName As String, FSize As Short, Bold As Boolean, Italic As Boolean, Underline As Boolean, StrikeOut As Boolean, Direction As Short, Angle As Integer, Level As Integer, Left As Integer, Top As Integer, Right As Integer, Bottom As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.SetSecretImage(int(x86) or long(x64) Handle1, int(x86) or long(x64) Handle2, string Text, string FName, short FSize, bool Bold, bool Italic, bool Underline, bool StrikeOut, short Direction, int Angle, int Level, int Left, int Top, int Right, int Bottom)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
Handle1 | 基となるラスタイメージのハンドル(24ビットイメージ)
Handle2 | 埋め込むラスタイメージのハンドル(1ビットイメージ)
Text | 埋め込む文字列（Ansi版はヌルを含めて128バイト以下、Unicode版はヌルを含めて128文字以下）
FName | フォントの名称（Ansi版はヌルを含めて32バイト以下、Unicode版はヌルを含めて32文字以下）
FSize | フォントのサイズ（ポイントで指定）
Bold | False(0)以外のとき、ボールド体のフォント
Italic | False(0)以外のとき、イタリック体のフォント
Underline | False(0)以外のとき、下線付きのフォント
StrikeOut | False(0)以外のとき、打ち消し線付きのフォント
Direction | 文字列の方向（0:左から右 1:右から左 2:上から下 3:下から上）
Angle | 文字の回転角度(0, 90, 180, 270)
Level | 埋め込む輝度のレベル(-20～20)
Left | Handle1のイメージに対して文字列またはHandle2のイメージを埋め込む左上のX座標
Top | Handle1のイメージに対して文字列またはHandle2のイメージを埋め込む左上のY座標
Right | Handle1のイメージに対して文字列を埋め込む右下のX座標
Bottom | Handle1のイメージに対して文字列を埋め込む右下のY座標

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Levelを大きくすると透かし情報を埋め込んだところが明るくなり、小さくすると透かし情報を埋め込んだところが暗くなります。UnderlineとStrikeOutは、False(0)以外でもDirectionやAngleの値により無効となる場合があります。

Left, Top, Right, Bottomはピクセル単位で設定します。

Handle2が0でない場合は、Handle2のイメージが埋め込む透かし情報となります。

Handle2が0の場合は、Textで指定した文字列が透かし情報となり、Left, Top, Right, Bottomで指定した範囲に収まるようにセットします。

128バイト以上の文字情報をセットする、もしくは複数の場所に透かし情報を埋め込みたい場合は、Handle2のイメージをそのように作成して対応してください。

成功した場合、処理後のラスタイメージのメモリハンドルはImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定されます（LayerNoプロパティによって設定されるプロパティが決まります）。

設定されるイメージは、24ビットイメージとなります。

引数として与えたメモリハンドルは解放されずにそのまま残ります。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

【ImageKit7/8 ActiveXとの違い】

引数Handle1, Handle2の型が変更されました。


SetStreamFormat（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

SetStreamFormat

【機能】

フォーマット機能（出力サイズなど）を設定します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.SetStreamFormat(Index As Long)

(2)Visual C++ [ BOOL = ]previewcontrolname.SetStreamFormat(long Index)

(3)VB.NET [ Boolean = ]previewcontrolname.SetStreamFormat(Index As Integer)

(4)C#.NET [ bool = ]previewcontrolname.SetStreamFormat(int Index)

【引数】

名称 | 内容
Index | インデックス（0からGetStreamFormatsメソッドの戻り値-1の範囲内）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

プレビュー画像の出力サイズを変更する場合などに実行します。ShowCapturePinDialogメソッドを実行しても出力サイズの変更は可能です。プレビュー中に出力サイズなどを変更しても設定が反映されませんので、一旦プレビューを停止（Stopメソッドを実行）してから出力サイズなどを変更してください。

引数のIndexに0からGetStreamFormatsメソッドの戻り値-1までの値を渡した場合は、そのインデックスに見合ったフォーマット機能を設定します。

戻り値がTrue(0以外)の場合、BitCount, Compression, VideoHeight, VideoSubType, VideoWidthプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 5, 11のいずれかが設定されます。

SetStreamFormat メソッドを実行するには、事前にOpenとGetStreamFormatsメソッドを実行しておかなければなりません。


SetStreamFormat（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

SetStreamFormat

【機能】

フォーマット機能（出力サイズなど）を設定します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.SetStreamFormat(Index As Long)

(2)Visual C++ [ BOOL = ]recordcontrolname.SetStreamFormat(long Index)

(3)VB.NET [ Boolean = ]recordcontrolname.SetStreamFormat(Index As Integer)

(4)C#.NET [ bool = ]recordcontrolname.SetStreamFormat(int Index)

【引数】

名称 | 内容
Index | インデックス（0からGetStreamFormatsメソッドの戻り値-1の範囲内）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

キャプチャー画像の出力サイズを変更する場合などに実行します。ShowCapturePinDialogメソッドを実行しても出力サイズの変更は可能です。キャプチャー中に出力サイズなどを変更しても設定が反映されませんので、一旦キャプチャーを停止（Stopメソッドを実行）してから出力サイズなどを変更してください。

引数のIndexに0からGetStreamFormatsメソッドの戻り値-1までの値を渡した場合は、そのインデックスに見合ったフォーマット機能を設定します。

戻り値がTrue(0以外)の場合、BitCount,Compression,VideoHeight,VideoSubType,VideoWidthプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2,5,11のいずれかが設定されます。

SetStreamFormat メソッドを実行するには、事前にOpenとGetStreamFormatsメソッドを実行しておかなければなりません。


SetToClipBrd（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

SetToClipBrd

【機能】

ラスタイメージやベクトルイメージをクリップボードへコピーします。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.SetToClipBrd

(2)Visual C++ [ BOOL = ]imagekitcontrolname.SetToClipBrd()

(3)VB.NET [ Boolean = ]imagekitcontrolname.SetToClipBrd()

(4)C#.NET [ bool = ]imagekitcontrolname.SetToClipBrd()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

成功するとLayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）のイメージをクリップボードへコピーします。

対象となるイメージがベクトルの場合、EMF形式でクリップボードにコピーします。


Sharp, SharpVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Sharp, SharpVariant

【機能】

ラスタイメージの輪郭を強調してシャープにします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Sharp(x As Long, y As Long, Points As Long, Level As Integer)

[ Boolean = ]imagekitcontrolname.Effect.SharpVariant(x As Variant, y As Variant, Level As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Sharp(long *x, long *y, long Points, short Level)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Sharp(ByRef x As Integer, ByRef y As Integer, Points As Integer, Level As Short)

[ Boolean = ]imagekitcontrolname.Effect.SharpVariant(ByRef x As Object, ByRef y As Object, Level As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effec.Sharp(ref int x, ref int y, int Points, short Level)

[ bool = ]imagekitcontrolname.Effec.SharpVariant(ref object x, ref object y, short Level)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Sharp (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える SharpVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Sharpのみ）
Level | シャープネスの強さ(0～100 数が大きいほど強い)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Levelを大きくすればするほど、イメージはくっきりしていきます。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、SharpVariantメソッドをご使用ください。


Sharpness（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

Sharpness

【機能】

開発者作成UIで取り込む時のシャープネスのレベルを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.Sharpness [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetSharpness(short Val)

(3)VB.NET imagekitcontrolname.Scan.Sharpness [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.Sharpness [ = short ]

【設定値】

値 | 説明
キヤノン製DRスキャナ用ドライバ（エッジ強調）
0～5 | 0の場合はドライバのデフォルト値3と同じ動作となります。 1の場合は画像の輪郭が柔らかくなり、5の場合は画像の輪郭がくっきりします。
エプソン製スキャナ用ドライバ（アンシャープマスク）
0 | なし
1 | 弱
2 | 中
3 | 強
パナソニック製スキャナ用ドライバ（画質）
0 | なし
1 | スムーズ
2 | 低
3 | 標準
4 | 高
5 | 自動
PFU製スキャナ用ドライバ（輪郭強調）
0 | なし
1 | 弱
2 | 中
3 | 強

【解説】

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバ、パナソニック製スキャナ用ドライバ、PFU製スキャナ用ドライバご利用時に有効です。エプソン製スキャナ用ドライバご利用時に段階設定が可能なのはエプソンスキャナドライバ『EPSON Scan』ご利用時となります。

キヤノン製DRスキャナ用ドライバでは「エッジ強調」、エプソン製スキャナ用ドライバでは「アンシャープマスク」、パナソニック製スキャナ用ドライバでは「画質」、PFU製スキャナ用ドライバでは「輪郭強調」という表現を用いています。

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。なお、エプソン製スキャナ用ドライバのバージョンによっては有効無効の2つしか設定できないものがありますが、ImageKitではその場合0か0以外で判定します。

【値の設定】

実行時

【値の参照】

不可


ShowBackgroundImage（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ShowBackgroundImage

【機能】

イメージキットコントロールの背景に表示するイメージの表示/非表示を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.ShowBackgroundImage [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetShowBackgroundImage()

imagekitcontrolname.SetShowBackgroundImage(BOOL Val)

(3)VB.NET imagekitcontrolname.ShowBackgroundImage [ = Boolean ]

(4)C#.NET imagekitcontrolname.ShowBackgroundImage [ = bool ]

【設定値】

値 | 説明
True | 背景イメージを表示する
False | 背景イメージを表示しない

【解説】

デフォルトはTrueです。

背景イメージとはBackgroundImageFileプロパティが指すイメージです。

【値の設定】

実行時

【値の参照】

実行時


ShowCapturePinDialog（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

ShowCapturePinDialog

【機能】

キャプチャーピンダイアログを表示します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.ShowCapturePinDialog

(2)Visual C++ [ BOOL = ]previewcontrolname.ShowCapturePinDialog()

(3)VB.NET [ Boolean = ]previewcontrolname.ShowCapturePinDialog()

(4)C#.NET [ bool = ]previewcontrolname.ShowCapturePinDialog()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、事前にOpenメソッドを実行してWeb(USB)カメラと接続している必要があります。

戻り値がTrue(0以外)の場合、BitCount, Compression, FrameRate, VideoHeight, VideoSubType, VideoWidthプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 11, 202のいずれかが設定されます。

プレビュー中に出力サイズなどを変更しても設定が反映されませんので、一旦プレビューを停止（Stopメソッドを実行）してから出力サイズなどを変更してください。


ShowCapturePinDialog（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

ShowCapturePinDialog

【機能】

キャプチャーピンダイアログを表示します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.ShowCapturePinDialog

(2)Visual C++ [ BOOL = ]recordcontrolname.ShowCapturePinDialog()

(3)VB.NET [ Boolean = ]recordcontrolname.ShowCapturePinDialog()

(4)C#.NET [ bool = ]recordcontrolname.ShowCapturePinDialog()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、事前にOpenメソッドを実行してWeb(USB)カメラと接続している必要があります。

戻り値がTrue(0以外)の場合、BitCount,BitRate, Compression, FrameRate, VideoHeight, VideoSubType, VideoWidthプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 11, 202のいずれかが設定されます。

キャプチャー中に出力サイズなどを変更しても設定が反映されませんので、一旦キャプチャーを停止（Stopメソッドを実行）してから出力サイズなどを変更してください。


ShowCursor（イメージキットコントロール／Magnifierプロパティ）

イメージキットコントロール／Magnifierプロパティ

ShowCursor

【機能】

マウスカーソルを表示するかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Magnifier.ShowCursor [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetMagnifier().GetShowCursor()

imagekitcontrolname.GetMagnifier().SetShowCursor(BOOL Val)

(3)VB.NET imagekitcontrolname.Magnifier.ShowCursor [ = Boolean ]

(4)C#.NET imagekitcontrolname.Magnifier.ShowCursor [ = bool ]

【設定値】

値 | 説明
True | マウスカーソルを表示する
False | マウスカーソルを表示しない

【解説】

デフォルトはFalseです。

Falseの場合、イメージキットコントロール内にマウスカーソルは表示されません。

【値の設定】

実行時

【値の参照】

実行時


ShowFilterDialog（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

ShowFilterDialog

【機能】

フィルタダイアログを表示します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.ShowFilterDialog

(2)Visual C++ [ BOOL = ]previewcontrolname.ShowFilterDialog()

(3)VB.NET [ Boolean = ]previewcontrolname.ShowFilterDialog()

(4)C#.NET [ bool = ]previewcontrolname.ShowFilterDialog()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、事前にOpenメソッドを実行してWeb(USB)カメラと接続している必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 11, 202のいずれかが設定されます。


ShowFilterDialog（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

ShowFilterDialog

【機能】

フィルタダイアログを表示します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.ShowFilterDialog

(2)Visual C++ [ BOOL = ]recordcontrolname.ShowFilterDialog()

(3)VB.NET [ Boolean = ]recordcontrolname.ShowFilterDialog()

(4)C#.NET [ bool = ]recordcontrolname.ShowFilterDialog()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、事前にOpenメソッドを実行してWeb(USB)カメラと接続している必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 11, 202のいずれかが設定されます。


ShowInDisp, ShowInMagnifier, ShowInPanWindow（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

ShowInDisp, ShowInMagnifier, ShowInPanWindow

【機能】

イメージを表示するかどうかを設定します。

【書式】

※ShowInDispにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.Layer(Index).ShowInDisp [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetShowInDisp()

imagekitcontrolname.GetLayer(Index).SetShowInDisp(BOOL Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).ShowInDisp [ = Boolean ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).ShowInDisp [ = bool ]

※Indexは0～99

【設定値】

ShowInDispはイメージをイメージキットコントロールに表示するかどうかを設定します。

ShowInMagnifierはイメージを虫眼鏡ウィンドウに表示するかどうかを設定します。

ShowInPanWindowはイメージをパンウィンドウに表示するかどうかを設定します。

値 | 説明
True | イメージを表示する
False | イメージを表示しない

【解説】

デフォルトはTrueです。

対象となるイメージはLayer(Index).ImageHandleプロパティが指すイメージのことです。

【値の設定】

実行時

【値の参照】

実行時


ShowInDisp, ShowInMagnifier, ShowInPanWindow（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ShowInDisp, ShowInMagnifier, ShowInPanWindow

【機能】

基本イメージを表示するかどうかを取得または設定します。

【書式】

※ShowInDispにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.ShowInDisp [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetShowInDisp()

imagekitcontrolname.SetShowInDisp(BOOL Val)

(3)VB.NET imagekitcontrolname.ShowInDisp [ = Boolean ]

(4)C#.NET imagekitcontrolname.ShowInDisp [ = bool ]

【設定値】

ShowInDispは基本イメージをイメージキットコントロールに表示するかどうかを設定します。

ShowInMagnifierは基本イメージを虫眼鏡ウィンドウに表示するかどうかを設定します。

ShowInPanWindowは基本イメージをパンウィンドウに表示するかどうかを設定します。

値 | 説明
True | 基本イメージを表示する
False | 基本イメージを表示しない

【解説】

デフォルトはTrueです。

基本イメージとはImageHandleプロパティが指すイメージのことです。

【値の設定】

実行時

【値の参照】

実行時


ShowThumbImage（サムネイルコントロール／カスタムイベント）

サムネイルコントロール／カスタムイベント

ShowThumbImage

【機能】

サムネイル画像を表示した後に発生します。

【書式】

(1)Visual Basic

thumbcontrolname_ShowThumbImage(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)

(2)Visual C++

OnShowThumbImage thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage, short Left, short Top, short Right, short Bottom)

(3)VB.NET

thumbcontrolname_ShowThumbImage(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_ShowThumbImageEvent)

(4)C#.NET

thumbcontrolname_ShowThumbImage(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_ShowThumbImageEvent e)

※AxImageKit10ThumbALibはANSI版、AxImageKit10ThumbLibはUnicode版を表します。

【引数】

名称 | 内容
PathName | 表示するイメージのフォルダ名
FileName | 表示するイメージのファイル名
ImageNumber | サムネイルの一連番号
MaxImage | イメージの総数
Left | 表示するサムネイル画像が属するコマの左位置（ピクセル）
Top | 表示するサムネイル画像が属するコマの上位置（ピクセル）
Right | 表示するサムネイル画像が属するコマの右位置（ピクセル）
Bottom | 表示するサムネイル画像が属するコマの下位置（ピクセル）

※VB.NET/C#.NETでは二番目の引数eにPathNameなどが含まれます（先頭の文字が小文字になります）。

【解説】

マルチイメージファイルの場合は、FileNameにページ番号が付加されます。

（ただし、ページ番号が0の場合は除きます。）

例えば、ABC.TIFファイルのページ番号が2の場合はFileNameに"ABC.TIF 2"が設定されます。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub IkThumb1_ShowThumbImage(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left_ As Integer, ByVal Top As Integer, ByVal Right_ As Integer, ByVal Bottom As Integer)

End Sub


ShowToolBar（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

ShowToolBar

【機能】

ToolBarLeft、ToolBarTopプロパティで設定した位置にイメージ編集ツールバーを表示します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Edit.ShowToolBar(Mode As EditToolBarModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEdit().ShowToolBar(long Mode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Edit.ShowToolBar(Mode As ImageKit10(A)Lib.EditToolBarModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.Edit.ShowToolBar(ImageKit10(A)Lib.EditToolBarModeConstants Mode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
Mode | 表示モード（0：非表示、1：ラスタイメージ用、2：ベクトルイメージ用）

定数(ikHide = 0, ikRaster = 1, ikVector = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

ToolBarLeft、ToolBarTopプロパティに適切な値が設定されている必要があります。

編集対象となるイメージはImageHandleプロパティとLayer(EditImageLayerNo).ImageHandleプロパティです（EditImageLayerNoプロパティの値による）。

編集対象イメージはModifyメソッドを行うことによりメモリハンドルに反映されます。

イメージキットコントロールを配置したフォームをモーダルで表示する場合は、フォームを表示した後でイメージ編集ツールバーを表示するようにしてください。


Show（イメージキットコントロール／Magnifierメソッド）

イメージキットコントロール／Magnifierプロパティ

Show

【機能】

Height、Widthプロパティで設定したサイズで虫眼鏡ウィンドウを表示します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Magnifier.Show(Show As Boolean, x As Long, y As Long, Scale As Double)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetMagnifier().Show(BOOL Show, long x, long y, double Scale)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Magnifier.Show(Show As Boolean, x As Integer, y As Integer, Scale As Double)

(4)C#.NET

[ bool = ]imagekitcontrolname.Magnifier.Show(bool Show, int x, int y, double Scale)

【引数】

名称 | 内容
Show | 虫眼鏡ウィンドウの表示設定 [ True(0以外):虫眼鏡ウィンドウを表示、False(0):虫眼鏡ウィンドウを消去 ]
x, y | 虫眼鏡ウィンドウの中心位置（ピクセル）
Scale | 虫眼鏡ウィンドウに表示するイメージの比率（実寸は1.0）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Height, Widthプロパティに適切な値が設定されている必要があります。

Show=Falseの場合、x, y, Scaleの値は無視されます。

ShowInMagnifierプロパティがTrueに設定されているイメージを表示します（基本イメージ、Layerイメージが対象）。

イメージを表示する順番は、基本イメージ、Layerイメージ（インデックスが小さい方から大きい方へ）となります。

ただし、基本イメージが設定されていない場合、Layerイメージは表示されません。

虫眼鏡ウィンドウを表示するコード例：

Visual Basic

Private Sub ImageKit1_MouseMoveImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

'虫眼鏡

ImageKit1.Magnifier.Width = 100

ImageKit1.Magnifier.Height = 100

ImageKit1.Magnifier.Show True, x, y, 2

End Sub


Show（イメージキットコントロール／PanWindowメソッド）

イメージキットコントロール／PanWindowメソッド

Show

【機能】

Left, Topプロパティで設定した位置に、Sizeプロパティで設定したサイズでパンウィンドウを表示します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.PanWindow.Show(Show As Boolean)

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetPanWindow().Show(BOOL Show)

(3)VB.NET [ Boolean = ]imagekitcontrolname.PanWindow.Show(Show As Boolean)

(4)C#.NET [ bool = ]imagekitcontrolname.PanWindow.Show(bool Show)

【引数】

名称 | 内容
Show | パンウィンドウの表示設定 [ True(0以外):パンウィンドウを表示、False(0):パンウィンドウを消去 ]

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数がTrue(0以外)の場合には、Left, Top, Sizeプロパティに適切な値が設定されている必要があります。実寸表示以外の場合は無効です。

ShowInPanWindowプロパティがTrueに設定されているイメージを表示します（基本イメージ、Layerイメージが対象）。

イメージを表示する順番は、基本イメージ、Layerイメージ（インデックスが小さい方から大きい方へ）となります。

ただし、基本イメージが設定されていない場合、Layerイメージは表示されません。

イメージキットコントロールを配置したフォームをモーダルで表示する場合は、フォームを表示した後でパンウィンドウを表示するようにしてください。

Showメソッドは以前のImageKitで提供していたディスプレイコントロールのShowPanWindowメソッドに相当します。


SimpleDispCtrl（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

SimpleDispCtrl

【機能】

基本イメージに限定して表示を行うかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.SimpleDispCtrl [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetSimpleDispCtrl()

imagekitcontrolname.SetSimpleDispCtrl(BOOL Val)

(3)VB.NET imagekitcontrolname.SimpleDispCtrl [ = Boolean ]

(4)C#.NET imagekitcontrolname.SimpleDispCtrl [ = bool ]

【設定値】

値 | 説明
True | 基本イメージのみを表示する
False | 背景イメージ・基本イメージ・階層イメージ、全てを表示する

【解説】

デフォルトはFalseです。

編集機能を使用しない場合（イメージ編集ツールバーやImageHdcプロパティを使用しない）や背景イメージと階層イメージを使用しない場合、基本イメージに限定した表示を行うことにより描画速度を上げることができます。

Trueの場合、グリッド機能は使用できません（グリッドは無効）。

基本イメージとはImageHandleプロパティが指すイメージのことです。

基本イメージに限定した表示を行うコード例：

Visual Basic

ImageKit1.LayerNo = -1

ImageKit1.DisplayMode = ikActualSize

ImageKit1.File.FileName = "c:\abc.jpg"

ImageKit1.File.LoadFile ikLoad

ImageKit1.Edit.EditEnable = False

ImageKit1.SimpleDispCtrl = True

ImageKit1.DisplayImage　'AutoDisplayがTrueの場合は不要

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Size（イメージキットコントロール／PanWindowプロパティ）

イメージキットコントロール／PanWindowプロパティ

Size

【機能】

パンウィンドウのサイズをピクセル単位で示します。

【書式】

(1)Visual Basic imagekitcontrolname.PanWindow.Size [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetPanWindow().GetSize()

imagekitcontrolname.GetPanWindow().SetSize(short Val)

(3)VB.NET imagekitcontrolname.PanWindow.Size [ = Short ]

(4)C#.NET imagekitcontrolname.PanWindow.Size [ = short ]

【設定値】

パンウィンドウのサイズ（ピクセル単位）。

【解説】

イメージキットコントロールに関連づけられているイメージの縦横のうち、大きい方を基準としてスケーリングします。縦長のイメージであればSizeプロパティで設定した値は縦方向の大きさになり、横方向の大きさはイメージの縦横比から自動的に計算します。

Sizeプロパティは以前のImageKitで提供していたディスプレイコントロールのPanWindowSizeプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


SkipBlankPage（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

SkipBlankPage

【機能】

開発者作成UIで取り込む時の白紙ページの取り扱いを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.SkipBlankPage [ = Long ]

(2)Visual C++ imagekitcontrolname.GetScan().SetSkipBlankPage(long Val)

(3)VB.NET imagekitcontrolname.Scan.SkipBlankPage [ = Integer ]

(4)C#.NET imagekitcontrolname.Scan.SkipBlankPage [ = int ]

【設定値】

値 | 説明
-2 | 白紙ページを除去しない
-1 | 白紙ページを除去する
キヤノン製DRスキャナ用ドライバ
0 | 白紙ページを除去しない
1 | 白紙ページを除去する
エプソン製スキャナ用ドライバ
0 | 白紙ページを除去しない
1 | 白紙ページを除去する（レベル低）
2 | 白紙ページを除去する（レベル中）
3 | 白紙ページを除去する（レベル高）

【解説】

白紙ページを除去します。キヤノン製DRスキャナ用ドライバとパナソニック製スキャナ用ドライバではSkipBlankThresholdプロパティも併せて設定します。

キヤノン製DRスキャナ用ドライバで白紙ページを除去する場合は-1または1を設定してください。また、ScanModeプロパティを必ず1(ikScanADF1)に設定してください。白紙ページ除去が有効の場合はScanModeプロパティが1(ikScanADF1)であっても両面取り込みとなります。

エプソン製スキャナ用ドライバで白紙ページを除去する場合は-1または1以上を設定してください。白紙ページの判別レベルを設定する場合は1以上とし、ガンマ補正(AdjustGamma)がサポートされている場合はAdjustGammaプロパティを1に設定してください。AdjustGammaプロパティが0の場合、白紙ページ除去機能が正常に動作しない可能性があります。また、ガンマ補正(AdjustGamma)がサポートされていない場合は、デフォルトの設定でスキャンを行うと暗めの画像が取得され、白紙ページ除去機能が正常に動作しない可能性があります。その場合はBrightnessプロパティやGammaプロパティの値を調整して明るめの画像にしてください。

UiModeプロパティが2(ikScanNONUI)の場合に有効です。ただし、デジタルカメラからの取り込みやデータソースが機能をサポートしていない場合は無効です。

データソースがサポートしている値はGetCapEnum(Variant)メソッドもしくはGetCapRange(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

不可


SkipBlankThreshold（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

SkipBlankThreshold

【機能】

開発者作成UIで取り込む時の白紙ページに含まれるしきい値の割合や白紙スキップのしやすさを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.SkipBlankThreshold [ = Single ]

(2)Visual C++ imagekitcontrolname.GetScan().SetSkipBlankThreshold(float Val)

(3)VB.NET imagekitcontrolname.Scan.SkipBlankThreshold [ = Single ]

(4)C#.NET imagekitcontrolname.Scan.SkipBlankThreshold [ = float ]

【設定値】

キヤノン製DRスキャナ用ドライバ

0.1から20.0までの値を%単位で設定します。

パナソニック製スキャナ用ドライバ

0.01から5.00までの値を%単位で設定します。

デフォルトは1です。

【解説】

キヤノン製DRスキャナ用ドライバとパナソニック製スキャナ用ドライバご利用時に有効です。

キヤノン製DRスキャナ用ドライバでは白紙スキップのしやすさを表し、値が大きければ白紙ページとして認識される確率が高くなります。パナソニック製スキャナ用ドライバでは白紙ページに含まれるしきい値の割合を表し、値が小ければ白紙ページとして認識される確率が高くなります。

UiModeプロパティが2(ikScanNONUI)、SkipBlankPageプロパティが-1または1の場合に有効です。

【値の設定】

実行時

【値の参照】

不可


Snapshot（プレイコントロール／カスタムイベント）

プレイコントロール／カスタムイベント

Snapshot

【機能】

TakeSnapshotメソッドが成功すると発生します。

【書式】

(1)Visual Basic

playcontrolname_Snapshot(ByVal ImageHandle As ImageKit10WebCamera(A)LibCtl.LONG_PTR, FreeMemory As Boolean)

(2)Visual C++

OnSnapshot playcontrolname(LONG_PTR ImageHandle, BOOL* FreeMemory)

(3)VB.NET

playcontrolname_Snapshot(ByVal sender As System.Object, ByVal e As AxImageKit10WebCamera(A)Lib._IImageKitPlayEvents_SnapshotEvent)

(4)C#.NET

playcontrolname_Snapshot(object sender, AxImageKit10WebCamera(A)Lib._IImageKitPlayEvents_SnapshotEvent e)

※ImageKit10WebCameraALibCtl/AxImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibCtl/AxImageKit10WebCameraLibはUnicode版を表します。

【引数】

名称 | 内容
ImageHandle | 静止画のビットマップを示すメモリハンドル
FreeMemory | ImageHandleをイベント終了後に解放するかどうかを設定。既定値はTrue。 解放する場合はTrue、解放しない場合はFalseを設定します。

※VB.NET/C#.NETでは二番目の引数eにImageHandleやFreeMemoryが含まれます（先頭の文字が小文字になります）。

【解説】

引数のFreeMemoryがTrueの場合は、取得した静止画のビットマップはイベント終了後に解放されますので、ImageHandleを残しておきたい場合は、イメージキットコントロールのCopyImageメソッドを実行するかファイルなどに保存してください。


Snapshot（プレビューコントロール／カスタムイベント）

プレビューコントロール／カスタムイベント

Snapshot

【機能】

TakeSnapshotメソッドが成功すると発生します。

【書式】

(1)Visual Basic

previewcontrolname_Snapshot(ByVal ImageHandle As ImageKit10WebCamera(A)LibCtl.LONG_PTR, FreeMemory As Boolean)

(2)Visual C++

OnSnapshot previewcontrolname(LONG_PTR ImageHandle, BOOL* FreeMemory)

(3)VB.NET

previewcontrolname_Snapshot(ByVal sender As System.Object, ByVal e As AxImageKit10WebCamera(A)Lib._IImageKitPreviewEvents_SnapshotEvent)

(4)C#.NET

previewcontrolname_Snapshot(object sender, AxImageKit10WebCamera(A)Lib._IImageKitPreviewEvents_SnapshotEvent e)

※ImageKit10WebCameraALibCtl/AxImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibCtl/AxImageKit10WebCameraLibはUnicode版を表します。

【引数】

名称 | 内容
ImageHandle | 静止画のビットマップを示すメモリハンドル
FreeMemory | ImageHandleをイベント終了後に解放するかどうかを設定。既定値はTrue。 解放する場合はTrue、解放しない場合はFalseを設定します。

※VB.NET/C#.NETでは二番目の引数eにImageHandleやFreeMemoryが含まれます（先頭の文字が小文字になります）。

【解説】

引数のFreeMemoryがTrueの場合は、取得した静止画のビットマップはイベント終了後に解放されますので、ImageHandleを残しておきたい場合は、イメージキットコントロールのCopyImageメソッドを実行するかファイルなどに保存してください。


SortDate（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

SortDate

【機能】

Sortプロパティに日付が含まれる場合のソートする日付を設定します。

【書式】

(1)Visual Basic thumbcontrolname.SortDate [ = SortDateConstants ]

(2)Visual C++ thumbcontrolname.SetSortDate(long Val)

(3)VB.NET thumbcontrolname.SortDate [ = ImageKit10Thumb(A)Lib.SortDateConstants ]

(4)C#.NET thumbcontrolname.SortDate [ = ImageKit10Thumb(A)Lib.SortDateConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 作成日時
1 | 更新日時
2 | アクセス日時

定数(ikSortDateCreationTime = 0, ikSortDateLastWriteTime = 1, ikSortDateLastAccessTime = 2)を使用することも可能です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


SortImage（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

SortImage

【機能】

サムネイル画像をソートします。

【書式】

(1)Visual Basic [ Boolean = ]thumbcontrolname.SortImage

(2)Visual C++ [ BOOL = ]thumbcontrolname.SortImage()

(3)VB.NET [ Boolean = ]thumbcontrolname.SortImage()

(4)C#.NET [ bool = ]thumbcontrolname.SortImage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドを実行する場合は、予めSort, SortDate, SortOrderプロパティに適切な値が設定されている必要があります。

たとえば、エクスプローラから画像ファイルをサムネイルコントロール上にドラッグ＆ドロップし、その画像をソートしたい場合などに使用します（ファイルからの読み込みは最初のGetFilesメソッドでソートが可能）。

事前にサムネイル画像などを移動させて順番を変更している場合やサムネイルファイル(ThumbnailFileプロパティ)から画像を取得している場合はソートを行うことにより順番が入れ替わる可能性がありますので注意してください。


SortOrder（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

SortOrder

【機能】

FilePathプロパティに設定されたフォルダのファイルやListOfFileNamesプロパティに設定されたファイル名のリストへのソート順を設定します。

【書式】

(1)Visual Basic thumbcontrolname.SortOrder [ = SortOrderConstants ]

(2)Visual C++ [ long = ]thumbcontrolname.GetSortOrder()

thumbcontrolname.SetSortOrder(long Val)

(3)VB.NET thumbcontrolname.SortOrder [ = ImageKit10Thumb(A)Lib.SortOrderConstants ]

(4)C#.NET thumbcontrolname.SortOrder [ = ImageKit10Thumb(A)Lib.SortOrderConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | 昇順
1 | 降順

定数(ikSortOrderInc = 0, ikSortOrderDec = 1)を使用することも可能です。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


Sort（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Sort

【機能】

FilePathプロパティに設定されたフォルダのファイルやListOfFileNamesプロパティに設定されたファイル名のリストへのソート方法を設定します。

【書式】

(1)Visual Basic thumbcontrolname.Sort [ = SortConstants ]

(2)Visual C++ [ long = ]thumbcontrolname.GetSort()

thumbcontrolname.SetSort(long Val)

(3)VB.NET thumbcontrolname.Sort [ = ImageKit10Thumb(A)Lib.SortConstants ]

(4)C#.NET thumbcontrolname.Sort [ = ImageKit10Thumb(A)Lib.SortConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | しない
1 | ファイル名
2 | 日付
3 | ファイル拡張子＋ファイル名
4 | ファイル拡張子＋日付
5 | フォルダ名＋ファイル名
6 | フォルダ名＋日付
7 | フォルダ名＋ファイル拡張子＋ファイル名
8 | フォルダ名＋ファイル拡張子＋日付

定数(ikSortNone = 0, ikSortFileName = 1, ikSortDate = 2, ikSortFileExtName = 3, ikSortFileExtDate = 4, ikSortDirFileName = 5, ikSortDirDate = 6, ikSortDirFileExtName = 7, ikSortDirFileExtDate = 8)を使用することも可能です。

【解説】

日付はSortDateプロパティに設定された日付が使用されます。

【値の設定】

デザイン時、実行時

【値の参照】

実行時

【ImageKit5/6との違い】

Sortプロパティに含まれる日付は更新日時を表していました。SortDateプロパティに1(ikSortDateLastWriteTime)を設定するとIK5/IK6と同じ動作になります。


SpectralSensitivity（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

SpectralSensitivity

【機能】

撮影に用いたカメラの各チャネルのスペクトル感度を表します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.SpectralSensitivity [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetSpectralSensitivity()

imagekitcontrolname.GetFile().GetExif().SetSpectralSensitivity(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.SpectralSensitivity [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.SpectralSensitivity [ = string ]

【設定値】

ASTM Technical committeeで開発された規格と互換性があるASCII文字列

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


SplitRGBAImage（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

SplitRGBAImage

【機能】

RGBAの32ビットイメージからRGBとAのイメージに分割します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.SplitRGBAImage

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().SplitRGBAImage()

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.SplitRGBAImage()

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.SplitRGBAImage()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

RGBAの32ビットイメージのメモリハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（LayerNoプロパティによって処理されるイメージハンドルが決まります）。

成功した場合、RGBの24ビットイメージのメモリハンドルがLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に、A（アルファチャンネル）の8ビットグレースケールイメージのメモリハンドルがMaskImageHandleプロパティに設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。


Square（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

Square

【機能】

イメージ編集ツールバーで使用する矩形の種類を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Square [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetSquare()

imagekitcontrolname.GetEdit().SetSquare(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.Square [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.Square [ = bool ]

【設定値】

値 | 説明
True | 正方形
False | 長方形

【解説】

デフォルトはFalseです。

【値の設定】

実行時

【値の参照】

実行時


StampBmpFile（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

StampBmpFile

【機能】

イメージ編集ツールバーのスタンプで使用するビットマップファイルを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.StampBmpFile [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetEdit().GetStampBmpFile()

imagekitcontrolname.GetEdit().SetStampBmpFile(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Edit.StampBmpFile [ = String ]

(4)C#.NET imagekitcontrolname.Edit.StampBmpFile [ = string ]

【設定値】

スタンプに用いるビットマップファイル名。

【解説】

スタンプの透過色を設定する場合は、ファイル名よりも先に透過色を設定する必要があります。

透過色を白にする例：

ImageKit1.Edit.StampTransBlue = 255

ImageKit1.Edit.StampTransGreen = 255

ImageKit1.Edit.StampTransRed = 255

ImageKit1.Edit.StampBmpFileName = "Stamp.bmp"

【値の設定】

実行時

【値の参照】

実行時


StampTransBlue, StampTransGreen, StampTransRed（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

StampTransBlue, StampTransGreen, StampTransRed

【機能】

イメージ編集ツールバーのスタンプの透過色を設定します。

【書式】

※StampTransBlueにて説明（StampTransGreen、StampTransRedも同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.StampTransBlue [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetStampTransBlue()

imagekitcontrolname.GetEdit().SetStampTransBlue(short Val)

(3)VB.NET imagekitcontrolname.Edit.StampTransBlue [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.StampTransBlue [ = short ]

【設定値】

StampTransBlueはスタンプの透過色の青。

StampTransGreenはスタンプの透過色の緑。

StampTransRedはスタンプの透過色の赤。

0～255。

【解説】

編集イメージが白黒2値（1ビット）の場合は、StampTransBlue, StampTransGreen, StampTransRedプロパティに0を設定してください。

スタンプの透過色を設定する場合は、ファイル名よりも先に透過色を設定する必要があります。

透過色を白にする例：

ImageKit1.Edit.StampTransBlue = 255

ImageKit1.Edit.StampTransGreen = 255

ImageKit1.Edit.StampTransRed = 255

ImageKit1.Edit.StampBmpFileName = "Stamp.bmp"

【値の設定】

実行時

【値の参照】

実行時


StartDibAccess, StartDibAccessVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

StartDibAccess, StartDibAccessVariant

【機能】

DIBへのアクセス処理を開始します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.StartDibAccess(hDib As Long, DibNo As Integer)

[ Boolean = ]imagekitcontrolname.Effect.StartDibAccessVariant(hDib As Long, DibNo As VARIANT)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().StartDibAccess(long hDib, short *DibNo)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.StartDibAccess(hDib As Integer, ByRef DibNo As Short)

[ Boolean = ]imagekitcontrolname.Effect.StartDibAccessVariant(hDib As Integer, ByRef DibNo As Object)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.StartDibAccess(int hDib, ref short DibNo)

[ bool = ]imagekitcontrolname.Effect.StartDibAccessVariant(int hDib, ref object DibNo)

【引数】

名称 | 内容
hDib | ラスタイメージのメモリハンドル（1, 4, 8, 16, 24, 32ビットイメージ）
DibNo | hDIBの管理番号を取得する変数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

DibNoはGetDibPixel(Variant), SetDibPixel(Variant), EndDibAccess(Variant)メソッドで使用するhDibの管理番号となります。

処理の流れとしては

StartDibAccess(Variant)

|

GetDibPixel(Variant), SetDibPixel(Variant)

|

EndDibAccess(Variant)

となります。

ASPでは、StartDibAccessVariantメソッドをご使用ください。

※DLLの関数を使用した方が処理速度は速くなります。

表示イメージ（1, 16, 24, 32ビット）をビット反転するコード例：

Visual Basic

Dim Ret As Boolean

Dim DibNo As Integer

Dim i As Long, j As Long

Dim PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer

ImageKit1.LayerNo = -1

Ret = ImageKit1.GetImageType

If Ret = False Then Exit Sub

Ret = ImageKit1.Effect.StartDibAccess(ImageKit1.ImageHandle, DibNo)

If Ret = False Then Exit Sub

For i = 0 To ImageKit1.ImageHeight - 1

For j = 0 To ImageKit1.ImageWidth - 1

Ret = ImageKit1.Effect.GetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)

If ImageKit1.BitCount = 1 Then

If PalNo <> 0 Then

PalNo = 0

Else

PalNo = 1

End If

Else If ImageKit1.BitCount > 8 Then

Blue = 255 - Blue

Green = 255 - Green

Red = 255 - Red

End If

Ret = ImageKit1.Effect.SetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)

Next j

Next i

Ret = ImageKit1.Effect.EndDibAccess(DibNo)

ImageKit1.Refresh


StartDispImage（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

StartDispImage

【機能】

イメージを表示する前に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_StartDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

(2)Visual C++

OnStartDispImage imagekitcontrolname(long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight)

(3)VB.NET

imagekitcontrolname_StartDispImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_StartDispImageEvent)

(4)C#.NET

imagekitcontrolname_StartDispImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_StartDispImageEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
OriginX | イメージキットコントロール内でのイメージの表示開始座標（X）
OriginY | イメージキットコントロール内でのイメージの表示開始座標（Y）
Left | 表示しようとする実イメージの原点からの位置（左）
Top | 表示しようとする実イメージの原点からの位置（上）
Right | 表示しようとする実イメージの原点からの位置（右）
Bottom | 表示しようとする実イメージの原点からの位置（下）
ScaleWidth | 実イメージと表示イメージとの横方向のスケール（比率）
ScaleHeight | 実イメージと表示イメージとの縦方向のスケール（比率）

座標や位置を表す単位はピクセルとなります。

※VB.NET/C#.NETでは二番目の引数eにOriginXなどが含まれます（先頭の文字が小文字になります）。

【解説】

イメージを表示する直前に特定の処理を実行する場合は、イベント内でコードを記述します。

OriginX、OriginYはBorderVisible, Appearance, Gradプロパティの設定値により異なります。

（注意）

Visual Basicを使用して、イベント内でLeft($)関数やRight($)関数を使用する場合はイベント引数のLeftやRightの名称を変更してください。

例：

Private Sub ImageKit1_StartDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

End Sub


StartFrom（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

StartFrom

【機能】

動画の再生開始位置を設定します。

【書式】

(1)Visual Basic [ Boolean = ]playcontrolname.StartFrom(Time As Double)

(2)Visual C++ [ BOOL = ]playcontrolname.StartFrom(double Time)

(3)VB.NET [ Boolean = ]playcontrolname.StartFrom(Time As Double)

(4)C#.NET [ bool = ]playcontrolname.StartFrom(double Time)

【引数】

名称 | 内容
Time | 時間（秒単位）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のTimeには再生開始位置を渡します。通常は0。負の数は不可です。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 5, 11のいずれかが設定されます。

Openメソッド実行直後はStartFromメソッドを実行せずにStartメソッドを実行しても最初から再生されますが、同じ動画を繰り返し再生する場合はStartメソッドを実行する前にStartFromメソッドで再生開始位置を設定してください。


StartLoadFile（サムネイルコントロール／カスタムイベント）

サムネイルコントロール／カスタムイベント

StartLoadFile

【機能】

サムネイルコントロール上に1イメージをロードする前に発生します。

【書式】

(1)Visual Basic

thumbcontrolname_StartLoadFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer)

(2)Visual C++

OnStartLoadFile thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage)

(3)VB.NET

thumbcontrolname_StartLoadFile(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_StartLoadFileEvent)

(4)C#.NET

thumbcontrolname_StartLoadFile(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_StartLoadFileEvent e)

※AxImageKit10ThumbALibはANSI版、AxImageKit10ThumbLibはUnicode版を表します。

【引数】

名称 | 内容
PathName | ロードするイメージのフォルダ名
FileName | ロードするイメージのファイル名
ImageNumber | サムネイルの一連番号
MaxImage | イメージの総数

※VB.NET/C#.NETでは二番目の引数eにPathNameなどが含まれます（先頭の文字が小文字になります）。

【解説】

実画像をロードする前に発生します。ただし、サムネイルファイル（ThumbnailFileプロパティ）からロードする時は当イベントは発生しません。

処理を中止する場合は、CancelプロパティをTrueに設定します。

マルチイメージファイルの場合は、FileNameにページ番号が付加されます。

（ただし、ページ番号が0の場合は除きます。）

例えば、ABC.TIFファイルのページ番号が2の場合はFileNameに"ABC.TIF 2"が設定されます。


StartNum（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

StartNum

【機能】

表示を開始するイメージの番号を取得もしくは設定します。

【書式】

(1)Visual Basic thumbcontrolname.StartNum [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetStartNum()

thumbcontrolname.SetStartNum(short Val)

(3)VB.NET thumbcontrolname.StartNum [ = Short ]

(4)C#.NET thumbcontrolname.StartNum [ = short ]

【設定値】

表示を開始するイメージの番号（0～）

【解説】

サムネイルコントロールに表示している左上のサムネイル画像の番号です。

イメージの番号は0から始まり、順番はソートなどの条件に依存します。

ColCountプロパティの値やRowCountプロパティの値で割り切れない番号を設定すると、割り切れる番号に再設定します。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


StartPopUpMenu（イメージキットコントロール／カスタムイベント）

イメージキットコントロール／カスタムイベント

StartPopUpMenu

【機能】

ポップアップメニューを選択した直後に発生します。

【書式】

(1)Visual Basic

imagekitcontrolname_StartPopUpMenu(ByVal MenuNum As Integer)

(2)Visual C++

OnStartPopUpMenu imagekitcontrolname(short MenuNum)

(3)VB.NET

imagekitcontrolname_StartPopUpMenu(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_StartPopUpMenuEvent)

(4)C#.NET

imagekitcontrolname_StartPopUpMenu(object sender, AxImageKit10(A)Lib._IImageKitEvents_StartPopUpMenuEvent e)

※AxImageKit10ALibはANSI版、AxImageKit10LibはUnicode版を表します。

【引数】

名称 | 内容
MenuNum | 選択されたメニューの種類 ラスタイメージを編集している場合 0：全選択 1：切り取り 2：コピー 3：貼り付け 4：回転 5：選択範囲取消し 6：取消し ベクトルイメージを編集している場合 0：削除 1：コピー 2：貼り付け 3：回転 4：プロパティ 5：最前面へ移動 6：最背面へ移動 7：取消し

※VB.NET/C#.NETでは二番目の引数eにMenuNumが含まれます（先頭の文字が小文字になります）。

【解説】

ポップアップメニューとは、イメージ編集ツールバーを表示した状態でマウスを右クリックして表示されるメニューリストのことです。


StartX, StartY（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

StartX, StartY

【機能】

イメージの縦・横の開始位置（ピクセル）を設定します。

【書式】

※StartXにて説明（StartYも同様な使い方）

(1)Visual Basic imagekitcontrolname.Layer(Index).StartX [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetLayer(Index).GetStartX()

imagekitcontrolname.GetLayer(Index).SetStartX(long Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).StartX [ = Integer ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).StartX [ = int ]

※Indexは0～99

【設定値】

イメージの縦横の表示開始位置（基本イメージの左上からのピクセル値）。

デフォルトは0。

【解説】

基本イメージが設定されていない場合は無効です。

対象となるイメージはLayer(Index).ImageHandleプロパティが指すイメージのことです。

使用例

ImageKit1.Layer(0).StartX = 300

ImageKit1.Layer(0).StartY = 200

ImageKit1.Refresh

【値の設定】

実行時

【値の参照】

実行時


Start（イメージキットコントロール／PDFメソッド）

イメージキットコントロール／PDFメソッド

Start

【機能】

PDFの作成処理を開始します。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.File.PDF.Start

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().Start()

(3)VB.NET [ Boolean = ]imagekitcontrolname.File.PDF.Start()

(4)C#.NET [ bool = ]imagekitcontrolname.File.PDF.Start()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

当メソッド実行前に必要に応じてOwnerPassword、UserPasswordなどのプロパティに適切な値を設定してください。当メソッドはAddImage、AddPage、Endメソッドと共に使用します。

コード例:

(1)Visual Basic

ImageKit1.File.FileName = "C:\PNG\load.png"

If (ImageKit1.File.FileLoadAsRawData() = False) Then Exit Sub

ImageKit1.File.PDF.OwnerPassword = "abcd"

ImageKit1.File.PDF.Application = "PDF作成ツール"

ImageKit1.File.PDF.Author = "Newtone Corp."

ImageKit1.File.PDF.EnablePrint = True

If (ImageKit1.File.PDF.Start() = False) Then

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)

Exit Sub

End If

ImageKit1.File.PDF.DocumentSize = "A4"

ImageKit1.File.PDF.AddPage()

ImageKit1.File.PDF.AddImage(ImageKit1.File.ImageHandleRawData, 30, 50, 100)

ImageKit1.File.PDF.SavePDFFileName = "C:\PDF\save.pdf"

ImageKit1.File.PDF.End()

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)

(2)Visual C++

ImageKit1.GetFile().GetPDF().SetFileName("C:\\PNG\\load.png");

if (ImageKit1.GetFile().FileLoadAsRawData() == FALSE) return;

ImageKit1.GetFile().GetPDF().SetOwnerPassword("abcd");

ImageKit1.GetFile().GetPDF().SetApplication("PDF作成ツール");

ImageKit1.GetFile().GetPDF().SetAuthor("Newtone Corp.");

ImageKit1.GetFile().GetPDF().SetEnablePrint(TRUE);

if (ImageKit1.GetFile().GetPDF().Start() == FALSE)

{

ImageKit1.FreeMemory(ImageKit1.GetFile().GetImageHandleRawData());

return;

}

ImageKit1.GetFile().GetPDF().SetDocumentSize("A4");

ImageKit1.GetFile().GetPDF().AddPage();

ImageKit1.GetFile().GetPDF().AddImage(ImageKit1.GetFile().GetImageHandleRawData(), 30, 50, 100);

ImageKit1.GetFile().GetPDF().SetSavePDFFileName("C:\\PDF\\save.pdf");

ImageKit1.GetFile().GetPDF().End();

ImageKit1.FreeMemory(GetFile().GetImageHandleRawData());

(3)VB.NET

ImageKit1.File.FileName = "C:\PNG\load.png"

If (ImageKit1.File.FileLoadAsRawData() = False) Then Return

ImageKit1.File.PDF.OwnerPassword = "abcd"

ImageKit1.File.PDF.Application = "PDF作成ツール"

ImageKit1.File.PDF.Author = "Newtone Corp."

ImageKit1.File.PDF.EnablePrint = True

If (ImageKit1.File.PDF.Start() = False) Then

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)

Return

End If

ImageKit1.File.PDF.DocumentSize = "A4"

ImageKit1.File.PDF.AddPage()

ImageKit1.File.PDF.AddImage(ImageKit1.File.ImageHandleRawData, 30, 50, 100)

ImageKit1.File.PDF.SavePDFFileName = "C:\PDF\save.pdf"

ImageKit1.File.PDF.End()

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)
(4)C#.NET

ImageKit1.File.FileName = @"C:\PNG\load.png";

if (ImageKit1.File.FileLoadAsRawData() == false) return;

ImageKit1.File.PDF.OwnerPassword = "abcd";

ImageKit1.File.PDF.Application = "PDF作成ツール";

ImageKit1.File.PDF.Author = "Newtone Corp.";

ImageKit1.File.PDF.EnablePrint = true;

if (ImageKit1.File.PDF.Start() == false)

{

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData);

return;

}

ImageKit1.File.PDF.DocumentSize = "A4";

ImageKit1.File.PDF.AddPage();

ImageKit1.File.PDF.AddImage(ImageKit1.File.ImageHandleRawData, 30, 50, 100);

ImageKit1.File.PDF.SavePDFFileName = @"C:\PDF\save.pdf";

ImageKit1.File.PDF.End();

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData);


Start（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

Start

【機能】

動画を再生します。

【書式】

(1)Visual Basic

[ Boolean = ]playcontrolname.Start(Mode As DisplayModeConstants, Rate As Double)

(2)Visual C++

[ BOOL = ]playcontrolname.Start(long Mode, double Rate)

(3)VB.NET

[ Boolean = ]playcontrolname.Start(Mode As ImageKit10WebCamera(A)Lib.DisplayModeConstants, Rate As Double)

(4)C#.NET

[ bool = ]playcontrolname.Start(ImageKit10WebCamera(A)Lib.DisplayModeConstants Mode, double Rate)

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【引数】

名称 | 内容
Mode | 表示モード 0:スケール（映像とコントロールの縦横比を保持して表示） 1:ストレッチ（映像をコントロールの縦横サイズに合わせて表示） 定数(ikScale = 0, ikStretch = 1)を使用することも可能です。
Rate | 速度

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のModeには映像をどのように表示するかを渡します。

引数のRateには再生速度を渡します。通常は1.0。0または負の数は不可です。また、再生するファイル(たとえばWMV形式など)によりRateが有効にならない場合があります（常に1.0）。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 5, 11のいずれかが設定されます。

再生開始位置を設定する場合は、事前にStartFromメソッドを実行してください。


Start（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

Start

【機能】

プレビューを開始します。

【書式】

(1)Visual Basic

[ Boolean = ]previewcontrolname.Start(Mode As DisplayModeConstants,)

(2)Visual C++

[ BOOL = ]previewcontrolname.Start(long Mode)

(3)VB.NET

[ Boolean = ]previewcontrolname.Start(Mode As ImageKit10WebCamera(A)Lib.DisplayModeConstants)

(4)C#.NET

[ bool = ]previewcontrolname.Start(ImageKit10WebCamera(A)Lib.DisplayModeConstants Mode)

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【引数】

名称 | 内容
Mode | 表示モード 0:スケール（映像とコントロールの縦横比を保持して表示） 1:ストレッチ（映像をコントロールの縦横サイズに合わせて表示） 定数(ikScale = 0, ikStretch = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のModeには映像をどのように表示するかを渡します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2や11が設定されます。


Start（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

Start

【機能】

キャプチャーを開始します。

【書式】

(1)Visual Basic

[ Boolean = ]recordcontrolname.Start(Mode As DisplayModeConstants,)

(2)Visual C++

[ BOOL = ]recordcontrolname.Start(long Mode)

(3)VB.NET

[ Boolean = ]recordcontrolname.Start(Mode As ImageKit10WebCamera(A)Lib.DisplayModeConstants)

(4)C#.NET

[ bool = ]recordcontrolname.Start(ImageKit10WebCamera(A)Lib.DisplayModeConstants Mode)

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【引数】

名称 | 内容
Mode | 表示モード 0:スケール（映像とコントロールの縦横比を保持して表示） 1:ストレッチ（映像をコントロールの縦横サイズに合わせて表示） 定数(ikScale = 0, ikStretch = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のModeには映像をどのように表示するかを渡します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2や11が設定されます。


State（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

State

【機能】

現在の状態を取得します。

【書式】

(1)Visual Basic playcontrolname.State [ = StateConstants ]

(2)Visual C++ [ long = ]playcontrolname.GetState()

(3)VB.NET playcontrolname.CtlState [ = ImageKit10WebCamera(A)Lib.StateConstants ]

(4)C#.NET playcontrolname.CtlState [ = ImageKit10WebCamera(A)Lib.StateConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【参照値】

値 | 説明
0 | 接続を閉じた、もしくは接続されていない
1 | 接続しています
2 | 実行中
4 | 一時停止しました
8 | 停止しました

定数(ikClosed = 0, ikOpen = 1, ikRunning = 2, ikPaused = 4, ikStopped = 8)を使用することも可能です。

【解説】

Close, Open, Pause, Start, Stopメソッド実行後に更新されます。複数の組み合わせの場合、論理和となります。

Visual Basic.NETやVisual C#.NETで使用する場合は、StateをCtlStateと記述してください。

【値の設定】

不可

【値の参照】

実行時


State（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

State

【機能】

現在の状態を取得します。

【書式】

(1)Visual Basic previewcontrolname.State [ = StateConstants ]

(2)Visual C++ [ long = ]previewcontrolname.GetState()

(3)VB.NET previewcontrolname.CtlState [ = ImageKit10WebCamera(A)Lib.StateConstants ]

(4)C#.NET previewcontrolname.CtlState [ = ImageKit10WebCamera(A)Lib.StateConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【参照値】

値 | 説明
0 | 接続を閉じた、もしくは接続されていない
1 | 接続しています
2 | 実行中
4 | 一時停止しました
8 | 停止しました

定数(ikClosed = 0, ikOpen = 1, ikRunning = 2, ikPaused = 4, ikStopped = 8)を使用することも可能です。

【解説】

Close, Open, Pause, Start, Stopメソッド実行後に更新されます。複数の組み合わせの場合、論理和となります。

Visual Basic.NETやVisual C#.NETで使用する場合は、StateをCtlStateと記述してください。

【値の設定】

不可

【値の参照】

実行時


State（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

State

【機能】

現在の状態を取得します。

【書式】

(1)Visual Basic recordcontrolname.State [ = StateConstants ]

(2)Visual C++ [ long = ]recordcontrolname.GetState()

(3)VB.NET recordcontrolname.CtlState [ = ImageKit10WebCamera(A)Lib.StateConstants ]

(4)C#.NET recordcontrolname.CtlState [ = ImageKit10WebCamera(A)Lib.StateConstants ]

※ImageKit10WebCameraALibはANSI版、ImageKit10WebCameraLibはUnicode版を表します。

【参照値】

値 | 説明
0 | 接続を閉じた、もしくは接続されていない
1 | 接続しています
2 | 実行中
4 | 一時停止しました
8 | 停止しました

定数(ikClosed = 0, ikOpen = 1, ikRunning = 2, ikPaused = 4, ikStopped = 8)を使用することも可能です。

【解説】

Close, Open, Pause, Start, Stopメソッド実行後に更新されます。複数の組み合わせの場合、論理和となります。

Visual Basic.NETやVisual C#.NETで使用する場合は、StateをCtlStateと記述してください。

【値の設定】

不可

【値の参照】

実行時


Stop（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

Stop

【機能】

動画を停止します。

【書式】

(1)Visual Basic [ Boolean = ]playcontrolname.Stop

(2)Visual C++ [ BOOL = ]playcontrolname.Stop()

(3)VB.NET [ Boolean = ]playcontrolname.Stop()

(4)C#.NET [ bool = ]playcontrolname.Stop()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで再生した動画を停止します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11が設定されます。


Stop（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

Stop

【機能】

プレビューを停止します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.Stop

(2)Visual C++ [ BOOL = ]previewcontrolname.Stop()

(3)VB.NET [ Boolean = ]previewcontrolname.Stop()

(4)C#.NET [ bool = ]previewcontrolname.Stop()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで開始したプレビューを停止します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11が設定されます。


Stop（レコードコントロール／カスタムメソッド）

レコードコントロール／カスタムメソッド

Stop

【機能】

キャプチャーを停止します。

【書式】

(1)Visual Basic [ Boolean = ]recordcontrolname.Stop

(2)Visual C++ [ BOOL = ]recordcontrolname.Stop()

(3)VB.NET [ Boolean = ]recordcontrolname.Stop()

(4)C#.NET [ bool = ]recordcontrolname.Stop()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで開始したキャプチャーを停止します。

戻り値がTrue(0以外)の場合、Stateプロパティが更新されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには11が設定されます。


StretchBlt（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

StretchBlt

【機能】

コピー元からコピー先のデバイスコンテキストへ、指定された矩形内の各ピクセルの色データをコピーします。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.StretchBlt(hDCDst As LONG_PTR, XDst As Long, YDst As Long, WidthDst As Long, HeightDst As Long, hDCSrc As LONG_PTR, XSrc As Long, YSrc As Long, WidthSrc As Long, HeightSrc As Long, dwRop As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.StretchBlt(LONG_PTR hDCDst, long XDst, long YDst, long WidthDst, long HeightDst, LONG_PTR hDCSrc, long XSrc, long YSrc, long WidthSrc, long HeightSrc, long dwRop)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.StretchBlt(hDCDst As Integer(x86) or Long(x64), XDst As Integer, YDst As Integer, WidthDst As Integer, HeightDst As Integer, hDCSrc As Integer(x86) or Long(x64), XSrc As Integer, YSrc As Integer, WidthSrc As Integer HeightSrc As Integer, dwRop As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.StretchBlt(int(x86) or long(x64) hDCDst, int XDst, int YDst, int WidthDst, int HeightDst, int(x86) or long(x64) hDCSrc, int XSrc, int YSrc, int WidthSrc, int HeightSrc, int dwRop)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
hDCDst | コピー先のデバイスコンテキスト
XDst | コピー先矩形の左上隅のx座標（ピクセル）
YDst | コピー先矩形の左上隅のy座標（ピクセル）
WidthDst | コピー先矩形の幅（ピクセル）
HeightDst | コピー先矩形の高さ（ピクセル）
hDCSrc | コピー元のデバイスコンテキスト
XSrc | コピー元矩形の左上隅のx座標（ピクセル）
YSrc | コピー元矩形の左上隅のy座標（ピクセル）
WidthSrc | コピー元矩形の幅（ピクセル）
HeightSrc | コピー元矩形の高さ（ピクセル）
dwRop | ラスタオペレーションコード

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

コピー元のイメージをメモリ内で拡大または縮小し、その結果をコピー先の矩形へコピーします。拡大または縮小を行った後で、パターンまたはコピー先ピクセルの色データを組み合わせます。

WidthSrcとWidthDestの各パラメータの符号、またはHeightSrcとHeightDestの各パラメータの符号が異なる場合、ミラーイメージを作成します。WidthSrcとWidthDestの符号が異なる場合、x軸を中心にしてミラーイメージを作成します。HeightSrcとHeightDestの符号が異なる場合、y軸を中心にしてミラーイメージを作成します。

値 | 説明
0x00000042 | コピー先の矩形を黒色で塗りつぶします。 (BLACKNESS)
0x00550009 | コピー先の矩形の色を反転します。 (DSTINVERT)
0x00C000CA | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (MERGECOPY)
0x00BB0226 | 論理OR演算子を使って、コピー元の色を反転した色と、コピー先の色を組み合わせます。(MERGEPAINT)
0x00330008 | コピー元の色を反転して、コピー先へコピーします。 (NOTSRCCOPY)
0x001100A6 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせ、さらに反転します。(NOTSRCERASE)
0x00F00021 | 指定したパターンをコピー先へコピーします。 (PATCOPY)
0x005A0049 | 論理XOR演算子を使って、指定したパターンの色と、コピー先の色を組み合わせます。(PATINVERT)
0x00FB0A09 | 論理OR演算子を使って、指定したパターンの色と、コピー元の色を反転した色を組み合わせます。 さらに論理OR演算子を使って、その結果と、コピー先の色を組み合わせます。 (PATPAINT)
0x008800C6 | 論理AND演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCAND)
0x00CC0020 | コピー元の矩形をコピー先の矩形へそのままコピーします。 (SRCCOPY)
0x00440328 | 論理AND演算子を使って、コピー先の色を反転した色と、コピー元の色を組み合わせます。(SRCERASE)
0x00660046 | 論理XOR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCINVERT)
0x00EE0086 | 論理OR演算子を使って、コピー元の色とコピー先の色を組み合わせます。 (SRCPAINT)
0x00FF0062 | コピー先の矩形を白色で塗りつぶします。 (WHITENESS)

通常は0x00CC0020(SRCCOPY)を指定します。

※16進表記のため、Visual Basic(.NET含む)は0xを&Hに置き換えてください。

（）内の説明はWindowsAPIで使用する定数と同じ意味です。

【ImageKit7/8 ActiveXとの違い】

引数のhDCDstとhDCSrcの型が変更されました。


StretchMode（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

StretchMode

【機能】

ビットマップの伸縮モードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.StretchMode [ = StretchModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetStretchMode()

imagekitcontrolname.SetStretchMode(long Val)

(3)VB.NET imagekitcontrolname.StretchMode [ = ImageKit10(A)Lib.StretchModeConstants ]

(4)C#.NET imagekitcontrolname.StretchMode [ = ImageKit10(A)Lib.StretchModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | ImageKit独自の高精細表示を行います（Refine1BitImage, RefineColorImageプロパティ=Trueと同じ）。
1 | 論理AND演算子を使って、残す点の色と取り除く点の色を組み合わせます。 ビットマップがモノクロームのビットマップである場合、白のピクセルが消され、黒のピクセルが残ります。(BLACKONWHITE)
2 | 論理AND演算子を使って、残す点の色と取り除く点の色を組み合わせます。 ビットマップがモノクロームである場合、黒のピクセルが消され、白のピクセルが残ります。(WHITEONBLACK)
3 | ピクセルを削除します。 取り除く点の情報を何らかの形で維持せようとはせず、単純にそれらの点を削除します。(COLORONCOLOR)
4 | コピー元長方形内のピクセルをコピー先長方形内のピクセルブロックに関連付けます。 コピー先ブロックの平均的な色は、コピー元のピクセルの色に近い色になります。(HALFTONE）

（）内の説明はWindowsAPIで使用する定数と同じ意味です。

定数(ikRefineImage = 0, ikBlackOnWhite = 1, ikWhiteOnBlack = 2, ikColorOnColor = 3, ikHalftone = 4)を使用することも可能です。

【解説】

デフォルトは3(ikColorOnColor)です。プロパティの値が1から4の場合、WindowsAPIのSetStretchBltMode関数の設定値と同じ動作となります。

1(ikBlackOnWhite)と2(ikWhiteOnBlack)は低画質ですが高速で、3(ikColorOnColor)は実用的な画質で高速です。4(ikHalftone)は高画質ですが低速です。

通常時は3(ikColorOnColor)を使用して、縮小時などに4(ikHalftone)を使用するとよいでしょう。

0(ikRefineImage)でEdit.EditEnableプロパティがTrue（編集モード）の場合、高精細表示は有効になりません（イメージはそのまま表示されます）。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

IK7と同じ動作にする場合はStretchModeプロパティに0(ikRefineImage)を設定します。


Style（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Style

【機能】

サムネイル画像を表示する背景のデザインを設定します。

【書式】

(1)Visual Basic thumbcontrolname.Style [ = ThumbnailStyleConstants ]

(2)Visual C++ [ long = ]thumbcontrolname.GetStyle()

thumbcontrolname.SetStyle(long Val)

(3)VB.NET thumbcontrolname.Style [ = ImageKit10Thumb(A)Lib.ThumbnailStyleConstants ]

(4)C#.NET thumbcontrolname.Style [ = ImageKit10Thumb(A)Lib.ThumbnailStyleConstants ]

※ImageKit10ThumbALibはANSI版、ImageKit10ThumbLibはUnicode版を表します。

【設定値】

値 | 説明
0 | ボタン
1 | フィルム
2 | カスタム

定数(ikButton = 0, ikFilm = 1, ikCustom = 2)を使用することも可能です。

【解説】

実行時にデザインを変更する場合には、再度Displayメソッドを実行する必要があります。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


SubjectLocationX, SubjectLocationY（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

SubjectLocationX, SubjectLocationY

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※SubjectLocationXにて説明（SubjectLocationYも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.SubjectLocationX [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetSubjectLocationX()

imagekitcontrolname.GetFile().GetExif().SetSubjectLocationX(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.SubjectLocationX [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.SubjectLocationX [ = short ]

【設定値】

SubjectLocationXは、主要被写体のおおよそのX座標値

SubjectLocationYは、主要被写体のおおよそのY座標値

【解説】

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


Subject（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

Subject

【機能】

サブタイトルを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.Subject [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetSubject()

imagekitcontrolname.GetFile().GetPDF().SetSubject(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.Subject [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.Subject [ = String ]

【設定値】

サブタイトル。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティで設定した文字列はPDFの文書のプロパティの概要の「サブタイトル」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


SubSecTime, SubSecTimeDigitized, SubSecTimeOriginal（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

SubSecTime, SubSecTimeDigitized, SubSecTimeOriginal

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※SubSecTimeにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.SubSecTime [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetExif().GetSubSecTime()

imagekitcontrolname.GetFile().GetExif().SetSubSecTime(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.Exif.SubSecTime [ = String ]

(4)C#.NET imagekitcontrolname.File.Exif.SubSecTime [ = string ]

【設定値】

SubSecTimeは、MainDateTimeに関連して時刻を小数点以下の秒単位までを表します。

SubSecTimeDigitizedは、DateTimeDigitizedに関連して時刻を小数点以下の秒単位までを表します。

SubSecTimeOriginalは、DateTimeOriginalに関連して時刻を小数点以下の秒単位までを表します。

サブセックデータが0.130秒の場合の例：

SubSecTime = "130"

【解説】

Exifの日時に関するタグです。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


TakeSnapshot（プレイコントロール／カスタムメソッド）

プレイコントロール／カスタムメソッド

TakeSnapshot

【機能】

静止画を取得します。

【書式】

(1)Visual Basic [ Boolean = ]playcontrolname.TakeSnapshot

(2)Visual C++ [ BOOL = ]playcontrolname.TakeSnapshot()

(3)VB.NET [ Boolean = ]playcontrolname.TakeSnapshot()

(4)C#.NET [ bool = ]playcontrolname.TakeSnapshot()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで再生した動画から静止画を取得します。静止画はSnapshotイベントで取得できます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2, 4, 11のいずれかが設定されます。4の場合、再生した動画から静止画を取得することはできません。


TakeSnapshot（プレビューコントロール／カスタムメソッド）

プレビューコントロール／カスタムメソッド

TakeSnapshot

【機能】

静止画を取得します。

【書式】

(1)Visual Basic [ Boolean = ]previewcontrolname.TakeSnapshot

(2)Visual C++ [ BOOL = ]previewcontrolname.TakeSnapshot()

(3)VB.NET [ Boolean = ]previewcontrolname.TakeSnapshot()

(4)C#.NET [ bool = ]previewcontrolname.TakeSnapshot()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

このメソッドは、Startメソッドで開始したプレビューの静止画を取得します。静止画はSnapshotイベントで取得できます。

戻り値がFalse(0)の場合、ErrorStatusプロパティには2,4,11のいずれかが設定されます。4の場合、プレビューから静止画を取得することはできません。ShowCapturePinDialogメソッドを実行して色空間/圧縮方法を確認してください。


Terminate（イメージキットコントロール／Scanメソッド）

イメージキットコントロール／Scanメソッド

Terminate

【機能】

TWAINの終了処理を行います。

【書式】

(1)Visual Basic [ Boolean = ]imagekitcontrolname.Scan.Terminate

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetScan().Terminate()

(3)VB.NET [ Boolean = ]imagekitcontrolname.Scan.Terminate()

(4)C#.NET [ Boolean = ]imagekitcontrolname.Scan.Terminate()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Initializeメソッドと対で使用してください。

Terminateメソッドは以前のImageKitで提供していたスキャンコントロールのScanTerminateメソッドに相当します。


TextEnhancement（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

TextEnhancement

【機能】

開発者作成UIで取り込む時のテキストエンハンスメントの種類を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.TextEnhancement [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetTextEnhancement(short Val)

(3)VB.NET imagekitcontrolname.Scan.TextEnhancement [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.TextEnhancement [ = short ]

【設定値】

値 | 説明
キヤノン製DRスキャナ用ドライバ
0 | 適用しない
1 | テキストエンハンスメント
2 | アドバンスドテキストエンハンスメント
3 | 高速テキストエンハンスメント
4, 5 | アドバンスドテキストエンハンスメントⅡ（ご利用の機種により値が異なる）
エプソン製スキャナ用ドライバ
0 | 適用しない
1 | 文字くっきり（標準）
2 | 文字くっきり（強）

【解説】

キヤノン製DRスキャナ用ドライバ、エプソン製スキャナ用ドライバご利用時に有効です。エプソン製スキャナ用ドライバご利用時に段階設定が可能なのはエプソンスキャナドライバ『EPSON Scan Ver.5.0以降』ご利用時となります。

キヤノン製DRスキャナ用ドライバではPixelTypeプロパティが0(ikScanPixelBW)でBitDepthReductionプロパティが0(ikBitDepthReductionThreshold)の場合に有効です。

キヤノン製DRスキャナ用ドライバでは「テキストエンハンスメント」、エプソン製スキャナ用ドライバでは「文字くっきり」という表現を用いています。

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

データソースがサポートしている値は、GetCapEnum(Variant)メソッドで取得できます。

なお、エプソン製スキャナ用ドライバのバージョンによっては有効無効の2つしか設定できないものがありますが、ImageKitではその場合0か0以外で判定します。データソースが機能をサポートしていない場合は無効です。

【値の設定】

実行時

【値の参照】

不可


TextOut（イメージキットコントロール／PrintDrawメソッド）

イメージキットコントロール／PrintDrawメソッド

TextOut

【機能】

描画先オブジェクトにテキストを描画します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.PrintDraw.TextOut(DeviceValue As LONG_PTR, x As Long, y As Long, DeviceMode As OutPutDeviceModeConstants)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetPrintDraw().TextOut(LONG_PTR DeviceValue, long x, long y, long DeviceMode)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.PrintDraw.TextOut(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)

(4)C#.NET

[ bool = ]imagekitcontrolname.PrintDraw.TextOut(int(x86) or long(x64) DeviceValue, int x, int y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版、x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
DeviceValue | デバイスコンテキストもしくはラスタイメージのメモリハンドル（DeviceModeによる）
x, y | 描画開始位置の座標
DeviceMode | 描画対象（0:スクリーン、1:プリンタ、2:メモリハンドル）

定数(ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

x, yで指定した座標からテキストを描画します。（対象はスクリーン、プリンタ、メモリハンドル）

描画するにはTextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, CharExtra, Text, RotateStringプロパティに値を設定する必要があります。

CharExtraプロパティに1以上の値が設定されていた場合は文字の間隔を考慮します。

RotateStringプロパティがFalseの場合、CharAngleプロパティは0, 90, 180, 270以外は無効です。文字列の方向に関わらず、x, yから常に右方向に描画されます。

RotateStringプロパティがTrueの場合、Directionプロパティは無効です。x, yを始点として文字列を回転させた方向に描画されます。

Textプロパティに改行コードを含む複数行の文字列を設定しても当メソッドでは正しく出力されないため、単一行に切り出して複数回出力を行うか、DrawTextメソッドをご使用ください。

x, y, CharExtraプロパティをピクセル単位として扱う場合

DeviceModeが0(ikScreen)もしくは2(ikMemoryHandle)

x, y, CharExtraプロパティを0.1mm単位として扱う場合

DeviceModeが1(ikPrinter)

【ImageKit7/8 ActiveXとの違い】

引数DeviceValueの型が変更されました。


Text（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

Text

【機能】

サムネイル画像の注釈を設定します。

【書式】

(1)Visual Basic thumbcontrolname.Text [ = String ]

(2)Visual C++ thumbcontrolname.SetText(LPCTSTR Val)

(3)VB.NET thumbcontrolname.CtlText [ = String ]

(4)C#.NET thumbcontrolname.CtlText [ = string ]

【設定値】

注釈。

【解説】

注釈を設定する場合はShowThumbImageイベント内で行ってください。

Textプロパティを有効にするにはDispFileNameプロパティをTrueに設定してください。

設定された注釈はサムネイル画像の下に表示されます。

Visual Basic.NETやVisual C#.NETで使用する場合は、TextをCtlTextと記述してください。

【値の設定】

実行時

【値の参照】

不可


ThumbArrayFileName, ThumbArrayPage, ThumbArrayPathName（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ThumbArrayFileName, ThumbArrayPage, ThumbArrayPathName

【機能】

ThumbArrayNumプロパティで指定したサムネイル画像のフォルダ名、ファイル名、ページ番号を取得します。

【書式】

※ThumbArrayFileNameにて説明（ThumbArrayPathNameも同様な使い方）

(1)Visual Basic thumbcontrolname.ThumbArrayFileName [ = String ]

(2)Visual C++ [ CString = ]thumbcontrolname.GetThumbArrayFileName()

(3)VB.NET thumbcontrolname.ThumbArrayFileName [ = String ]

(4)C#.NET thumbcontrolname.ThumbArrayFileName [ = string ]

※ThumbArrayPage

(1)Visual Basic thumbcontrolname.ThumbArrayPage [ = Integer ]

(2)Visual C++ [ short = ]thumbcontrolname.GetThumbArrayPage()

(3)VB.NET thumbcontrolname.ThumbArrayPage [ = Short ]

(4)C#.NET thumbcontrolname.ThumbArrayPage [ = short ]

【参照値】

ThumbArrayFileNameはファイル名。

ThumbArrayPageはファイルのページ番号（0～）。

ThumbArrayPathNameはフォルダ名。

【解説】

ThumbArrayPageプロパティはマルチイメージファイルの場合に参照します。（シングルイメージの場合は常に0となります。）

ThumbArrayNumプロパティで示されるサムネイル画像がファイルからロードされたものでない場合は、ThumbArrayFileNameプロパティには一連番号、ThumbArrayPathNameプロパティには空文字列、ThumbArrayPageプロパティには0が設定されます。

【値の設定】

不可

【値の参照】

実行時


ThumbArrayNum（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ThumbArrayNum

【機能】

サムネイル画像の一連番号からファイル名やフォルダ名を取得する際に使用します。

【書式】

(1)Visual Basic thumbcontrolname.ThumbArrayNum [ = Integer ]

(2)Visual C++ thumbcontrolname.SetThumbArrayNum(short Val)

(3)VB.NET thumbcontrolname.ThumbArrayNum [ = Short ]

(4)C#.NET thumbcontrolname.ThumbArrayNum [ = short ]

【設定値】

サムネイル画像の一連番号（1～）

【解説】

当プロパティにイメージ番号を設定し、ThumbArrayFileName, ThumbArrayPage, ThumbArrayPathNameプロパティを参照します。

【値の設定】

実行時

【値の参照】

不可


ThumbCompression（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ThumbCompression

【機能】

サムネイル画像データに使用された圧縮方法を示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.ThumbCompression [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetThumbCompression()

imagekitcontrolname.GetFile().GetExif().SetThumbCompression(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.ThumbCompression [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.ThumbCompression [ = short ]

【設定値】

値 | 説明
1 | 非圧縮
6 | JPEG圧縮

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

サムネイル画像がJPEG圧縮データの場合は6になります。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

値の設定が可能になりました。


ThumbImageHandle（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

ThumbImageHandle

【機能】

サムネイル画像のメモリハンドルを示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.ThumbImageHandle [ = LONG_PTR ]

(2)Visual C++ [ LONG_PTR = ]imagekitcontrolname.GetFile().GetExif().GetThumbImageHandle()

(3)VB.NET imagekitcontrolname.File.Exif.ThumbImageHandle [ = Integer(x86) or Long(x64) ]

(4)C#.NET imagekitcontrolname.File.Exif.ThumbImageHandle [ = int(x86) or long(x64) ]

【参照値】

サムネイル画像のメモリハンドル

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

【値の設定】

不可

【値の参照】

実行時

【ImageKit7/8 ActiveXとの違い】

プロパティの型が変更されました。


ThumbnailFile（サムネイルコントロール／カスタムプロパティ）

サムネイルコントロール／カスタムプロパティ

ThumbnailFile

【機能】

サムネイルコントロールで使用するサムネイルファイルを設定します。

【書式】

(1)Visual Basic thumbcontrolname.ThumbnailFile [ = String ]

(2)Visual C++ [ CString = ]thumbcontrolname.GetThumbnailFile()

thumbcontrolname.SetThumbnailFile(LPCTSTR Val)

(3)VB.NET thumbcontrolname.ThumbnailFile [ = String ]

(4)C#.NET thumbcontrolname.ThumbnailFile [ = string ]

【設定値】

ファイル名。（フルパス）

【解説】

ファイル名を設定すると、2回目以降の読み込みが速くなります。

FilePathプロパティに設定するフォルダ毎に用意し、FilePathプロパティを新たに設定する場合は一緒に変更するようにしてください。

ListOfFileNames プロパティに設定したイメージファイルのリストのみを表示する場合(サムネイルファイルに含まれる画像は表示しない)は当プロパティに空文字列を設定してください。

【値の設定】

デザイン時、実行時

【値の参照】

実行時


TiffAppend（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

TiffAppend

【機能】

イメージ保存時（TIFF形式）の保存するモードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.TiffAppend [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetTiffAppend()

imagekitcontrolname.GetFile().SetTiffAppend(BOOL Val)

(3)VB.NET imagekitcontrolname.File.TiffAppend [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.TiffAppend [ = bool ]

【設定値】

値 | 説明
True | マルチイメージ形式（既存のファイルの一番最後に保存）
False | シングルイメージ形式（1ファイル1イメージ）

【解説】

イメージをTIFFファイルに保存する際に設定します。デフォルトはFalseです。

【値の設定】

実行時

【値の参照】

実行時


TiffColorSpace（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

TiffColorSpace

【機能】

イメージ保存時（TIFF形式）のフルカラーモードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.TiffColorSpace [ = TiffColorSpaceConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetTiffColorSpace()

imagekitcontrolname.GetFile().SetTiffColorSpace(long Val)

(3)VB.NET imagekitcontrolname.File.TiffColorSpace [ = ImageKit10(A)Lib.TiffColorSpaceConstants ]

(4)C#.NET imagekitcontrolname.File.TiffColorSpace [ = ImageKit10(A)Lib.TiffColorSpaceConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | RGB
1 | CMYK

定数(ikRGB = 0, ikCMYK = 1)を使用することも可能です。

【解説】

保存するイメージが24, 32ビットカラーの時に有効になります。デフォルトは0です。

1（CMYK）の場合は、出力されるファイルのビット数は32となります。

イメージをTIFF（非圧縮、PACKBITS、LZW）ファイルに保存する際に設定します。

【値の設定】

実行時

【値の参照】

実行時


TiffSaveOneStrip（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

TiffSaveOneStrip

【機能】

イメージ保存時（TIFF形式）のストリップを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.TiffSaveOneStrip [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetTiffSaveOneStrip()

imagekitcontrolname.GetFile().SetTiffSaveOneStrip(BOOL Val)

(3)VB.NET imagekitcontrolname.File.TiffSaveOneStrip [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.TiffSaveOneStrip [ = bool ]

【設定値】

値 | 説明
True | 1つのストリップで保存
False | 複数のストリップで保存

【解説】

デフォルトはFalseです。プロパティの設定が有効になるのは、TIFFのGROUP4形式を除く場合です。（GROUP4は1ストリップ固定です）

【値の設定】

実行時

【値の参照】

実行時


TimeStampH0,TimeStampH1,TimeStampM0,TimeStampM1,TimeStampS0,TimeStampS1（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

TimeStampH0, TimeStampH1, TimeStampM0, TimeStampM1, TimeStampS0, TimeStampS1

【機能】

File.GetImageFileType(Mem)メソッドを実行することにより、各プロパティに値が設定されます。

【書式】

※TimeStampH0にて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.File.Exif.TimeStampH0 [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampH0()

imagekitcontrolname.GetFile().GetExif().SetTimeStampH0(long Val)

(3)VB.NET imagekitcontrolname.File.Exif.TimeStampH0 [ = Integer ]

(4)C#.NET imagekitcontrolname.File.Exif.TimeStampH0 [ = int ]

【設定値】

TimeStampH0は、GPS時間-時間の分子

TimeStampH1は、GPS時間-時間の分母

GPS時間-時間 = TimeStampH0 / TimeStampH1

TimeStampM0は、GPS時間-分の分子

TimeStampM1は、GPS時間-分の分母

GPS時間-分 = TimeStampM0 / TimeStampM1

TimeStampS0は、GPS時間-秒の分子

TimeStampS1は、GPS時間-秒の分母

GPS時間-秒= TimeStampS0 / TimeStampS1

【解説】

ExifのGPSに関するタグです。

【値の設定】

実行時

【値の参照】

実行時


Title（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

Title

【機能】

タイトルを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.Title [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetTitle()

imagekitcontrolname.GetFile().GetPDF().SetTitle(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.Title [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.Title [ = String ]

【設定値】

タイトル。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティで設定した文字列はPDFの文書のプロパティの概要の「タイトル」に反映されます。

【値の設定】

実行時

【値の参照】

実行時


ToolBarCaption（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ToolBarCaption

【機能】

イメージ編集ツールバーのキャプションを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ToolBarCaption [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetEdit().GetToolBarCaption()

imagekitcontrolname.GetEdit().SetToolBarCaption(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Edit.ToolBarCaption [ = String ]

(4)C#.NET imagekitcontrolname.Edit.ToolBarCaption [ = string ]

【設定値】

イメージ編集ツールバーのキャプションに表示する文字列。

【解説】

ToolBarCaptionプロパティに空の文字列に設定しToolBarCloseBoxプロパティをFalseにすると、タイトルバーが表示されなくなり、マウスでイメージ編集ツールバーの移動ができなくなります。

【値の設定】

実行時

【値の参照】

実行時


ToolBarCloseBox（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ToolBarCloseBox

【機能】

イメージ編集ツールバーに閉じるボタンを付加するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ToolBarCloseBox [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetToolBarCloseBox()

imagekitcontrolname.GetEdit().SetToolBarCloseBox(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.ToolBarCloseBox [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.ToolBarCloseBox [ = bool ]

【設定値】

値 | 説明
True | 閉じるボタン（×ボタン）を付加する
False | 閉じるボタン（×ボタン）を付加しない

【値の設定】

実行時

【値の参照】

実行時


ToolBarFixed（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ToolBarFixed

【機能】

イメージ編集ツールバーのウィンドウを固定するかどうかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ToolBarFixed [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetEdit().GetToolBarFixed()

imagekitcontrolname.GetEdit().SetToolBarFixed(BOOL Val)

(3)VB.NET imagekitcontrolname.Edit.ToolBarFixed [ = Boolean ]

(4)C#.NET imagekitcontrolname.Edit.ToolBarFixed [ = bool ]

【設定値】

値 | 説明
True | ウィンドウは移動可能
False | ウィンドウは移動不可

【値の設定】

実行時

【値の参照】

実行時


ToolBarLeft, ToolBarTop（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ToolBarLeft, ToolBarTop

【機能】

イメージ編集ツールバーを表示する左上位置をピクセル単位で示します。

【書式】

※ToolBarLeftにて説明（ToolBarTopも同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.ToolBarLeft [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetToolBarLeft()

imagekitcontrolname.GetEdit().SetToolBarLeft(short Val)

(3)VB.NET imagekitcontrolname.Edit.ToolBarLeft [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.ToolBarLeft [ = short]

【設定値】

スクリーン左上からのイメージ編集ツールバーの左上位置（ピクセル単位）。

ToolBarLeftは、左位置

ToolBarTopは、上位置

【値の設定】

実行時

【値の参照】

実行時


ToolBarMouseCursorFile（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

ToolBarMouseCursorFile

【機能】

イメージ編集ツールバーのカーソル形状を示すカーソルファイル名を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.ToolBarMouseCursorFile [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetEdit().GetToolBarMouseCursorFile()

imagekitcontrolname.GetEdit().SetToolBarMouseCursorFile(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.Edit.ToolBarMouseCursorFile [ = String ]

(4)C#.NET imagekitcontrolname.Edit.ToolBarMouseCursorFile [ = string ]

【設定値】

イメージ編集ツールバーのカーソル形状を示すカーソルファイル名。

【解説】

ToolBarMouseCursorFileプロパティに空の文字列を設定した場合は、カーソル形状は矢印になります。

設定したカーソル形状が有効になるのは、イメージ編集ツールバー内にマウスカーソルが入った場合です。

ToolBarMouseCursorFileプロパティは以前のImageKitで提供していたディスプレイコントロールのEdit.ToolBarMouseCurプロパティに相当します。

【値の設定】

実行時

【値の参照】

実行時


ToolTipXfromMouse, ToolTipYfromMouse, ToolTipTimeSecond（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

ToolTipXfromMouse, ToolTipYfromMouse, ToolTipTimeSecond

【機能】

マウス座標値を表示するための情報を取得または設定します。

【書式】

※ToolTipXfromMouseにて説明（その他も同様な使い方）

(1)Visual Basic imagekitcontrolname.ToolTipXfromMouse [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetToolTipXfromMouse()

imagekitcontrolname.SetToolTipXfromMouse(short Val)

(3)VB.NET imagekitcontrolname.ToolTipXfromMouse [ = Short ]

(4)C#.NET imagekitcontrolname.ToolTipXfromMouse [ = short ]

【設定値】

ToolTipXfromMouseはマウス位置からマウス座標値を表示する位置までのX方向のオフセット（ピクセル）。デフォルトは20。

ToolTipYfromMouseはマウス位置からマウス座標値を表示する位置までのY方向のオフセット（ピクセル）。デフォルトは10。

ToolTipTimeSecondはマウス座標値を表示する秒数（1～）。デフォルトは3。

【解説】

ToolTipプロパティが1以上の場合に有効です。

【値の設定】

実行時

【値の参照】

実行時


TransBlue, TransGreen, TransRed（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

TransBlue, TransGreen, TransRed

【機能】

ラスタイメージの透過色を設定します。

【書式】

※TransBlueにて説明（TransGreen、TransRedも同様な使い方）

(1)Visual Basic imagekitcontrolname.Layer(Index).TransBlue [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetLayer(Index).GetTransBlue()

imagekitcontrolname.GetLayer(Index).SetTransBlue(short Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).TransBlue [ = Short ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).TransBlue [ = short ]

※Indexは0～99

【設定値】

TransBlueは透過色の青。

TransGreenは透過色の緑。

TransRedは透過色の赤。

0～255。

【解説】

複数のラスタイメージを重ね合わせする場合に使用します。設定した透過色の部分に別の階層のイメージが表示されます。

透過対象イメージは8ビットカラーもしくは24ビットカラーでなければなりません。

透過対象イメージはLayer(Index).ImageHandleプロパティが指すラスタイメージのことです（ベクトルイメージが設定されている場合は無効です）。

透過色を設定する場合は、透過対象イメージよりも先に透過色を設定する必要があります。

透過色を白にする例：

ImageKit1.Layer(0).TransBlue = 255

ImageKit1.Layer(0).TransGreen = 255

ImageKit1.Layer(0).TransRed = 255

ImageKit1.Layer(0).Transparent = True

ImageKit1.LayerNo = 0

ImageKit1.File.LoadFile(ikLoad)

【値の設定】

実行時

【値の参照】

実行時


TransBlue, TransGreen, TransRed（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

TransBlue, TransGreen, TransRed

【機能】

基本イメージ（ラスタ）の透過色を設定します。

【書式】

※TransBlueにて説明（TransGreen,TransRedも同様な使い方）

(1)Visual Basic imagekitcontrolname.TransBlue [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetTransBlue()

imagekitcontrolname.SetTransBlue(short Val)

(3)VB.NET imagekitcontrolname.TransBlue [ = Short ]

(4)C#.NET imagekitcontrolname.TransBlue [ = short ]

【設定値】

TransBlueは透過色の青。

TransGreenは透過色の緑。

TransRedは透過色の赤。

0～255。

【解説】

基本イメージ（ラスタ）の一部を透過させる場合に使用します。設定した透過色の部分にはイメージキットコントロールの背面に配置されたコントロールが表示されます。

透過対象イメージは8ビットカラーもしくは24ビットカラーでなければなりません。

透過対象イメージはImageHandleプロパティが指すラスタイメージのことです（ベクトルイメージが設定されている場合は無効です）。

透過色を設定する場合は、透過対象イメージよりも先に透過色を設定する必要があります。

透過色を白にする例：

ImageKit1.TransBlue = 255

ImageKit1.TransGreen = 255

ImageKit1.TransRed = 255

ImageKit1.Transparent = True

ImageKit1.LayerNo = -1

ImageKit1.File.LoadFile(ikLoad)

【値の設定】

実行時

【値の参照】

実行時


TransferMode（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

TransferMode

【機能】

イメージの転送方法を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.TransferMode [ = ScanTransferConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetTransferMode()

imagekitcontrolname.GetScan().SetTransferMode(long Val)

(3)VB.NET imagekitcontrolname.Scan.TransferMode [ = ImageKit10(A)Lib.ScanTransferConstants ]

(4)C#.NET imagekitcontrolname.Scan.TransferMode [ = ImageKit10(A)Lib.ScanTransferConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | ネイティブ（DIBで転送）
1 | ファイル
2 | メモリ（ブロック単位で転送）
3 | ファイル2 *1

*1 ImageKit10ではサポートしておりません。

定数(ikScanNative = 0, ikScanFile = 1, ikScanMemory = 2, ikScanFile2 = 3)を使用することも可能です。

【解説】

デフォルトは0(ikScanNative)です。Exec(Variant)メソッドを実行する前に設定する必要があります。

データソースがサポートしている転送方法は、GetCapEnum(Variant)メソッドで取得できます。

Scanningイベントが発生するのはメモリ転送の場合のみです。

【値の設定】

実行時

【値の参照】

実行時


Transparent（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

Transparent

【機能】

GIF/PNG形式の透過を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Transparent [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetFile().GetTransparent()

imagekitcontrolname.GetFile().SetTransparent(BOOL Val)

(3)VB.NET imagekitcontrolname.File.Transparent [ = Boolean ]

(4)C#.NET imagekitcontrolname.File.Transparent [ = bool ]

【設定値】

値 | 説明
True | 透過有効
False | 透過無効

【解説】

イメージをGIFまたはPNGファイルに保存する際に設定します。デフォルトはFalseです。

また、透明色はPalBlue、PalGreen、PalRedの各プロパティで設定します。

【値の設定】

実行時

【値の参照】

実行時


Transparent（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

Transparent

【機能】

ラスタイメージの透過を有効にするかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).Transparent [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetTransparent()

imagekitcontrolname.GetLayer(Index).SetTransparent(BOOL Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).Transparent [ = Boolean ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).Transparent [ = bool ]

※Indexは0～99

【設定値】

値 | 説明
True | 透過を有効
False | 透過を無効

【解説】

10.1デフォルトはTrueです。

10.1Trueの場合、TransBlue, TransGreen, TransRedプロパティで設定した色を透過色とすることができます。

10.1透過色を無効にして単純にラスタイメージを重ねる場合はFalseを設定してください。

透過対象イメージのLayer(Index).ImageHandleプロパティがベクトルイメージの場合は無効です。

【値の設定】

実行時

【値の参照】

実行時


Transparent（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Transparent

【機能】

テキストやハッチブラシの背景および線と線の間隔を描画する時の透過を設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Transparent [ = Boolean ]

(2)Visual C++ imagekitcontrolname.GetPrintDraw().SetTransparent(BOOL Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Transparent [ = Boolean ]

(4)C#.NET imagekitcontrolname.PrintDraw.Transparent [ = bool ]

【設定値】

値 | 説明
True | 透過有効
False | 透過無効

【解説】

TransparentプロパティをTrueに設定した場合は、BackColor,TextColor2プロパティは無視されます。

DrawStringメソッドではTransparentプロパティの設定に関わらずテキストの背景は透過されます。

【値の設定】

実行時

【値の参照】

不可


Transparent（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Transparent

【機能】

基本イメージ（ラスタ）の透過を有効にするかどうかを指定します。

【書式】

(1)Visual Basic imagekitcontrolname.Transparent [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetTransparent()

imagekitcontrolname.SetTransparent(BOOL Val)

(3)VB.NET imagekitcontrolname.Transparent [ = Boolean ]

(4)C#.NET imagekitcontrolname.Transparent [ = bool ]

【設定値】

値 | 説明
True | 透過を有効
False | 透過を無効

【解説】

デフォルトはFalseです。

Trueの場合、TransBlue,TransGreen,TransRedプロパティで設定した色を透過色とすることができます。

透過対象イメージのImageHandleプロパティがベクトルイメージの場合は無効です。

Transparent プロパティがTrueでBackgroundImageFileプロパティが空文字列（あるいは無効なファイル名）の場合

基本イメージの透過色の部分に下のウィンドウコントロールが表示されます。

イメージキットコントロールのサイズよりも大きなウィンドウコントロールの上に配置し、基本イメージを実寸ではなくスケールやストレッチで表示してください。

Transparent プロパティがTrueでBackgroundImageFileプロパティが有効なファイル名の場合

基本イメージの透過色の部分に背景イメージが表示されます。イメージキットコントロールの下のウィンドウコントロールは表示されません。

【値の設定】

実行時

【値の参照】

実行時


Type（イメージキットコントロール／Magnifierプロパティ）

イメージキットコントロール／Magnifierプロパティ

Type

【機能】

虫眼鏡ウィンドウの形状を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Magnifier.Type [ = MagnifierTypeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetMagnifier().GetType()

imagekitcontrolname.GetMagnifier().SetType(long Val)

(3)VB.NET imagekitcontrolname.Magnifier.Type [ = ImageKit10(A)Lib.MagnifierTypeConstants ]

(4)C#.NET imagekitcontrolname.Magnifier.Type [ = ImageKit10(A)Lib.MagnifierTypeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | 四角形
1 | 角丸四角形
2 | 楕円

定数(ikRectangleMagnifier = 0, ikRoundRectMagnifier = 1, ikEllipseMagnifier = 2)を使用することも可能です。

【解説】

10.1デフォルトは四角形です。

【値の設定】

実行時

【値の参照】

実行時


UiMode（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

UiMode

【機能】

取り込む時のユーザインタフェースの状態を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.UiMode [ = ScanUIModeConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetUiMode()

imagekitcontrolname.GetScan().SetUiMode(long Val)

(3)VB.NET imagekitcontrolname.Scan.UiMode [ = ImageKit10(A)Lib.ScanUIModeConstants ]

(4)C#.NET imagekitcontrolname.Scan.UiMode [ = ImageKit10(A)Lib.ScanUIModeConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | メーカ提供UI表示－取り込み後閉じない
1 | メーカ提供UI表示－取り込み後閉じる
2 | メーカ提供UI非表示（開発者作成UI）
3 | メーカ提供UI表示－値の設定のみで取り込み不可

定数(ikScanUI = 0, ikScanUICLOSE = 1, ikScanNONUI = 2, ikScanSetUIOnly = 3)を使用することも可能です。

【解説】

デフォルトは0(ikScanUI)です。Exec(Variant)メソッドを実行する前に設定する必要があります。

メーカ提供UI非表示での取り込みやメーカ提供UIを表示して値の設定のみできる機能をサポートしているかどうかについては、IsCapSupported(Variant)メソッドで判定できます。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7 ActiveXとの違い】

メーカ提供UIを表示して設定情報を保存することが可能となりました（InformationFileNameプロパティに保存するファイル名を設定します）。


UndoRasterCountMax, UndoVectorCountMax（イメージキットコントロール／Editプロパティ）

イメージキットコントロール／Editプロパティ

UndoRasterCountMax, UndoVectorCountMax

【機能】

イメージ編集ツールバーの取り消しの最大回数を取得・設定します。

【書式】

※UndoRasterCountMaxにて説明（UndoVectorCountMaxも同様な使い方）

(1)Visual Basic imagekitcontrolname.Edit.UndoRasterCountMax [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetEdit().GetUndoRasterCountMax()

imagekitcontrolname.GetEdit().SetUndoRasterCountMax(short Val)

(3)VB.NET imagekitcontrolname.Edit.UndoRasterCountMax [ = Short ]

(4)C#.NET imagekitcontrolname.Edit.UndoRasterCountMax [ = short ]

【設定値】

取り消しの最大回数（デフォルトは50）。有効範囲は0から50まで。

UndoRasterCountMaxはラスタイメージ用の取り消し最大回数。

UndoVectorCountMaxはベクトルイメージ用の取り消し最大回数。

【解説】

取り消し回数を大きくすると便利な反面、メモリを多く消費します。

0を設定した場合、イメージ編集ツールバーのポップアップメニューで「取消し」を実行することはできません。

取り消し回数はイメージ編集ツールバーを表示する前に設定してください。（イメージ編集ツールバー表示中は変更不可）

例：

(1)ラスタイメージ用

ImageKit1.Edit.ToolBarTop = 50

ImageKit1.Edit.ToolBarLeft = 100

ImageKit1.Edit.ToolBarCloseBox = True

ImageKit1.Edit.ToolBarCaption = "ToolBar"

ImageKit1.Edit.FontName = "Arial"

ImageKit1.Edit.FontSize = 12

ImageKit1.Edit.StampBmpFile = CurrentDir + "Stamp.bmp"

ImageKit1.Edit.UndoRasterCountMax = 10

ImageKit1.Edit.EditEnable = True

ImageKit1.Edit.EditImageLayerNo = -1

ImageKit1.Edit.ShowToolbar ikRaster

(2)ベクトルイメージ用

ImageKit1.Edit.ToolBarTop = 50

ImageKit1.Edit.ToolBarLeft = 100

ImageKit1.Edit.ToolBarCloseBox = True

ImageKit1.Edit.ToolBarCaption = "ToolBar"

ImageKit1.Edit.FontName = "Arial"

ImageKit1.Edit.FontSize = 12

ImageKit1.Edit.UndoVectorCountMax = 10

ImageKit1.Edit.EditEnable = True

ImageKit1.Edit.EditImageLayerNo = 2

ImageKit1.Edit.ShowToolbar ikVector

【値の設定】

実行時

【値の参照】

実行時


Undo（イメージキットコントロール／Editメソッド）

イメージキットコントロール／Editメソッド

Undo

【機能】

一つ前に行った操作を取消し、元の状態に戻します。

【書式】

(1)Visual Basic imagekitcontrolname.Edit.Undo

(2)Visual C++ imagekitcontrolname.GetEdit().Undo()

(3)VB.NET imagekitcontrolname.Edit.Undo()

(4)C#.NET imagekitcontrolname.Edit.Undo()

【引数】

ありません。

【戻り値】

ありません。

【解説】

イメージ編集ツールバー（ラスタ、べクトル）のポップアップメニューの"取消し"に相当するメソッドです。

マウスの右クリックでポップアップメニューを表示せず、プログラムで操作する場合に使用します。


UnifyColor, UnifyColorVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

UnifyColor, UnifyColorVariant

【機能】

色のばらつきを修正します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.UnifyColor(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)

[ Boolean = ]imagekitcontrolname.Effect.UnifyColorVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().UnifyColor(long *x, long *y, long Points, short Red, short Green, short Blue, short Error)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.UnifyColor(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short, Error As Short)

[ Boolean = ]imagekitcontrolname.Effect.UnifyColorVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short, Error As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.UnifyColor(ref int x, ref int y, int Points, short Red, short Green, short Blue, short Error)

[ bool = ]imagekitcontrolname.Effect.UnifyColorVariant(ref object x, ref object y, short Red, short Green, short Blue, short Error)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） UnifyColor (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える UnifyColorVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（UnifyColorのみ）
Red | 修正対象となる赤(0～255)
Green | 修正対象となる緑(0～255)
Blue | 修正対象となる青(0～255)
Error | 各RGBの誤差範囲(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

指定したRed, Green, Blueに対して±Errorの範囲の色をRed, Green, Blueに置き換えます。

例えばRed, Green, Blueに128、Errorに1を設定した場合は、Red, Green, Blueの127から129の範囲の色をそれぞれを128に置き換えます。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、UnifyColorVariantメソッドをご使用ください。


UnitFlag（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

UnitFlag

【機能】

開発者作成UIで取り込む時の取り込み単位をデータソースの機能に任せるか、ImageKit10で考慮するかを設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.UnitFlag [ = Integer ]

(2)Visual C++ imagekitcontrolname.GetScan().SetUnitFlag(short Val)

(3)VB.NET imagekitcontrolname.Scan.UnitFlag [ = Short ]

(4)C#.NET imagekitcontrolname.Scan.UnitFlag [ = short ]

【設定値】

値 | 説明
0 | データソースの機能を使用
1 | ImageKit10で考慮

【解説】

デフォルトは0です。UiModeプロパティが2(ikScanNONUI)の場合に有効です。

例えば、データソースがサポートしていない単位を使用したい場合や、PaperSizeプロパティが0以下でRectLeft, RectTop, RectRight, RectBottomプロパティを設定しているのに正しく取り込みができない、または取り込み範囲が有効にならない場合などは1を指定してください。

XResolution、YResolutionプロパティが共に-1でUnitModeプロパティが5(ikScanPixel)の場合は無効です。

【値の設定】

実行時

【値の参照】

不可


UnitMode（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

UnitMode

【機能】

開発者作成UIで取り込む時の取り込み単位を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.Scan.UnitMode [ = ScanUnitConstants ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetUnitMode()

imagekitcontrolname.GetScan().SetUnitMode(long Val)

(3)VB.NET imagekitcontrolname.Scan.UnitMode [ = ImageKit10(A)Lib.ScanUnitConstants ]

(4)C#.NET imagekitcontrolname.Scan.UnitMode [ = ImageKit10(A)Lib.ScanUnitConstants ]

※ImageKit10ALibはANSI版、ImageKit10LibはUnicode版を表します。

【設定値】

値 | 説明
0 | インチ
1 | cm（センチメートル）
2 | パイカ
3 | ポイント
4 | twip
5 | ピクセル
6 | mm（ミリメートル）

定数(ikScanInch = 0, ikScanCM = 1, ikScanPica = 2, ikScanPoint = 3, ikScanTwip = 4, ikScanPixel = 5, ikScanMillimeters = 6)を使用することも可能です。

【解説】

デフォルトは0(ikScanInch)です。UiModeプロパティが2(ikScanNONUI)の場合に有効となり、RectLeft, RectTop, RectRight, RectBottomプロパティに設定する値の単位となります。

UnitFlagプロパティが0の場合は、データソースがサポートしている値でなければなりません。

UiModeプロパティが2(ikScanNONUI)以外の場合、設定値は無効ですが、取り込み時に使用した単位を返します。データソースがサポートしている取り込み単位は、GetCapEnum(Variant)メソッドで取得できます。

【値の設定】

実行時

【値の参照】

実行時


UpdateThumbnailFile（サムネイルコントロール／カスタムメソッド）

サムネイルコントロール／カスタムメソッド

UpdateThumbnailFile

【機能】

サムネイルファイルを更新します。

【書式】

(1)Visual Basic thumbcontrolname.UpdateThumbnailFile

(2)Visual C++ thumbcontrolname.UpdateThumbnailFile()

(3)VB.NET thumbcontrolname.UpdateThumbnailFile()

(4)C#.NET thumbcontrolname.UpdateThumbnailFile()

【引数】

ありません。

【戻り値】

ありません。

【解説】

ThumbnailFileプロパティで設定されたサムネイルファイルを更新します。

FilePathプロパティを切り替えて別のフォルダのサムネイル画像を表示する場合や、サムネイルの処理を終了する場合などに実行してください。なお、ImageHandleプロパティに設定したサムネイル画像はサムネイルファイルには保存されません。


UserPassword（イメージキットコントロール／PDFプロパティ）

イメージキットコントロール／PDFプロパティ

UserPassword

【機能】

ユーザーパスワードを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.File.PDF.UserPassword [ = String ]

(2)Visual C++ [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetUserPassword()

imagekitcontrolname.GetFile().GetPDF().SetUserPassword(LPCTSTR Val)

(3)VB.NET imagekitcontrolname.File.PDF.UserPassword [ = String ]

(4)C#.NET imagekitcontrolname.File.PDF.UserPassword [ = String ]

【設定値】

ユーザーパスワード。

【解説】

デフォルトは空文字列です。当プロパティはStartメソッド実行時に参照されるため、Startメソッド実行前に適切な値を設定してください。

当プロパティは文書を開く際のパスワードとなります。

ユーザーパスワードのみの設定は不可です。オーナーパスワードまたはオーナーパスワードとユーザーパスワードの2つを設定してください。当プロパティにはOwnerPasswordプロパティとは異なる値を設定してください。

【値の設定】

実行時

【値の参照】

実行時


VectorAntiAliasDisplay（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

VectorAntiAliasDisplay

【機能】

ベクトルイメージのアンチエイリアス表示を有効にするかどうかを取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.VectorAntiAliasDisplay [ = Boolean ]

(2)Visual C++ [ BOOL = ]imagekitcontrolname.GetVectorAntiAliasDisplay()

imagekitcontrolname.SetVectorAntiAliasDisplay(BOOL Val)

(3)VB.NET imagekitcontrolname.VectorAntiAliasDisplay [ = Boolean ]

(4)C#.NET imagekitcontrolname.VectorAntiAliasDisplay [ = bool ]

【設定値】

値 | 説明
True | アンチエイリアス表示を有効
False | アンチエイリアス表示を無効

【解説】

デフォルトはFalseです。

アンチエイリアス表示を有効にすると描画する時間は遅くなりますが、テキストや図形を綺麗に表示することができます。

【値の設定】

実行時

【値の参照】

実行時


VectorHeight, VectorWidth（イメージキットコントロール／Fileプロパティ）

イメージキットコントロール／Fileプロパティ

VectorHeight, VectorWidth

【機能】

ベクトルイメージ読み込み時の高さと幅を取得または設定します。

【書式】

※VectorHeightにて説明（VectorWidthも同様な使い方）

(1)Visual Basic imagekitcontrolname.File.VectorHeight [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetFile().GetVectorHeight()

imagekitcontrolname.GetFile().SetVectorHeight(long Val)

(3)VB.NET imagekitcontrolname.File.VectorHeight [ = Integer ]

(4)C#.NET imagekitcontrolname.File.VectorHeight [ = int ]

【設定値】

VectorHeightはイメージの高さ（ピクセル）、デフォルトは0。

VectorWidthはイメージの幅（ピクセル）、デフォルトは0。

【解説】

DXF, SXFの場合

VectorHeightもしくはVectorWidthが0以下の場合は高さ600幅800の値を使用します。

EMF, SVG, WMFの場合

VectorHeightもしくはVectorWidthが0以下の場合はファイルに格納されているサイズを使用します。

（注意）

読み込まれるイメージの縦横のサイズは、設定した矩形内(VectorWidth * VectorHeight)で縦横比を考慮した最も大きなサイズとなりますので、設定したサイズ通りにならない場合があります。

【値の設定】

実行時

【値の参照】

実行時


VectorToRaster（イメージキットコントロール／Vectorメソッド）

イメージキットコントロール／Vectorメソッド

VectorToRaster

【機能】

ベクトルイメージをラスタイメージに変換します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Vector.VectorToRaster(BitCount As Integr, DxfBlack As Boolean, BackRed As Integer, BackGreen As Integer, BackBlue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetVector().VectorToRaster(short BitCount, BOOL DxfBlack, short BackRed, short BackGreen, short BackBlue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Vector.VectorToRaster(BitCount As Short, DxfBlack As Boolean, BackRed As Short, BackGreen As Short, BackBlue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Vector.VectorToRaster(short BitCount, bool DxfBlack, short BackRed, short BackGreen, short BackBlue)

【引数】

名称 | 内容
BitCount | ラスタイメージに変換する際のビット数（1, 4, 8, 16, 24, 32）
DxfBlack | イメージがDXFを表す場合、白を黒に置き換えて描画 [ True(0以外)：する False(0)：しない ]
BackRed | 背景色（赤）
BackGreen | 背景色（緑）
BackBlue | 背景色（青）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるベクトルイメージのメモリハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（LayerNoプロパティによって処理されるイメージハンドルが決まります）。

成功した場合、ベクトルイメージのメモリハンドルは解放され、変換されたラスタイメージのメモリハンドルがLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

VectorToRasterメソッドは以前のImageKitで提供していたコモンコントロールのVectToDibメソッドに相当します。


VideoDevices（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

VideoDevices

【機能】

ビデオデバイスの名称を取得します。

【書式】

(1)Visual Basic previewcontrolname.VideoDevices [ = String ]

(2)Visual C++ [ CString = ]previewcontrolname.GetVideoDevices()

(3)VB.NET previewcontrolname.VideoDevices [ = String ]

(4)C#.NET previewcontrolname.VideoDevices [ = string ]

【参照値】

ビデオデバイスの名称。

【解説】

GetVideoDevicesメソッドが成功した場合にビデオデバイスの名称が設定されます。

ビデオデバイスが複数接続されている場合、文字列は"XXX,XXX,････････"となり、カンマで区切られて設定されます。単一の場合は文字列にカンマは含まれません。

【値の設定】

不可

【値の参照】

実行時


VideoDevices（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

VideoDevices

【機能】

ビデオデバイスの名称を取得します。

【書式】

(1)Visual Basic recordcontrolname.VideoDevices [ = String ]

(2)Visual C++ [ CString = ]recordcontrolname.GetVideoDevices()

(3)VB.NET recordcontrolname.VideoDevices [ = String ]

(4)C#.NET recordcontrolname.VideoDevices [ = string ]

【参照値】

ビデオデバイスの名称。

【解説】

GetVideoDevicesメソッドが成功した場合にビデオデバイスの名称が設定されます。

ビデオデバイスが複数接続されている場合、文字列は"XXX,XXX,････････"となり、カンマで区切られて設定されます。単一の場合は文字列にカンマは含まれません。

【値の設定】

不可

【値の参照】

実行時


VideoHeight,VideoWidth（プレイコントロール／カスタムプロパティ）

プレイコントロール／カスタムプロパティ

VideoHeight, VideoWidth

【機能】

動画の高さと幅を取得します。

【書式】

※VideoHeightにて説明（VideoWidthも同様な使い方）

(1)Visual Basic playcontrolname.VideoHeight [ = Long ]

(2)Visual C++ [ long = ]playcontrolname.GetVideoHeight()

(3)VB.NET playcontrolname.VideoHeight [ = Integer ]

(4)C#.NET playcontrolname.VideoHeight [ = int ]

【参照値】

VideoHeightプロパティは動画の高さ。

VideoWidthプロパティは動画の幅。

【解説】

Openメソッド実行後に更新されます。

【値の設定】

不可

【値の参照】

実行時


VideoHeight,VideoWidth（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

VideoHeight, VideoWidth

【機能】

プレビュー画像の高さと幅を取得します。

【書式】

※VideoHeightにて説明（VideoWidthも同様な使い方）

(1)Visual Basic previewcontrolname.VideoHeight [ = Long ]

(2)Visual C++ [ long = ]previewcontrolname.GetVideoHeight()

(3)VB.NET previewcontrolname.VideoHeight [ = Integer ]

(4)C#.NET previewcontrolname.VideoHeight [ = int ]

【参照値】

VideoHeightプロパティはプレビュー画像の高さ。

VideoWidthプロパティはプレビュー画像の幅。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

【値の設定】

不可

【値の参照】

実行時


VideoHeight,VideoWidth（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

VideoHeight, VideoWidth

【機能】

キャプチャー画像の高さと幅を取得します。

【書式】

※VideoHeightにて説明（VideoWidthも同様な使い方）

(1)Visual Basic recordcontrolname.VideoHeight [ = Long ]

(2)Visual C++ [ long = ]recordcontrolname.GetVideoHeight()

(3)VB.NET recordcontrolname.VideoHeight [ = Integer ]

(4)C#.NET recordcontrolname.VideoHeight [ = int ]

【参照値】

VideoHeightプロパティはキャプチャー画像の高さ。

VideoWidthプロパティはキャプチャー画像の幅。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

【値の設定】

不可

【値の参照】

実行時


VideoSubType（プレビューコントロール／カスタムプロパティ）

プレビューコントロール／カスタムプロパティ

VideoSubType

【機能】

メディアサンプルのサブタイプを指定するGUID文字列を取得します。

【書式】

(1)Visual Basic previewcontrolname.VideoSubType [ = String ]

(2)Visual C++ [ CString = ]previewcontrolname.GetVideoSubType()

(3)VB.NET previewcontrolname.VideoSubType [ = String ]

(4)C#.NET previewcontrolname.VideoSubType [ = string ]

【参照値】

GUID文字列。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

プレビュー画像が圧縮されている場合、先頭の8桁がFOURCCコードになります。

【値の設定】

不可

【値の参照】

実行時


VideoSubType（レコードコントロール／カスタムプロパティ）

レコードコントロール／カスタムプロパティ

VideoSubType

【機能】

メディアサンプルのサブタイプを指定するGUID文字列を取得します。

【書式】

(1)Visual Basic recordcontrolname.VideoSubType [ = String ]

(2)Visual C++ [ CString = ]recordcontrolname.GetVideoSubType()

(3)VB.NET recordcontrolname.VideoSubType [ = String ]

(4)C#.NET recordcontrolname.VideoSubType [ = string ]

【参照値】

GUID文字列。

【解説】

GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, ShowCapturePinDialogメソッドを実行することにより、値が更新されます。

キャプチャー画像が圧縮されている場合、先頭の8桁がFOURCCコードになります。

【値の設定】

不可

【値の参照】

実行時


Waves, WavesVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

Waves, WavesVariant

【機能】

ラスタイメージにさざ波効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.Waves(x As Long, y As Long, Points As Long, Direction As Integer, WaveType As Integer, Period As Long, Amp As Long, Phase As Double, Edges As Integer, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.WavesVariant(x As Variant, y As Variant, Direction As Integer, WaveType As Integer, Period As Long, Amp As Long, Phase As Double, Edges As Integer, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().Waves(long *x, long *y, long Points, short Direction, short WaveType, long Period, long Amp, double Phase, short Edges, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.Waves(ByRef x As Integer, ByRef y As Integer, Points As Integer, Direction As Short, WaveType As Short, Period As Integer, Amp As Integer, Phase As Double, Edges As Short, Red As Short, Green As Short, Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.WavesVariant(ByRef x As Object, ByRef y As Object, Direction As Short, WaveType As Short, Period As Integer, Amp As Integer, Phase As Double, Edges As Short, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.Waves(ref int x, ref int y, int Points, short Direction, short WaveType, int Period, int Amp, double Phase, short Edges, short Red, short Green, short Blue)

[ bool = ]imagekitcontrolname.Effect.WavesVariant(ref object x, ref object y, short Direction, short WaveType, int Period, int Amp, double Phase, short Edges, short Red, short Green, short Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） Waves (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える WavesVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（Wavesのみ）
Direction | 波の方向（0:横, 1:縦）
WaveType | 波の種類（0:sin, 1:saw）
Period | 波の波長（0以上）
Amp | 波の大きさ（0以上）
Phase | 波の位相（0.0～1.0）
Edges | エッジの種類（0：背景色で塗る, 1:隣接したピクセルで埋める, 2:丸める）
Red | 背景色の赤(0～255)
Green | 背景色の緑(0～255)
Blue | 背景色の青(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

Red, Green, BlueはEdgesが0の場合に有効です。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、WavesVariantメソッドをご使用ください。


WhirlPinch, WhirlPinchVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

WhirlPinch, WhirlPinchVariant

【機能】

ラスタイメージにねじりつまみ効果を施します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.WhirlPinch(x As Long, y As Long, Points As Long, Whirl As Double, Pinch As Double, Radius As Double, Red As Integer, Green As Integer, Blue As Integer)

[ Boolean = ]imagekitcontrolname.Effect.WhirlPinchVariant(x As Variant, y As Variant, Whirl As Double, Pinch As Double, Radius As Double, Red As Integer, Green As Integer, Blue As Integer)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().WhirlPinch(long *x, long *y, long Points, double Whirl, double Pinch, double Radius, short Red, short Green, short Blue)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.WhirlPinch(ByRef x As Integer, ByRef y As Integer, Points As Integer, Whirl As Double, Pinch As Double, Radius As Double, Red As Short, Green As Short, Blue As Short)

[ Boolean = ]imagekitcontrolname.Effect.WhirlPinchVariant(ByRef x As Object, ByRef y As Object, Whirl As Double, Pinch As Double, Radius As Double, Red As Short, Green As Short, Blue As Short)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.WhirlPinch(ref int x, ref int y, int Points, double Whirl, double Pinch, double Radius, short Red, short Green, short Blue)

[ bool = ]imagekitcontrolname.Effect.WhirlPinchVariant(ref object x, ref object y, double Whirl, double Pinch, double Radius, short Red, short Green, short Blue)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える WhirlPinchVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（WhirlPinchのみ）
Whirl | ねじる角度（度単位）
Pinch | つまみの度合い
Radius | ねじりの大きさ（0以上）
Red | 背景色の赤(0～255)
Green | 背景色の緑(0～255)
Blue | 背景色の青(0～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（8ビットグレースケール, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、WhirlPinchVariantメソッドをご使用ください。


WhiteBalance（イメージキットコントロール／Exifプロパティ）

イメージキットコントロール／Exifプロパティ

WhiteBalance

【機能】

撮影時に設定されたホワイトバランスモードを示します。

【書式】

(1)Visual Basic imagekitcontrolname.File.Exif.WhiteBalance [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetFile().GetExif().GetWhiteBalance()

imagekitcontrolname.GetFile().GetExif().SetWhiteBalance(short Val)

(3)VB.NET imagekitcontrolname.File.Exif.WhiteBalance [ = Short ]

(4)C#.NET imagekitcontrolname.File.Exif.WhiteBalance [ = short ]

【設定値】

値 | 説明
0 | ホワイトバランス自動
1 | ホワイトバランス手動

【解説】

File.GetImageFileType(Mem)メソッドを実行することにより、プロパティに値が設定されます。

Exifの撮影条件に関するタグです。

【値の設定】

実行時

【値の参照】

実行時


WidthByte（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

WidthByte

【機能】

ImageHandleプロパティに設定されたイメージの1ラインのバイト数を示します。

【書式】

(1)Visual Basic imagekitcontrolname.Layer(Index).WidthByte [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetLayer(Index).GetWidthByte()

(3)VB.NET imagekitcontrolname.get_Layer(Index).WidthByte [ = Integer ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).WidthByte [ = int ]

※Indexは0～99

【参照値】

イメージの1ラインのバイト数。

【解説】

ImageHandleプロパティに値が設定されると、WidthByteプロパティは自動的に更新されます。

ベクトルイメージの場合は無効です。

【値の設定】

不可

【値の参照】

実行時


Xdpi, Ydpi（イメージキットコントロール／Layerプロパティ）

イメージキットコントロール／Layerプロパティ

Xdpi, Ydpi

【機能】

ImageHandleプロパティに設定されたイメージの縦横の1インチあたりのピクセル数を示します。

【書式】

※Xdpiにて説明（Ydpiも同様な使い方）

(1)Visual Basic imagekitcontrolname.Layer(Index).Xdpi [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetLayer(Index).GetXdpi()

imagekitcontrolname.GetLayer(Index).SetXdpi(long Val)

(3)VB.NET imagekitcontrolname.get_Layer(Index).Xdpi [ = Integer ]

(4)C#.NET imagekitcontrolname.get_Layer(Index).Xdpi [ = int ]

※Indexは0～99

【参照値】

Xdpiは横方向の1インチあたりのピクセル数。

Ydpiは縦方向の1インチあたりのピクセル数。

【解説】

ImageHandleプロパティに値が設定されると、Xdpi, Ydpiプロパティは自動的に更新されます。

また、イメージの解像度を変更する場合はLayerNoプロパティにインデックス番号を設定してからSetDpiメソッドを実行します。

【値の設定】

実行時

【値の参照】

実行時


Xdpi, Ydpi（イメージキットコントロール／カスタムプロパティ）

イメージキットコントロール／カスタムプロパティ

Xdpi, Ydpi

【機能】

ImageHandleプロパティに設定されたイメージの縦横の1インチあたりのピクセル数を示します。

【書式】

※Xdpiにて説明（Ydpiも同様な使い方）

(1)Visual Basic imagekitcontrolname.Xdpi [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetXdpi()

imagekitcontrolname.SetXdpi(long Val)

(3)VB.NET imagekitcontrolname.Xdpi [ = Integer ]

(4)C#.NET imagekitcontrolname.Xdpi [ = int ]

【参照値】

Xdpiは横方向の1インチあたりのピクセル数。

Ydpiは縦方向の1インチあたりのピクセル数。

【解説】

ImageHandleプロパティに値が設定されると、Xdpi,Ydpiプロパティは自動的に更新されます。

また、基本イメージの解像度を変更する場合はLayerNoプロパティに-1を設定してからSetDpiメソッドを実行します。

【値の設定】

実行時

【値の参照】

実行時


XResolution, YResolution（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

XResolution, YResolution

【機能】

プリンタのX方向とY方向の解像度を取得または設定します。

【書式】

※XResolutionにて説明（YResolutionも同様な使い方）

(1)Visual Basic imagekitcontrolname.PrintDraw.XResolution [ = Integer ]

(2)Visual C++ [short = ]imagekitcontrolname.GetPrintDraw().GetXResolution()

imagekitcontrolname.GetPrintDraw().SetXResolution(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.XResolution [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.XResolution [ = short ]

【設定値】

正の値: 1インチあたりのドット数(DPI)

値 | 説明
-1 | ドラフトの印刷解像度(DMRES_DRAFT)
-2 | 低解像度(DMRES_LOW)
-3 | 中解像度(DMRES_MEDIUM)
-4 | 高解像度(DMRES_HIGH)

( )内の説明はWindowsAPIで使用する定数と同じ意味です。

【解説】

XResolutionプロパティに0以下の値を設定するとYResolutionプロパティの値は無視されます。

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

また、PrintCreateDC, PrintDialogメソッドを実行し、デバイスコンテキストが作成されるとそれに応じた解像度が設定されます。

【値の設定】

実行時

【値の参照】

実行時

【ImageKit7/8/9 ActiveXとの違い】

PrintCreateDC, PrintDialogメソッドを実行し、デバイスコンテキストが作成されるとそれに応じた解像度が設定されます。


XResolution, YResolution（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

XResolution, YResolution

【機能】

イメージの読取解像度を取得または設定します。

【書式】

※XResolutionにて説明（YResolutionも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.XResolution [ = Long ]

(2)Visual C++ [ long = ]imagekitcontrolname.GetScan().GetXResolution()

imagekitcontrolname.GetScan().SetXResolution(long Val)

(3)VB.NET imagekitcontrolname.Scan.XResolution [ = Integer ]

(4)C#.NET imagekitcontrolname.Scan.XResolution [ = int ]

【設定値】

X方向およびY方向の読取り解像度をDPI単位で設定。

XResolutionはX方向の解像度。

YResolutionはY方向の解像度。

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に設定した解像度が有効になります。

UiModeプロパティが2(ikScanNONUI)以外の場合やデジタルカメラからの取り込みの場合は設定値は無効です。データソースがサポートしている解像度の範囲や値は、GetCapEnum(Variant)メソッドもしくはGetCapRange(Variant)メソッドで取得できます。

データソースのデフォルト値を使用する場合は-1を設定します。

（注意）

X方向とY方向の読み取り解像度には異なる値を設定できますが、データソースによっては異なる解像度をサポートしていないものがあります。その場合、X方向およびY方向のどちらかの解像度が有効になります。実際の読み取り解像度はBeforeScanイベント内もしくはExec(Variant)メソッド終了後にプロパティを参照してください。

【値の設定】

実行時

【値の参照】

実行時


XScaling, YScaling（イメージキットコントロール／Scanプロパティ）

イメージキットコントロール／Scanプロパティ

XScaling, YScaling

【機能】

開発者作成UIで取り込む時のイメージのスケーリングの比率を設定します。

【書式】

※XScalingにて説明（YScalingも同様な使い方）

(1)Visual Basic imagekitcontrolname.Scan.XScaling [ = Single ]

(2)Visual C++ imagekitcontrolname.GetScan().SetXScaling(float Val)

(3)VB.NET imagekitcontrolname.Scan.XScaling [ = Single ]

(4)C#.NET imagekitcontrolname.Scan.XScaling [ = float ]

【設定値】

X方向およびY方向のスケーリングの比率を設定。（デフォルトは1.0）

XScalingはX方向の比率。

YScalingはY方向の比率。

【解説】

UiModeプロパティが2(ikScanNONUI)の場合に有効です。

UiModeプロパティが2(ikScanNONUI)以外の場合やデジタルカメラからの取り込みの場合は無効です。

データソースがサポートしているスケーリングの比率の範囲や値は、GetCapEnum(Variant)メソッドもしくはGetCapRange(Variant)メソッドで取得できます。

等倍（実寸）で読み取る場合は1.0を設定します。

（注意）

X方向とY方向のスケーリングの比率には異なる値を設定できますが、データソースによっては異なるスケーリングをサポートしていないものがあります。その場合、X方向およびY方向のどちらかのスケーリングが有効になります。

【値の設定】

実行時

【値の参照】

不可


YCCBmpPlaneFileLoad（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

YCCBmpPlaneFileLoad

【機能】

YCrCbプレーン毎に保存してあるBMPファイルからラスタイメージを読み込みます。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileLoad(YFileName As String, CrFileName As String, CbFileName As String)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().YCCBmpPlaneFileLoad(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileLoad(YFileName As String, CrFileName As String, CbFileName As String)

(4)C#.NET

[ bool = ]imagekitcontrolname.File.YCCBmpPlaneFileLoad(string YFileName, string CrFileName, string CbFileName)

【引数】

名称 | 内容
YFileName | Yプレーンとして読み込むファイル名
CrFileName | Crプレーンとして読み込むファイル名
CbFileName | Cbプレーンとして読み込むファイル名

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

YCrCbそれぞれのプレーンを表すイメージは8ビットグレーで、出力イメージは24ビットカラーです。

成功するとLayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）にイメージのメモリハンドルが設定されます。


YCCBmpPlaneFileSave（イメージキットコントロール／Fileメソッド）

イメージキットコントロール／Fileメソッド

YCCBmpPlaneFileSave

【機能】

ラスタイメージをYCrCbプレーン毎にBMP形式でファイルに保存します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileSave(YFileName As String, CrFileName As String, CbFileName As String, ImageHandle As LONG_PTR)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetFile().YCCBmpPlaneFileSave(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName, LONG_PTR ImageHandle)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileSave(YFileName As String, CrFileName As String, CbFileName As String, ImageHandle As Integer(x86) or Long(x64))

(4)C#.NET

[ bool = ]imagekitcontrolname.File.YCCBmpPlaneFileSave(string YFileName, string CrFileName, string CbFileName, int(x86) or long(x64) ImageHandle)

※x86は32ビット版、x64は64ビット版を表します。

【引数】

名称 | 内容
YFileName | Yプレーンとして保存するファイル名
CrFileName | Crプレーンとして保存するファイル名
CbFileName | Cbプレーンとして保存するファイル名
ImageHandle | 保存対象となるイメージのメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

引数のImageHandleに有効なメモリハンドルを与えた場合

ImageHandleに設定されたメモリハンドルをYCrCbのそれぞれのプレーン毎にファイルに保存します。

引数のImageHandleに0を与えた場合

LayerNoプロパティが示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されたメモリハンドルをYCrCbのそれぞれのプレーン毎にファイルに保存します。

※LayerNo=-1であればImageHandle、LayerNo=0～99であればLayer(LayerNo).ImageHandle

保存対象イメージは24ビットカラーで、保存されるイメージは8ビットグレーとなります。

【ImageKit7/8 ActiveXとの違い】

引数ImageHandleの型が変更されました。


YCCGamma, YCCGammaVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

YCCGamma, YCCGammaVariant

【機能】

ラスタイメージのYCrCb値のガンマ補正を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.YCCGamma(x As Long, y As Long, Points As Long, Yb As Double, Cr As Double, Cb As Double)

[ Boolean = ]imagekitcontrolname.Effect.YCCGammaVariant(x As Variant, y As Variant, Yb As Double, Cr As Double, Cb As Double)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().YCCGamma(long *x, long *y, long Points, double Yb, double Cr, double Cb)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.YCCGamma(ByRef x As Integer, ByRef y As Integer, Points As Integer, Yb As Double, Cr As Double, Cb As Double)

[ Boolean = ]imagekitcontrolname.Effect.YCCGammaVariant(ByRef x As Object, ByRef y As Object, Yb As Double, Cr As Double, Cb As Double)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.YCCGamma(ref int x, ref int y, int Points, double Yb, double Cr, double Cb)

[ bool = ]imagekitcontrolname.Effect.YCCGammaVariant(ref object x, ref object y, double Yb, double Cr, double Cb)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） YCCGamma (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える YCCGammaVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（YCCGammaのみ）
Yb | 輝度値のガンマ係数
Cr | 色相 Crのガンマ係数
Cb | 色相 Cbのガンマ係数

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

処理後のピクセル値をy、基のピクセル値をxとすると

(1)Bright > 0の場合

(2)Bright < 0の場合

となります。

BrightはYb, Cr, Cbのいずれかになります。Yb, Cr, Cbが0の場合は処理の前後で変化ありません。

Yb, Cr, Cbが＋の場合はレベルが下がり、－の場合はレベルが上がります。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、YCCGammaVariantメソッドをご使用ください。


YCCLevel, YCCLevelVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

YCCLevel, YCCLevelVariant

【機能】

ラスタイメージのYCrCb値の加減処理を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.YCCLevel(x As Long, y As Long, Points As Long, Yb As Long, Cr As Long, Cb As Long)

[ Boolean = ]imagekitcontrolname.Effect.YCCLevelVariant(x As Variant, y As Variant, Yb As Long, Cr As Long, Cb As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().YCCLevel(long *x, long *y, long Points, long Yb, long Cr, long Cb)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.YCCLevel(ByRef x As Integer, ByRef y As Integer, Points As Integer, Yb As Integer, Cr As Integer, Cb As Integer)

[ Boolean = ]imagekitcontrolname.Effect.YCCLevelVariant(ByRef x As Object, ByRef y As Object, Yb As Integer, Cr As Integer, Cb As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.YCCLevel(ref int x, ref int y, int Points, int Yb, int Cr, int Cb)

[ bool = ]imagekitcontrolname.Effect.YCCLevelVariant(ref object x, ref object y, int Yb, int Cr, int Cb)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） YCCLevel (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える YCCLevelVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（YCCLevelのみ）
Yb | 輝度値の加減(-255～255)
Cr | 色相Crの加減(-255～255)
Cb | 色相Cbの加減(-255～255)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Yb, Cr, Cbのそれぞれの値が大きくなると該当する成分が明るくなり、小さくなると該当する成分が暗くなります。

また、Yb, Cr, Cbが0の場合は処理の前後で変化ありません。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、YCCLevelVariantメソッドをご使用ください。


YCCRev, YCCRevVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

YCCRev, YCCRevVariant

【機能】

ラスタイメージのYCrCb値の反転処理を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.YCCRev(x As Long, y As Long, Points As Long, Yb As Boolean, Cr As Boolean, Cb As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.YCCRevVariant(x As Variant, y As Variant, Yb As Boolean, Cr As Boolean, Cb As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().YCCRev(long *x, long *y, long Points, BOOL Yb, BOOL Cr, BOOL Cb)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.YCCRev(ByRef x As Integer, ByRef y As Integer, Points As Integer, Yb As Boolean, Cr As Boolean, Cb As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.YCCRevVariant(ByRef x As Object, ByRef y As Object, Yb As Boolean, Cr As Boolean, Cb As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.YCCRev(ref int x, ref int y, int Points, bool Yb, bool Cr, bool Cb)

[ bool = ]imagekitcontrolname.Effect.YCCRevVariant(ref object x, ref object y, bool Yb, bool Cr, bool Cb)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） YCCRev (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える YCCRevVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（YCCRevのみ）
Yb | 輝度Yの反転（False(0): 反転なし, True(0以外): 反転あり)
Cr | 色相Crの反転（False(0): 反転なし, True(0以外): 反転あり)
Cb | 色相Cbの反転（False(0): 反転なし, True(0以外): 反転あり)

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Yb, Cr, CbをTrueにするとそれぞれのYCrCb値を反転します。

例えば、Ybが255の場合は0となります。（Yb = 255 - Yb）

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。

SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。

1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、YCCRevVariantメソッドをご使用ください。


YCCSpline, YCCSplineVariant（イメージキットコントロール／Effectメソッド）

イメージキットコントロール／Effectメソッド

YCCSpline, YCCSplineVariant

【機能】

ラスタイメージのYCrCb値のスプライン補正を行います。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Effect.YCCSpline(x As Long, y As Long, Points As Long, spx As Long, spy As Long, spPoints As Long, Yb As Boolean, Cr As Boolean, Cb As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.YCCSplineVariant(x As Variant, y As Variant, spx As Variant, spy As Variant, Yb As Boolean, Cr As Boolean, Cb As Boolean)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.GetEffect().YCCSpline(long *x, long *y, long Points, long *spx, long *spy, long spPoints, BOOL Yb, BOOL Cr, BOOL Cb)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Effect.YCCSpline(ByRef x As Integer, ByRef y As Integer, Points As Integer, ByRef spx As Integer, ByRef spy As Integer, spPoints As Integer, Yb As Boolean, Cr As Boolean, Cb As Boolean)

[ Boolean = ]imagekitcontrolname.Effect.YCCSplineVariant(ByRef x As Object, ByRef y As Object, ByRef spx As Object, ByRef spy As Object, Yb As Boolean, Cr As Boolean, Cb As Boolean)

(4)C#.NET

[ bool = ]imagekitcontrolname.Effect.YCCSpline(ref int x, ref int y, int Points, ref int spx, ref int spy, int spPoints, bool Yb, bool Cr, bool Cb)

[ bool = ]imagekitcontrolname.Effect.YCCSplineVariant(ref object x, ref object y, ref object spx, ref object spy, bool Yb, bool Cr, bool Cb)

【引数】

名称 | 内容
x, y | 多角形のx, y座標を指定する配列（座標はピクセル単位） YCCSpline (1)Visual Basic Dim x(0 To 2) As Longの場合は、引数にx(0)を与える (2)Visual C++ 配列の先頭のポインタを渡す (3)VB.NET 引数にx(0)を与える (4)C#.NET 引数にref x[0]を与える YCCSplineVariant Visual Basic/VB.NET Dim x(0 To 2) の場合は、引数にxを与える C#.NET 引数にref xを与える
Points | x, yの配列の数（YCCSplineのみ）
spx, spy | スプラインの通過x, y座標を指定する配列（座標は0～255の間） （値の設定方法は、x, yと同じ）
spPoints | spx, spyの配列の数（3～10が有効、YCCSplineのみ）
Yb | 輝度Yの成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Cr | 色相Crの成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）
Cb | 色相Cbの成分に対して処理を行うかどうかの設定（False(0):しない True(0以外):する）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

入力されたイメージデータのYCrCb値に対してスプライン曲線により変化させることができます。

使い方はイメージキットコントロールのRGBSpline(Variant)メソッドの「使用例」を参照してください。

処理対象となるイメージハンドルをImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティに設定します（1, 4, 8, 16, 24, 32ビットイメージが対象でLayerNoプロパティによって処理されるイメージハンドルが決まります）。必要に応じてマスクイメージのハンドルをMaskImageHandleプロパティに設定します。

マスクハンドルを基に処理を行いたい場合は、SelectModeプロパティに0(ikEffectMask)をMaskImageHandleプロパティに有効な値を設定します。イメージ全体に対して処理を行いたい場合は、SelectModeプロパティに1(ikEffectAll)を設定します。選択した多角形に対して処理を行いたい場合には、SelectModeプロパティに2(ikEffectPolygon)を設定し、引数x, y, Pointsにそれぞれ有効な値を設定します。その場合Pointsに2以上を設定する必要があります。選択した円形に対して処理を行いたい場合には、SelectModeプロパティに3(ikEffectEllipse)を設定しRectLeft, RectTop, RectRight, RectBottomプロパティに有効な値を設定します。SelectModeプロパティが2(ikEffectPolygon)と3(ikEffectEllipse)の場合にはInOutプロパティに値の設定が必要です。SelectModeプロパティが2(ikEffectPolygon)以外の場合には、x, yにダミーの配列を、Pointsには0を与えてください。1, 4, 8ビットイメージの場合は、SelectModeプロパティの値に関わらずイメージ全体に対して処理を行います。

成功した場合、処理後のラスタイメージのメモリハンドルはLayerNoプロパティの示すプロパティ（ImageHandleプロパティもしくはLayer(LayerNo).ImageHandleプロパティ）に設定されます。

Caption, Message, ButtonNameプロパティが空の文字列の場合は、処理中のダイアログボックスは表示されません。ダイアログボックスが表示される場合は、処理進捗状況がゲージ上に％形式で表示されます。

ASPまたはVB.NETやC#.NETにおいてx64でビルドする場合は、YCCSplineVariantメソッドをご使用ください。


Zoom（イメージキットコントロール／PrintDrawプロパティ）

イメージキットコントロール／PrintDrawプロパティ

Zoom

【機能】

印刷結果のスケール時の百分率を取得または設定します。

【書式】

(1)Visual Basic imagekitcontrolname.PrintDraw.Zoom [ = Integer ]

(2)Visual C++ [ short = ]imagekitcontrolname.GetPrintDraw().GetZoom()

imagekitcontrolname.GetPrintDraw().SetZoom(short Val)

(3)VB.NET imagekitcontrolname.PrintDraw.Zoom [ = Short ]

(4)C#.NET imagekitcontrolname.PrintDraw.Zoom [ = short ]

【設定値】

スケール時の百分率(0～100)

【解説】

GetDevModeHandle, GetDevModeInfoメソッドを実行することによりプロパティ値が設定され（その後でプロパティ値を取得）、SetDevModeInfoメソッドを実行することによりプロパティ値を反映させます。

設定値はプリンタドライバに依存します。そのため、設定しても効果がまったくなかったり、異なる設定を行っても印刷結果が同じになることがあります。詳しくはプリンタドライバのマニュアルなどを参照してください。

【値の設定】

実行時

【値の参照】

実行時


Zoom（イメージキットコントロール／カスタムメソッド）

イメージキットコントロール／カスタムメソッド

Zoom

【機能】

指定した矩形領域を拡大もしくは縮小します。

【書式】

(1)Visual Basic

[ Boolean = ]imagekitcontrolname.Zoom(Left As Long, Top As Long, Right As Long, Bottom As Long)

(2)Visual C++

[ BOOL = ]imagekitcontrolname.Zoom(long Left, long Top, long Right, long Bottom)

(3)VB.NET

[ Boolean = ]imagekitcontrolname.Zoom(Left As Integer, Top As Integer, Right As Integer, Bottom As Integer)

(4)C#.NET

[ bool = ]imagekitcontrolname.Zoom(int Left, int Top, int Right, int Bottom)

【引数】

名称 | 内容
Left | 対象となる矩形の左位置（ピクセル）
Top | 対象となる矩形の上位置（ピクセル）
Right | 対象となる矩形の右位置（ピクセル）
Bottom | 対象となる矩形の下位置（ピクセル）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

イメージキットコントロールのサイズに合わせて、指定した矩形内でアスペクト比を保持しながら拡大もしくは縮小します。また、実寸表示以外の場合は無効です。メソッド実行後、DispScaleX, DispScaleYプロパティは更新されます。


ImageKit10 ActiveX コントロールリファレンス

イメージ処理コンポーネント

ImageKit10

ActiveX