ニュートン メニュー

株式会社ニュートン

マイクロソフトパートナー

YouTube公式チャンネル

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド

オンラインショップ
直販ショップ !
ニュートンストアで購入
コンポーネントソース
コンポーネントソースで購入

優待販売・
 キャンペーン情報

ユーザサービス
〔サポートページ〕

サポート体制

お知らせ
・ニュースリリース
・イベント出展
・製品関連記事

会社概要

個人情報保護方針

お問い合わせ先

 
ニュートンホーム Q&A
ImageKit7 ActiveX

イメージ処理コンポーネント
ImageKit®7 ActiveX

このページは、ImageKit7 ActiveX関連のユーザ様より寄せられたご質問の一部とその回答を掲載しております。


【ImageKit7 ActiveX Q&A索引】

該当する「QNo.」をクリックするとその回答へ移動します。

QNo.

Q.質問

日付
42

Q.64ビットOSで運用できますか?

2010/03/05
41

Q.TIFFのJPEG形式で読込できないファイルと読込できるファイルの違いは何ですか?

2009/06/12
40

Q.画像を左右反転もしくは上下反転するにはどうすればよいですか?

2009/02/24
39

Q.Visual Studio .NET のマネージドコードで作成したアプリケーションを配布したのですが、Pictureプロパティを参照する部分が正しく動作しません。どうすればよいですか?

2008/10/15
38

Q.Visual C++ .NET 2003/2005/2008でImageKitのコントロールをMFCで使用するにはどうすればよいですか?

2008/10/15
37

Q.画像のメモリハンドルに対して複数の図形やテキストを描画すると処理に時間がかかります。時間を短縮するにはどうすればよいですか?

2008/08/28
36

Q.ビット数が8以下(白黒2値、16色、256色)の画像のメモリハンドルに図形やテキストを描画したいのですが、指定できる色に制限はありますか?

2008/08/28
35

Q.開発者作成UIを使用してスキャナから用紙の複数の領域を読み取るにはどうすればよいですか?

2008/07/16
34

Q.開発者作成UIを使用してスキャナの用紙の自動検知機能を使用したいのですが、どうすればよいですか?

2008/07/16
33

Q.Layerプロパティに4ビットカラー(16色)のイメージを設定して透過表示を 行いたいのですが、上手くいきません。どうすればよいですか?

2008/06/24
32

Q.文字間(CharExtra>0)を設定してDrawTextメソッド(DLLはIKDrawtext関数)を実行すると、文字が重なることがあります。どうすればよいですか?

2008/06/24
31

Q.開発者作成UIを使用してスキャナから用紙の一部を読み取るにはどうすればよいですか?

2008/02/20
30

Q.WebサーバにCABファイルを配置し、クライアントPCからダウンロードするとIEが強制終了されるのですが、どうすればよいですか?

2007/10/12
29

Q.SVGの圧縮形式に対応していますか?

2007/07/25
28

Q.マルチTiffファイルから特定のページを削除したいのですが、どうすればよいですか?

2007/06/22
27

Q.TWAINの標準Capabilityだけではなく各社独自のCustom Capabilitiyもサポートしていますか?

2007/04/20
2008/08/08
26

Q.対応しているSXFのバージョンはいくつでしょうか?

2007/04/05
25

Q.イメージ編集ツールバーではアンドゥ(Undo)が可能ですが、リドゥ(Redo)も可能ですか?

2007/04/05
24

Q.イメージ編集ツールバーのポップアップメニューのコマンドをコードから実行することはできますか?

2007/04/05
23

Q.イメージ編集ツールバーを使用せずに、コードからベクトルイメージを編集したいのですが可能ですか?

2007/04/05
22

Q.Visual C++で実行時にコントロールのサイズを変更するにはどうするのですか?

2007/03/30
21

Q.イメージキットコントロールのLayerイメージ(ラスタ)のメモリハンドルにテキストなどを描画してもコントロールに表示されないのですが?

2007/02/01
20

Q.マルチTiffファイルを作成するにはどうすればよいですか?

2006/09/29
19

Q.サムネイルコントロールのサムネイル画像1個の大きさはどのように決まるのですか?

