ニュートン メニュー

株式会社ニュートン

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

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド









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

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

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

サポート体制

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

会社概要

個人情報保護方針

お問い合わせ先

SSL GMOグローバルサインのサイトシール

ニュートンホーム Q&A
ImageKit WPF

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

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


【ImageKit WPF Q&A 一覧】

QNo.

Q.質問 日付
A.回答
8

Q. Administrator 権限を持つユーザアカウントで Windows にログインしている場合に、ImageKit のライセンス認証が正しく完了しているのに、開発環境で ImageKit コントロールなどを貼り付けようとすると「ライセンスが無効」のエラーが発生します。

2018/06/05

A. ImageKit WPF では、ライセンス認証とは別に、製品版としての情報をインストール時にレジストリに書き込んでいます。ところが、一般ユーザアカウントで Administrator 権限を付与してもレジストリに情報を書き込むことはできないため、当該のエラーが発生します。
従ってこの場合は、ImageKit WPF のインストールも管理者として行ってください。
具体的には、Setup.exe を右クリックして「管理者として実行」でインストールするか、ImageKitWPF.msi を使用される場合は、コマンドラインから「管理者用インストール オプション」を使用してインストールしてください。構文は以下のとおりです。
msiexec /i ImageKitWPF.msi

(※開発時には、開発環境も管理者として起動してください。)
 

7

Q. 描画済みのアノテーションオブジェクトの情報を、コードで取得したり編集したりすることは可能でしょうか? / オブジェクトを右クリックして「プロパティ」から表示されるダイアログボックスで内容変更するのと同様のことをコードで実現できますか?

2017/11/20

A. 可能です。
単独選択されたオブジェクトの諸情報が「ImageKit.Edit.SelectedObject〜」という各プロパティで取得・設定が可能ですので、以下のコード例のように、オブジェクトを順次選択し、選択されたオブジェクトの各情報の条件によって必要な処理をする、といった方法で実現可能です。

※例:オブジェクトの種類が直線なら色を青に変える

VB.NET :
 For i As Integer = 1 To imageKit1.Edit.NumberOfObjects
   imageKit1.Edit.SelectObject(i)
   If imageKit1.Edit.SelectedObjectKind = Newtone.ImageKit.Win.KindOfEdit.Line Then
     imageKit1.Edit.SelectedObjectForeColor = Colors.Blue
   End If
   imageKit1.Edit.DeselectObjects()
 Next


C# :
 for (int i = 1; i <= imageKit1.Edit.NumberOfObjects; i++)
 {
   imageKit1.Edit.SelectObject(i);
   if (imageKit1.Edit.SelectedObjectKind == KindOfEdit.Line)
     imageKit1.Edit.SelectedObjectForeColor = Colors.Blue;
   imageKit1.Edit.DeselectObjects();
 }

 

6

Q. ImageKit WPF を利用したアプリケーションが、インターネットに繋がっていない環境だと、起動するのにかなり時間がかかってしまいます。回避策はありますか?

2017/11/20

A. ImageKit WPF のアセンブリ (dll) にはデジタル署名を付加しているので、アプリケーションが使用するアセンブリの有効性を確認するために CRL(「証明書失効リスト」)のダウンロード処理を行います。
インターネットに接続していない環境でアプリケーションの起動が遅くなるのは、タイムアウトになるまで CRL のダウンロードを繰り返し試みてしまうことが原因です。

インターネットに接続していないマシンで使用する場合の回避方法として、以下の手順により CRL のダウンロードを実行しないように設定してください。 (CRL をダウンロードしない場合でも ImageKit WPF を利用することは可能です。)

  1. [コントロール パネル] - [インターネット オプション] を実行します。
  2. [インターネットのプロパティ] ダイアログで [詳細設定] タブ を選択します。
  3. [発行元証明書の取り消しを確認する] のチェックボックスをオフします。

また、アプリケーション名 .exe.config に以下の行を追加することにより、アプリケーション開始時の署名検証を無効にすることもできます。

<configuration>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
</configuration>
 
製品にはデジタル署名なしのアセンブリ(dll)も含まれておりますので、そちらを使用する方法もあります。

5

Q. 64ビットアプリケーションで TWAIN を利用できますか?

2017/11/20

A. はい、アプリケーションを[Any CPU]または[x64]でビルドし、64ビットのスキャナドライバを使用すれば可能です。

4

Q. Visual Studioのデバッグモードでエフェクト処理やスキャン処理を実行すると、EXE単独の実行に比べて処理時間がかなり遅くなります。どうすればよいですか?

2017/11/20

A. マネージデバッグアシスタント(MDA)を無効化してください。詳しくは下記を参照してください。
http://msdn.microsoft.com/ja-jp/library/d21c150d.aspx

3

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

2017/11/20

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

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

ImageKit1.Scan.Transfer = Newtone.ImageKit.ScanTransfer.Memory 'or Newtone.ImageKit.ScanTransfer.Native
Ret = ImageKit1.Scan.Execute() 'スキャン

'読み取りイベント
Private Sub ImageKit1_AfterScan(ByVal sender As Object, ByVal e As Newtone.ImageKit.AfterScanEventArgs) Handles ImageKit1.AfterScan
'下記のいずれかを実行
  '最後のページに追加
  ImageKit1.File.AppendTiffImage(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1)
  '3ページ目に挿入
  ImageKit1.File.InsertPageIntoMultipageTiff(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1, 3)
End Sub


C# :
bool Ret;
imageKit1.File.FileName = "abc.tif"; //ファイル名

imageKit1.Scan.Transfer = Newtone.ImageKit.ScanTransfer.Memory //or Newtone.ImageKit.ScanTransfer.Native
Ret = imageKit1.Scan.Execute(); //スキャン

//読み取りイベント
private void imageKit1_AfterScan(object sender, Newtone.ImageKit.AfterScanEventArgs e)
{
//下記のいずれかを実行
  //最後のページに追加
  imageKit1.File.AppendTiffImage(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1);
  //3ページ目に挿入
  imageKit1.File.InsertPageIntoMultipageTiff(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1, 3);
}


2.複数の画像ファイルを1つのファイルに保存する場合
VB.NET :
Dim I As Integer

ImageKit2.File.FileName = "abc.tif" 'ファイル名

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

'001.jpg ... 005.jpgを1つにまとめる
For I = 1 To 5
  ImageKit1.File.FileName = I.ToString("d03") + ".jpg" 'ファイル名
  ImageKit1.File.LoadImageFromFile()
  ImageKit2.File.AppendTiffImage(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1)
Next I

C# :
int i;

imageKit2.File.FileName = "abc.tif"; //ファイル名

imageKit1.LayerNumber = -1; 
imageKit1.File.LoadPage = 0; 

//001.jpg ... 005.jpgを1つにまとめる
for (i = 1; i <= 5; i++)
{
  imageKit1.File.FileName = i.ToString("d03") + ".jpg"; //ファイル名
  imageKit1.File.LoadImageFromFile();
  imageKit2.File.AppendTiffImage(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1);
}

2

Q. エフェクト処理やスキャン処理をコンポーネントとしてではなく、クラスとして使用できますか?

2017/11/20

A. はい、使用できます。
クラスライブラリのリファレンスが付属しておりますので、そちらをご参考ください。

1

Q. インストール後、2週間ほど経ってから正常に動作しなくなりました。どうすればよいですか?

2017/11/20

A. ライセンス認証処理を行ってください。
詳しくは ImageKit WPF をインストールしたフォルダ下の "Tool\Activation" フォルダ内の「activation.pdf」ファイルを参照してください。

Copyright (C) NEWTONE Corporation. All rights reserved.