2006/09/05
18

Q.画像の縦横のピクセルからインチもしくはセンチメートルに換算するにはどうすればよいですか?

2006/08/28
17

Q.印刷ダイアログを表示する際に[ページ指定]を有効にするにはどうすればよいですか?

2006/08/28
16

Q.サムネイルコントロールでExif形式のファイルを参照する場合、Exifに含まれるサムネイル画像を利用しているのでしょうか?

2006/08/22
15

Q.開発環境では正しく動作しますが、配布環境では特定のファイル形式が利用できません。どうすればよいですか?

2006/08/22
14

Q.Windows XP以前にリリースされたOSでベクトルデータの読み込み・保存および描画・印刷系コマンドが正しく動作しません。どうしてでしょうか?

2006/08/10
13

Q.イメージキットコントロールのLayerプロパティに設定されたラスタイメージをイメージ編集ツールバーで編集できますか?

2006/07/18
12

Q.DelphiもしくはC++Builderを使用して、スキャンデバイスからプレビュー(もしくは取り込み)を行うと、機種やドライバのバージョンによっては「不正な浮動小数点演算命令」が発生します。どうすればよいですか?

2006/07/05
11

Q.プリンタ選択型コモンダイアログを表示しないで、指定したプリンタに出力するにはどうすればよいですか?

2006/06/29
10

Q.設定した用紙サイズいっぱいに画像を印刷するにはどうすればよいですか?

2006/06/29
9

Q.イメージキットコントロールでExifファイルの名称を設定して(あるいはRawデータを読み込んで)File.GetImageFileType(Mem)メソッドを実行してもExif情報が取得できないのですが?

2006/03/14
8

Q.ラスタイメージをベクトルイメージに変換し、DXF以外の形式でファイルに保存したいのですが上手くいきません。どうしてでしょうか?

2006/03/14
7

Q.Visual C++ 6用のActiveXのサンプルを使用して画像をロードしても何も表示されません。どうしてでしょうか?

2006/02/15
6

Q.JPEG形式でファイルに保存しようとしているのですが上手くいきません。どうしてでしょうか?

2005/12/16
5

Q.ActiveXコントロールで利用する場合にもDLLファイルが必要ですか?

2005/12/16
4

Q.サムネイルコントロールに表示されているイメージの総数を取得したいのですが?

2005/12/16
3

Q.DLLのDispサンプルでベクトルイメージファイルをファイルオープンダイアログでプレビューしたり読み込むとエラーが発生します。どうすればよいですか?

2005/12/05
2

Q.DLLのサンプルを実行するとメモリ読込違反などのエラーが発生するのですが?

2005/12/05
1

Q.ImageKit5やImageKit6で提供されていたコモンコントロールやディスプレイコントロールなどの互換コントロールはどうやって使用するのですか?

2005/12/05

【ImageKit7 ActiveX Q&A一覧】

QNo.

Q.質問

日付

A.回答

42

Q.64ビットOSで運用できますか?

2010/03/05

A.はい、32 ビットアプリケーションとして運用できます。
ただし、VS2005や2008でアプリケーションを開発される場合はプラットフォームターゲットを「x86」にしてビルドする必要があります(「Any CPU」でビルドすると64ビットOSでは動作いたしません)。

41

Q.TIFFのJPEG形式で読込できないファイルと読込できるファイルの違いは何ですか?

2009/06/12

A.Compressionタグが6(古い形式)の場合は読込できませんが、Compressionタグが7(新しい形式)の場合は読込可能です。
http://www.weblio.jp/content/Tagged+Image+File+FormatJPEG圧縮に簡単な説明がありますのでご覧ください。

40

Q.画像を左右反転もしくは上下反転するにはどうすればよいですか?

2009/02/24

A.Effect.Rotationメソッド(DLLはIKRotation/IKRotationEx関数)を使用します。引数のAngleを0にし、TurnX をtrueにすると左右反転、TurnYをtrueにすると上下反転になります。TurnX,TurnYを両方trueにすると上下左右反転となります。

39

Q.Visual Studio .NET のマネージドコードで作成したアプリケーションを配布したのですが、Pictureプロパティを参照する部分が正しく動作しません。どうすればよいですか?

2008/10/15

A.stdole.dll(Primary Interop Assembly)を一緒に配布してください。

38

Q.Visual C++ .NET 2003/2005/2008でImageKitのコントロールをMFCで使用するにはどうすればよいですか?

2008/10/15

A.次のテキストファイルを参考にしてください。
Ik7Ax_MFCApplication.txt

37

Q.画像のメモリハンドルに対して複数の図形やテキストを描画すると処理に時間がかかります。時間を短縮するにはどうすればよいですか?

2008/08/28

A.1つの画像に複数の図形やテキストを描画する場合は、PrintDrawのメソッドでメモリハンドルに描画するのではなく、ImageHdcプロパティを使用(編集状態にする)して、そちらに描画してください。 また、確定する際にはEdit.Modifyメソッドを実行してください。
DLLをお使いの場合は編集機能がないため、処理時間を短縮する方法はありません。

36

Q.ビット数が8以下(白黒2値、16色、256色)の画像のメモリハンドルに図形やテキストを描画したいのですが、指定できる色に制限はありますか?

2008/08/28

A.使用するパレットの色で描画する必要があります。 画像の使用パレット色はGetPaletteメソッド(DLLはIKGetPalette関数)で取得できます。

35

Q.開発者作成UIを使用してスキャナから用紙の複数の領域を読み取るにはどうすればよいですか?

2008/07/16

A.一回のスキャンでは複数の領域を読み取ることができないため、複数回スキャンを実行してください。

例:原稿台の用紙を連続でスキャンする
Visual Basic
 Dim Index(0 To 2) As Long

 If ImageKit1.Scan.Initialize(hWnd, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit7 Scan Sample") = False Then Exit Sub
 ImageKit1.Scan.ClearProperty
 ImageKit1.Scan.DsName = "xxxxxxx" 'データソースの名称
 If ImageKit1.Scan.OpenDS = False Then
  ImageKit1.Scan.Terminate
  Exit Sub
 End If

 ImageKit1.Scan.TransferMode = 2
 ImageKit1.Scan.Compression = 0
 ImageKit1.Scan.UiMode = 2
 ImageKit1.Scan.ScanMode = 0
 ImageKit1.Scan.UnitMode = 0
 ImageKit1.Scan.PaperSize = 0 'あるいは負の値

 '1箇所目
 '読み取り領域を設定
 ImageKit1.Scan.RectLeft = 0
 ImageKit1.Scan.RectTop = 0
 ImageKit1.Scan.RectRight = 1
 ImageKit1.Scan.RectBottom = 1
 '他に必要な項目を設定
 ImageKit1.Scan.Exec(Index(0))

 '2箇所目
 '読み取り領域を設定
 ImageKit1.Scan.RectLeft = 3
 ImageKit1.Scan.RectTop = 3
 ImageKit1.Scan.RectRight = 4
 ImageKit1.Scan.RectBottom = 4
 '他に必要な項目を設定
 ImageKit1.Scan.Exec(Index(0))

 ImageKit1.Scan.CloseDS
 ImageKit1.Scan.Terminate

AfterScanイベントにもコードを記述してください(DLLはユーザ関数)。QNo.31も参照してください。
ADFの場合、同一用紙を連続でスキャンすることができませんので、再度用紙をADFに置いてからスキャンを実行してください。

34

Q.開発者作成UIを使用してスキャナの用紙の自動検知機能を使用したいのですが、どうすればよいですか?

2008/07/16

A.データソースが用紙の自動検知機能(未定義サイズ)をサポートしているのか確認してください。ActiveXであればIsCapSupportedメソッド、DLLであればIKIsCapSupported関数で確認できます。
データソースが機能をサポートしている場合は、PaperSizeに1000を設定するだけではなくBorderDetectionにTrue(DLLは0以外)を設定してお試しください。データソースによってはBorderDetectionの値に関係なく動作するものもあります。

33

Q.Layerプロパティに4ビットカラー(16色)のイメージを設定して透過表示を 行いたいのですが、上手くいきません。どうすればよいですか?

2008/06/24

A.色数が少ないためパレットによっては透過表示が有効にならない場合があります。ConvertColorを使用して8ビットカラーに増色してお試しください。

32

Q.文字間(CharExtra>0)を設定してDrawTextメソッド(DLLはIKDrawtext関数)を実行すると、文字が重なることがあります。どうすればよいですか?

2008/06/24

A.DrawTextの代わりにTextOutメソッド(DLLはIKTextOut関数)をご利用ください。

31

Q.開発者作成UIを使用してスキャナから用紙の一部を読み取るにはどうすればよいですか?

2008/02/20

A.
(1)データソースが定型サイズをサポートしている場合
読み取り領域を設定し、PaperSizeに0もしくは負の値(用紙がA4なら-1)を設定してください。DLLでVisual Basic以外の言語をお使いの場合は、負の値を型キャストして設定してください。
(2)データソースが定型サイズをサポートしていない場合
読み取り領域を設定し、PaperSizeに0を設定してください。

詳しくはヘルプやPDFリファレンスのPaperSizeの解説をご覧ください。データソースがサポートしている用紙サイズはActiveXであればScan.GetCapEnumメソッド、DLLであればIKScanGetCapEnum関数で取得できます。

30

Q.WebサーバにCABファイルを配置し、クライアントPCからダウンロードするとIEが強制終了されるのですが、どうすればよいですか?

2007/10/12

A.IEに「Google ツールバー」をインストールされていませんか? インストールされている場合は「Google ツールバー」の「Popup Blocker」オプションを解除して再度実行してください。

29

Q.SVGの圧縮形式に対応していますか?

2007/07/25

A.対応しておりません。

28

Q.マルチTiffファイルから特定のページを削除したいのですが、どうすればよいですか?

2007/06/22

A.指定したページを削除する機能はありませんので、テンポラリファイルを作成し必要なページを順々に保存していきます。

例: 3ページ目を削除する
Visual Basic
 Dim I As Integer
 Dim SaveType As Long

 ImageKit2.File.FileName = App.Path + "\temp.tif" 'テンポラリファイル名
 ImageKit2.File.TiffAppend = True 'マルチTiff

 ImageKit1.LayerNo = -1   
 ImageKit1.File.FileName = App.Path + "\abc.tif" 'ファイル名
 If ImageKit1.File.GetImageFileType() = False Then Exit Sub
 SaveType = ImageKit1.File.FileType - 3 'SaveFileメソッド用に変更(同じ形式で保存)

 For I = 1 To ImageKit1.File.FileMaxPage
   If I <> 3 Then 
     ImageKit1.File.LoadPage = I - 1   
     ImageKit1.File.LoadFile (ikLoad)
   
     ImageKit2.File.SaveFile SaveType, ImageKit1.ImageHandle
 
   End If  
 Next I
 Kill ImageKit1.File.FileName 'ファイル削除
 Name ImageKit2.File.FileName As ImageKit1.File.FileName 'ファイル名変更

27

Q.TWAINの標準Capabilityだけではなく各社独自のCustom Capabilitiyもサポートしていますか?

2007/04/20
2008/08/08

A.エプソン、パナソニック、キヤノンの3つのメーカのいくつかのCustom Capabilitiyをサポートしています。

(1)エプソン
・拡張UIモード(全自動、ホーム、オフィス、プロフェッショナルなど)
・ADF使用時の裏面回転(裏面の向きを表面に合わせる)
・読み取り速度
・アンシャープマスク
・モアレ除去
・自動用紙検知
(2)パナソニック
・白黒/カラー自動判別
・ダイナミックスレッシュホールド
・読み取り速度
・画質
・デスキュースムージング
(3)キヤノン
(DRスキャナ)
・ドロップアウトカラー
・自動用紙検知
・モアレ除去 (FixNo.29で対応)
・カラー白黒検知 (FixNo.29で対応)
・画像の回転 (FixNo.29で対応)

キヤノンのDRスキャナをご利用の場合はFixNo.15以降のモジュールをご利用ください。
キヤノンのDRスキャナをご利用の場合はFixNo.29以降のモジュールをご利用ください。

26

Q.対応しているSXFのバージョンはいくつでしょうか?

2007/04/05

A.バージョン3のレベル2ですが、すべての項目に対応しているわけではありません。ハッチングなどは未対応です。

25

Q.イメージ編集ツールバーではアンドゥ(Undo)が可能ですが、リドゥ(Redo)も可能ですか?

2007/04/05

A.リドゥはできません。

24

Q.イメージ編集ツールバーのポップアップメニューのコマンドをコードから実行することはできますか?

2007/04/05

A.ポップアップメニューのコマンドを公開していないため、コードから実行することはできません。

23

Q.イメージ編集ツールバーを使用せずに、コードからベクトルイメージを編集したいのですが可能ですか?

2007/04/05

A.ベクトルイメージに関する描画コマンドを公開していないため、コードから直接編集することはできません。

22

Q.Visual C++で実行時にコントロールのサイズを変更するにはどうするのですか?

2007/03/30

A.次の例を参考にしてください。

例:イメージキットコントロールのサイズを変更する場合
CRect rc;
m_ImageKit.GetWindowRect(rc);
ScreenToClient(rc);
rc.right += (int)(rc.Width() * 0.5);
rc.bottom += (int)(rc.Height() * 0.5);
m_ImageKit.MoveWindow(rc, TRUE);

21

Q.イメージキットコントロールのLayerイメージ(ラスタ)のメモリハンドルにテキストなどを描画してもコントロールに表示されないのですが?

2007/02/01

A.Layerイメージ(ラスタ)の場合、LayerのImageHandleプロパティにメモリハンドルを設定した段階で透過情報を考慮するため、その後で描画してもコントロールには描画されません(メモリハンドルの内容は更新されています)。
そのため、LayerのTransparentプロパティをFalseに設定してから描画するか、一度メモリハンドルを変数に設定してから描画を行い、その値をImageHandleプロパティに設定してください。

例:
Visual Basic
(1)TransparentプロパティをFalseに設定する場合

Dim Ret As Boolean

'既にLayerイメージ(ラスタ)が設定済みであることを前提に記述しています。
ImageKit1.Layer(0).Transparent = False '一度Falseに切り替えます
ImageKit1.PrintDraw.ClearProperty
ImageKit1.PrintDraw.FontName = "MS Pゴシック"
ImageKit1.PrintDraw.TextForeColor = RGB(255, 0, 0)
ImageKit1.PrintDraw.FontSize = 10
ImageKit1.PrintDraw.FontBold = True
ImageKit1.PrintDraw.FontItalic = True
ImageKit1.PrintDraw.Transparent = True
ImageKit1.PrintDraw.Text = "テキスト"
Ret = ImageKit1.PrintDraw.TextOut(ImageKit1.Layer(0).ImageHandle, 20, 20, ikMemoryHandle)
ImageKit1.Layer(0).Transparent = True '再度Trueを設定
ImageKit1.Refresh
(2)変数に代入する場合
Dim ImageHandle As Long
Dim Ret As Boolean

'既にLayerイメージ(ラスタ)が設定済みであることを前提に記述しています。
ImageHandle = ImageKit1.Layer(0).ImageHandle 'ロードした画像

ImageKit1.PrintDraw.ClearProperty
ImageKit1.PrintDraw.FontName = "MS Pゴシック"
ImageKit1.PrintDraw.TextForeColor = RGB(255, 0, 0)
ImageKit1.PrintDraw.FontSize = 10
ImageKit1.PrintDraw.FontBold = True
ImageKit1.PrintDraw.FontItalic = True
ImageKit1.PrintDraw.Transparent = True
ImageKit1.PrintDraw.Text = "テキスト"
Ret = ImageKit1.PrintDraw.TextOut(ImageHandle, 20, 20, ikMemoryHandle)
ImageKit1.Layer(0).ImageHandle = ImageHande 'テキストを追加した画像
ImageKit1.Refresh

20

Q.マルチTiffファイルを作成するにはどうすればよいですか?

2006/09/29

A.次の例を参考にしてください。

1.スキャナおよびデジタルカメラから取得した画像を保存する場合
 Dim Ret As Boolean
 ImageKit1.File.FileName = "abc.tif" 'ファイル名
 ImageKit1.File.TiffAppend = True 'マルチTiff

 ImageKit1.Scan.TransferMode = ikScanMemory 'or ikScanNative
 Ret = ImageKit1.Scan.Exec(...)  'スキャン

 '読み取りイベント
 Private Sub ImageKit1_AfterScan(ByVal DibHandle As Long, ByVal OrgHandle As  Long, ByVal ImageCount As Long, ByVal BitOrder As Integer)
   ImageKit1.File.SaveFile ikSaveTIFFNoncompressed, DibHandle
 
 End Sub

※データソースがファイル転送かつマルチTiff形式をサポートしている場合はFileクラスを使用せずにScanクラスのプロパティを設定するだけでマルチTiffファイルを作成することができます。

2.複数の画像ファイルを1つのファイルに保存する場合
 Dim I As Integer
 ImageKit2.File.FileName = "abc.tif" 'ファイル名
 ImageKit2.File.TiffAppend = True 'マルチTiff

 ImageKit1.LayerNo = -1   
 ImageKit1.File.LoadPage = 0   

 '001.jpg ... 005.jpgを1つにまとめる
 For I = 1 To 5
   ImageKit1.File.FileName = Format$(I, "000") & ".jpg" 'ファイル名
   ImageKit1.File.LoadFile (ikLoad)
   
   ImageKit2.File.SaveFile ikSaveTIFFNoncompressed, ImageKit1.ImageHandle
 
 Next I

19

Q.サムネイルコントロールのサムネイル画像1個の大きさはどのように決まるのですか?

2006/09/05

A.表示するサムネイル画像の縦方向の数と横方向の数で決まります。そのため、サムネイルコントロールの大きさが同じであれば、サムネイルの行数と列数が少ない方が描画エリアは相対的に大きくなります。実際にはImageSizeプロパティとサムネイルのコマの大きさにより描画されるサイズが決まります。

18

Q.画像の縦横のピクセルからインチもしくはセンチメートルに換算するにはどうすればよいですか?

2006/08/28

A.次の例を参考にしてください。

ActiveXの例(VB):
 ImageKit1.LayerNo = -1
 ImageKit1.File.FileName = "abc.tif" 'ファイル名
 If ImageKit1.File.LoadFile(ikLoad) = False Then Exit Sub

 Dim inchX As Single, inchY As Single
 Dim cmX As Single, cmY As Single

 If ImageKit1.Xdpi <> 0 Then
   'インチ
   inchX = ImageKit1.ImageWidth / ImageKit1.Xdpi
   'センチメートル
   cmX =inchX * 2.54
 End If
 If ImageKit1.Ydpi <> 0 Then
   'インチ
   inchY = ImageKit1.ImageHeight / ImageKit1.Ydpi
   'センチメートル
   cmY = inchY * 2.54
 End If

17

Q.印刷ダイアログを表示する際に[ページ指定]を有効にするにはどうすればよいですか?

2006/08/28

A.次の例を参考にしてください(詳しくはヘルプなどを参照のこと)。

ActiveXの例(VB):
 Dim Ret As Boolean
 ImageKit1.PrintDraw.PrintRange = 2
 ImageKit1.PrintDraw.MinPage = 1
 ImageKit1.PrintDraw.MaxPage = 3
 ImageKit1.PrintDraw.FromPage = 1
 ImageKit1.PrintDraw.ToPage = 3
 Ret = ImageKit1.PrintDraw.PrintDialog()


※MinPageとMaxPageプロパティが共に1の場合は、[ページ指定]は有効になりません。

16

Q.サムネイルコントロールでExif形式のファイルを参照する場合、Exifに含まれるサムネイル画像を利用しているのでしょうか?

2006/08/22

A.ImageSizeプロパティの値がExifに含まれるサムネイル画像の縦と横のピクセルよりも小さい場合は、Exif内のサムネイル画像を利用しております。

15

Q.開発環境では正しく動作しますが、配布環境では特定のファイル形式が利用できません。どうすればよいですか?

2006/08/22

A.配布環境にそのファイル形式を利用する"Ik7***.dll"(***はファイル形式)が存在するかどうか確認し、存在しない場合は該当ファイルをコピーしてください。

1.ActiveXをご利用の場合
ocxファイルと同じフォルダに該当するdllファイルが存在するか?
2.DLLをご利用の場合
exeファイルと同じフォルダ、もしくはパスの通ったフォルダに該当するdllファイルが存在するか?

14

Q.Windows XP以前にリリースされたOSでベクトルデータの読み込み・保存および描画・印刷系コマンドが正しく動作しません。どうしてでしょうか?

2006/08/10

A.gdiplus.dllがWindowsのシステムフォルダやパスの通ったフォルダ、もしくは実行ファイル(exe)と同じフォルダに存在しないと正しく動作いたしません。お手数ですが、上記のいずれかのフォルダにgdiplus.dllをコピーしてください。

13

Q.イメージキットコントロールのLayerプロパティに設定されたラスタイメージをイメージ編集ツールバーで編集できますか?

2006/07/18

A.できません。PrinDrawプロパティのメソッドを利用してテキストや図形を描画してください。ただし、スタンプやエアブラシの機能はPritDrawには実装されておりません。

12

Q.DelphiもしくはC++Builderを使用して、スキャンデバイスからプレビュー(もしくは取り込み)を行うと、機種やドライバのバージョンによっては「不正な浮動小数点演算命令」が発生します。どうすればよいですか?

2006/07/05

A.Visual BasicやVisual C++をお持ちの方は、製品に付属のサンプルで同じように動作を確認してください。この段階でエラーが発生しない場合、TWAINドライバの不具合が考えられますので、新しいバージョンのTWAINドライバを適用してください。
それでも現象が再現する場合は、FPU例外を無効にしてお試しください。

例(Delphi):
var
  Saved8087CW: Word;

  Saved8087CW := Default8087CW;
  Set8087CW($133f);
  ImageKit1.Scan.Exec(...); //DLLはIKScanExec(...)
  Set8087CW(Saved8087CW);

11

Q.プリンタ選択型コモンダイアログを表示しないで、プリンタに出力するにはどうすればよいですか?

2006/06/29

A.次の例を参考にしてください(詳しくはヘルプなどを参照のこと)。

1.通常使うプリンタに出力
 Dim Ret As Boolean
 ImageKit1.PrintDraw.PrintFileName = "Default"
 Ret = ImageKit1.PrintDraw.PrintCreateDC(ikPrintFileName)
 If Ret = False Then Exit Sub
 '印刷処理・・・・


2.指定したプリンタに出力
 Dim Ret As Boolean
 'PrinterNameプロパティにはEnumPrintersメソッドで取得したプリンタの名称を設定
 ImageKit1.PrintDraw.PrinterName = "xxxxxx"
 Ret = ImageKit1.PrintDraw.PrintCreateDC(ikPrinterName)
 If Ret = False Then Exit Sub
 '印刷処理・・・・

1,2に関わらず印刷条件を変更して出力する場合は、GetDevModeHandleでDEVMODE構造体のハンドルを取得し、SetDevModeInfoで条件を設定した後にPrintCreateDCを実行します。プリントコントロールやDLLで使用する場合はSetDevModeInfoを実行する前にGetDevModeInfoを実行する必要があります(DLLは先頭にIKを付加)。

10

Q.設定した用紙サイズいっぱいに画像を印刷するにはどうすればよいですか?

2006/06/29

A.GetPaperSizeで有効印字領域を取得し、ImageOutで出力します。

ActiveXの例(VB):
Dim Ret As Boolean
Dim Left As Long
Dim Top As Long
Dim Right As Long
Dim Bottom As Long
Dim Width As Long
Dim Height As Long
'用紙サイズ及び印字有効領域を取得
Ret = ImageKit1.PrintDraw.GetPaperSize(hDC, Left, Top, Right, Bottom, Width, Height, ikPrinter)
'有効領域いっぱいに印字
Ret = ImageKit1.PrintDraw.ImageOut(hDC, ImgHandle, 0, 0, Right - Left, Bottom - Top, False, True,
ikPrinter)
DLLの例(VB):
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)

9

Q.イメージキットコントロールでExifファイルの名称を設定して(あるいはRawデータを読み込んで)File.GetImageFileType(Mem)メソッドを実行してもExif情報が取得できないのですが?

2006/03/14

A.プロパティのアクセス部分に不具合がありました。2006/03/13付け公開モジュールで対応しておりますので、そちらをご利用ください。

8

Q.ラスタイメージをベクトルイメージに変換し、DXF以外の形式でファイルに保存したいのですが上手くいきません。どうしてでしょうか?

2006/03/14

A.2006/03/13付け公開モジュールでDXF以外の形式でも保存できるようになりましたので、そちらをご利用ください。

7

Q.Visual C++ 6用のActiveXのサンプルを使用してファイルをロードしても何も表示されません。どうしてでしょうか?

2006/02/15

A.サンプルの不備が原因です。次の手順を実行するか、最新モジュールダウンロードのページからサンプルをダウンロードしてください。

手順:
1.プロジェクト内の次のファイルを削除。
edit.cpp,edit.h
effect.cpp,effect.h
exif.cpp,exif.h
file.cpp,file.h
imagekit.cpp,imagekit.h
layer.cpp,layer.h
magnifier.cpp,magnifier.h
panwindow.cpp,panwindow.h
picture.cpp,picture.h
printdraw.cpp,printdraw.h
scan.cpp,scan.h
vector.cpp,vector.h
2.Visual C++ 6の「プロジェクト」メニューから「プロジェクトへ追加」、
「コンポーネント及びコントロール」を順に選択し、「コンポーネントおよびコントロールギャラリ」から「Registered ActiveX Controls」を選択。最後に「ImageKit7 ActiveX Control」を選択し挿入。
3.プロジェクトをビルド。

6

Q.JPEG形式でファイルに保存しようとしているのですが上手くいきません。どうしてでしょうか?

2005/12/16

A.JPEGとして保存できるのは8ビットグレースケールと24ビットカラーのイメージが対象です。それ以外のイメージの場合は一度該当する色数に変換してから保存する必要があります(詳しくはリファレンスやヘルプを参照のこと)。

5

Q.ActiveXコントロールで利用する場合にもDLLファイルが必要ですか?

2005/12/16

A.必要です。必要なDLLファイルについてはコントロールリファレンス(ImgKit7AxCtl.pdf)の「作成したアプリケーションの配布」のページをご覧ください。なお、DLLファイルが存在しない場合はメソッドの実行に失敗します。

4

Q.サムネイルコントロールに表示されているイメージの総数を取得したいのですが?

2005/12/16

A.ShowThumbImageイベントの引数MaxImageを参照してください。

3

Q.DLLのDispサンプルでベクトルイメージファイルをファイルオープンダイアログでプレビューしたり読み込むとエラーが発生します。どうすればよいですか?

2005/12/05

A.ベクトルイメージファイルをファイルオープンダイアログでプレビューしたり読み込む場合は、事前にIKVectGdipStart関数(Ik7VectCom.dll)を実行する必要があります(終了時はIKVectGdipEnd関数を実行)。コードを追加してお試しください。

2

Q.DLLのサンプルを実行するとメモリ読込違反などのエラーが発生するのですが?

2005/12/05

A.ImageKit7 ActiveXをインストールしたフォルダの階層化にあるProduct\SystemフォルダのDLLファイルをパスの通ったフォルダもしくはサンプルと同じフォルダにコピーしてください。
※同様な記述がプログラミングガイド(ImgKit7Ax.pdf)の「インストール」のページにもあります。

1

Q.ImageKit5やImageKit6で提供されていたコモンコントロールやディスプレイコントロールなどの互換コントロールはどうやって使用するのですか?

2005/12/05

A.ImageKit7 ActiveXをインストールしただけでは互換コントロールはレジストリへは登録されません。ImageKit76.ocxを手動でレジストリに登録し、その後で開発環境に組み込んでください。なお、ImageKit76.ocxと同じフォルダにImageKit7のdllファイルも配置してください。

Copyright (C) NEWTONE Corporation. All rights reserved.