ニュートン メニュー

株式会社ニュートン

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

YouTube公式チャンネル

体験版ダウンロード

製品案内

ライセンスパック

ライセンスについて

カスタマイズ受付

製品購入ガイド

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

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

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

サポート体制

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

会社概要

個人情報保護方針

お問い合わせ先

ニュートンホーム Q&A
ImageKit.NET2

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

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


【ImageKit.NET2 Q&A 一覧】

QNo.

Q.質問

日付
A.回答
25

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

2014/06/20

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

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

24

Q. 64bit OS で、VisualStudio2005 を使用してビルドしようとすると、「"LC.exe" はコード -1 を伴って終了しました。」というエラーが発生します。

2014/02/21

A. 64bitOS で Visual Studio 2005 を使用する場合、以下の内容に該当する可能性があります。
http://support.microsoft.com/kb/913961/ja
この場合は、上記ページに記載されている「解決方法」で回避が可能です。

具体的には、以下のとおりとなります。
1. Visual Studio 2005 を「管理者として実行」で起動
2. その Visual Studio 2005 で対象のプロジェクトを開く
3. 「プロジェクトのプロパティ」の、「ビルドイベント」を下記のように設定
 (Visual Basic:[コンパイル]タブから[ビルド イベント]ボタンをクリック
  C#:[ビルド イベント]タブをクリック)

  *ビルド前に実行するコマンドライン:
      %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\ldr64.exe setwow
  *ビルド後に実行するコマンドライン:
      %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\ldr64.exe set64
  *ビルド後のコマンドラインの実行条件:
      「ビルドが成功したとき」
 

23

Q. フォームに貼り付けた ImageKit コントロールにフォーカスがあると、フォームの KeyDown や KeyPress イベントが発生しません。どうすればよいですか。

2013/11/26

A. これは、ImageKit コントロールの問題ではなく、Button コントロールなどでも同様に発生する現象です。
この問題を解決するには、フォームの KeyPreview プロパティを True に設定してください。
これでコントロールにフォーカスがあってもフォームの KeyDown や KeyPress イベントが発生するようになります。
ただし、矢印キーや Tab、PageUp/Down キーなどに関しては、これだけでは、上記イベントは受け取れません。これらのキーの上記イベントを発生させるには、フォームクラスの ProcessDialogKey メソッドをオーバーライドするコードをフォームクラスに追加してください。
以下は、左矢印キーとタブキーが押された時に、メッセージボックスを表示するコード例です。
VB.NET :
<System.Security.Permissions.UIPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, _
        Window:=System.Security.Permissions.UIPermissionWindow.AllWindows)> _
Protected Overrides Function ProcessDialogKey( ByVal keyData As Keys) As Boolean
  '左キーが押されているか調べる
  If (keyData And Keys.KeyCode) = Keys.Left Then
    MessageBox.Show("左キーが押されました。")
    '左キーの本来の処理(左側のコントロールにフォーカスを移す)をさせたくないときは、trueを返す
    Return True
  'Tabキーが押されているか調べる
  ElseIf (keyData And Keys.KeyCode) = Keys.Tab Then
    MessageBox.Show("Tabキーが押されました。")
    Return True
  End If

  Return MyBase.ProcessDialogKey(keyData)
End Function

C# :
[System.Security.Permissions.UIPermission(
        System.Security.Permissions.SecurityAction.LinkDemand,
        Window = System.Security.Permissions.UIPermissionWindow.AllWindows)]
protected override bool ProcessDialogKey(Keys keyData)
{
  //左キーが押されているか調べる
  if ((keyData & Keys.KeyCode) == Keys.Left)
  {
    MessageBox.Show("左キーが押されました。");
    //左キーの本来の処理(左側のコントロールにフォーカスを移す)をさせたくないときは、trueを返す
    return true;
  }
  //Tabキーが押されているか調べる
  else if ((keyData & Keys.KeyCode) == Keys.Tab)
  {
    MessageBox.Show("Tabキーが押されました。");
    return true;
  }

  return base.ProcessDialogKey(keyData);
}

 

22

Q. 64bit OS で、VisualStudio のソリューションプラットフォームを「x64」にしてビルドしようとするとエラーになってしまいます。

2013/08/29

A. これは、Framework のライセンスコンパイラ(LC.exe)に関するエラーです。
ImageKit.NET2 はアセンブリ DLL が32bitと64bitの環境用で共通となっており、32ビット版の LC.exe を使用する必要がありますが、64bit版の LC.exe でプロジェクトをビルドすると、エラーが発生します。
64bit 版の LC.exe が使用されるのは、
開発環境の OS が64bit 版 / 開発環境に.NET Framework 4.5 がインストールされている / Visual Studio 2010または2012を使用 / ビルドのプラットフォームターゲットに「x64」を設定
というすべての条件がそろった場合です。
これは、マイクロソフト社のサポート技術情報で公開されている、以下の問題に起因するものです。
http://support.microsoft.com/kb/2783939/ja
この問題の回避策として、上記ページの「解決方法」に記載されているように、環境変数またはプロジェクトファイル (.vbprojまたは.csproj) において、「DisableOutOfProcTaskHost」の値に「1」に設定してください。
 

21

Q. インストール時に「VisualStudio 20xx のツールボックスへの登録」にチェックを入れてもツールボックスに表示されない場合がありますか?

2012/01/31

A. はい。以下の場合が該当します。
「インストールフォルダの選択」画面で「すべてのユーザ」を選択した場合、インストール時のユーザ以外のユーザでログインして VisualStudio を使用する場合は、ツールボックスに表示されません。この場合でも、ImageKit.NET2 コントロールを使用することは可能ですが、ツールボックスへは手動で登録してご利用ください。
 

20

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

2011/12/02

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

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

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.SetSelectedObjectColors(Color.Blue, imageKit1.Edit.BackColor)
   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.SetSelectedObjectColors(Color.Blue, imageKit1.Edit.BackColor);
   imageKit1.Edit.DeselectObjects();
 }

 

19

Q. Visual Studio2010 用の ImageKit.NET2 をインストールして、Visual Studio2010 のプロジェクトで「対象のフレームワーク」を .NET Framework3.5 にしたら、ツールボックスに ImageKit コントロールが表示されませんでした。Visual Studio2010 で、「対象のフレームワーク」を .NET Framework 3.5 とした場合での開発は可能でしょうか?

2012/12/12
更新

A. 可能です。VisualStudio2010 で Framework3.5 をご使用の場合は、Visual Studio2008 用の ImageKit.NET2 もインストールしてください。

ImageKit.NET2 のモジュールそのものは、各 VisualStudio で共通ですが、各 VisualStudio へのツールバーへの登録やサンプルを区別する目的で、インストーラを分けてあります。そして、各 VisualStudio 用の ImageKit.NET2 を重複してのインストールを可能にするための関係で、下記の組み合わせで使用することを前提にインストール時の設定を行っております。
VisualStudio2010 用の場合:Framework4.0
VisualStudio2008 用の場合:Framework3.5
VisualStudio2005 用の場合:Framework2.0
以上の理由から、上記の組み合わせ以外でご使用の場合は、お手数ですが、お使いの Framework に対応する ImageKit.NET2 もインストールしてください。
(なお、インストール時に「ツールボックスへの登録」チェックボックスのチェックをいれていただきますと、設計時にツールボックスへの追加の作業は不要となります。デフォルトではチェックは入っておりません。)


バージョン 2.0.1.10024 より、インストーラを従来の Visual Studio のバージョン別から、全バージョン共通の 1 本に統一いたしました。それに伴い、現在はこの問題は発生しなくなっております。最新版のインストーラをご利用ください。
 

18

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

2013/03/05
更新

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

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

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

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

<configuration>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
</configuration>
 
バージョン 2.0.1.10026以降のデジタル署名なしのアセンブリ(dll)を使用する方法もあります。

17

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

2009/08/20

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

Imageプロパティの画像を換算する場合
VB.NET :
 Dim inchX, inchY As Single
 Dim cmX, cmY As Single

 Dim bmp As System.Drawing.Bitmap = ImageKit1.Image

 If bmp.HorizontalResolution <> 0 Then
  'インチ
  inchX = bmp.Width / bmp.HorizontalResolution
  'センチメートル
  cmX = inchX * 2.54
 End If

 If bmp.VerticalResolution <> 0 Then
  'インチ
  inchY = bmp.Height / bmp.VerticalResolution
  'センチメートル
  cmY = inchY * 2.54
 End If

C# :
 float inchX, inchY;
 float cmX, cmY;

 System.Drawing.Bitmap bmp = (System.Drawing.Bitmap)imageKit1.Image;
 if (bmp.HorizontalResolution != 0)
 {
  //インチ
  inchX = bmp.Width / bmp.HorizontalResolution;
  //センチメートル
  cmX = inchX * (float)2.54;
 }

 if (bmp.VerticalResolution != 0)
 {
  //インチ
  inchY = bmp.Height / bmp.VerticalResolution;
  //センチメートル
  cmY = inchY * (float)2.54;
 }

16

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

2009/06/03

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

15

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

2009/06/03

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

14

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

2009/06/03

A. Effect.Rotationメソッドを使用します。引数のangleを0にし、xTurnをtrueにすると左右反転、yTurnをtrueにすると上下反転になります。xTurn,yTurnを両方trueにすると上下左右反転となります。

13

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

2009/06/03

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

例: 原稿台の用紙を連続でスキャンする
VB.NET :
 If ImageKit1.Scan.Initialize(Me.Handle, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit.NET Scan Sample") = False Then Exit Sub
 ImageKit1.Scan.ClearProperty()
 ImageKit1.Scan.DataSourceName = "xxxxxxx" 'データソースの名称
 If ImageKit1.Scan.OpenDataSource() = False Then
  ImageKit1.Scan.Terminate()
  Exit Sub
 End If

 ImageKit1.Scan.TransferMode = ScanTransfer.Memory
 ImageKit1.Scan.Compression = ScanCompression.None
 ImageKit1.Scan.UserInterface = ScanUserInterface.Suppress
 ImageKit1.Scan.Mode = ScanMode.DocumentPlate
 ImageKit1.Scan.Unit = ScanUnit.Inch
 ImageKit1.Scan.PaperSize = ScanPaperSize.UserSize 'あるいは負の値

 '1箇所目
 '読み取り領域を設定
 ImageKit1.Scan.Rect = New RectangleF(0, 0, 1, 1)
 '他に必要な項目を設定
 ImageKit1.Scan.Execute()

 '2箇所目
 '読み取り領域を設定
 ImageKit1.Scan.Rect = New RectangleF(3, 3, 1, 1)
 '他に必要な項目を設定
 ImageKit1.Scan.Execute()

 ImageKit1.Scan.CloseDataSource()
 ImageKit1.Scan.Terminate()
C# :
 if (imageKit1.Scan.Initialize(this.Handle, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit.NET Scan Sample") == false) return;
 imageKit1.Scan.ClearProperty();
 imageKit1.Scan.DataSourceName = 'xxxxxxx'; //データソースの名称
 if (imageKit1.Scan.OpenDataSource() == false)
 {
  imageKit1.Scan.Terminate();
  return;
 }

 imageKit1.Scan.TransferMode = ScanTransfer.Memory;
 imageKit1.Scan.Compression = ScanCompression.None;
 imageKit1.Scan.UserInterface = ScanUserInterface.Suppress;
 imageKit1.Scan.Mode = ScanMode.DocumentPlate;
 imageKit1.Scan.Unit = ScanUnit.Inch;
 imageKit1.Scan.PaperSize = ScanPaperSize.UserSize; //あるいは負の値

 //1箇所目
 //読み取り領域を設定
 imageKit1.Scan.Rect = new RectangleF(0, 0, 1, 1);
 //他に必要な項目を設定
 imageKit1.Scan.Execute();

 //2箇所目
 //読み取り領域を設定
 imageKit1.Scan.Rect = new RectangleF(3, 3, 1, 1);
 //他に必要な項目を設定
 imageKit1.Scan.Execute();

 imageKit1.Scan.CloseDataSource();
 imageKit1.Scan.Terminate();

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

12

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

2009/06/03

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

11

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

2009/06/03

A.
(1)データソースが定型サイズをサポートしている場合
読み取り領域を設定し、PaperSizeにUserSizeもしくは負の値(用紙がA4なら-1)を設定してください。C#で負の値を設定する場合は型キャストを行ってください。
(2)データソースが定型サイズをサポートしていない場合
読み取り領域を設定し、PaperSizeにUserSizeを設定してください。

詳しくはヘルプのPaperSizeの解説をご覧ください。データソースがサポートしている用紙サイズはGetCapabilityEnumToSingleメソッドで取得できます。

10

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

2011/04/27
更新
A. キヤノン、エプソン、パナソニック、PFU(敬称略)の4つのメーカのいくつかの Custom Capabilitiy をサポートしています。

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

エプソン製スキャナをご利用の場合はFixNo.7(バージョン 2.0.1.10008)以降のモジュールをご利用ください。
PFU製スキャナをご利用の場合はFixNo.14(バージョン 2.0.1.10014)以降のモジュールをご利用ください。

9

Q. 新規にプロジェクトを作成し、フォームにコントロールを配置してからビルドするとエラーが発生するのですが?

2009/06/03

A. 次に示すアセンブリファイルをプロジェクトの参照設定に追加してください。

WinForm
(1)ImageKit[Newtone.ImageKit.Win.ImageKit.dll]をお使いの場合
Newtone.ImageKit.Common.dll, Newtone.ImageKit.Effect.dll, Newtone.ImageKit.File.dll, Newtone.ImageKit.Scan.dll
(2)Thumbnail[Newtone.ImageKit.Win.Thumbnail.dll]をお使いの場合
Newtone.ImageKit.Common.dll, Newtone.ImageKit.File.dll
(3)Play,Preview,Record[Newtone.ImageKit.Win.WebCamera.dll]をお使いの場合
Newtone.ImageKit.Common.dll

WebForm
(1)ImageKit[Newtone.ImageKit.Web.ImageKit.dll]をお使いの場合
Newtone.ImageKit.Common.dll, Newtone.ImageKit.File.dll
(2)Thumbnail[Newtone.ImageKit.Web.Thumbnail.dll]をお使いの場合
Newtone.ImageKit.Common.dll, Newtone.ImageKit.File.dll

アセンブリファイルは「ImageKit.NET2」をインストールしたフォルダの下のSystemフォルダにあります。

8

Q. ラスタイメージの解像度を変更するにはどうすればよいですか?

2011/08/29
更新

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

Imageプロパティの画像を300DPIに変更する場合
VB.NET :
Dim bmp As System.Drawing.Bitmap = ImageKit1.Image
bmp.SetResolution(300, 300)
ImageKit1.Image = bmp
bmp.Dispose()
C# :
System.Drawing.Bitmap bmp = (System.Drawing.Bitmap)imageKit1.Image;
bmp.SetResolution(300, 300);
imageKit1.Image = bmp;

bmp.Dispose();

変更した解像度で保存する場合は、上記のコードでは元の解像度で保存されてしまいますので、下記のようにしてください。
VB.NET :
Dim bmp As New System.Drawing.Bitmap(ImageKit1.Image.Width, ImageKit1.Image.Height)
bmp.SetResolution(300, 300)
Dim g As System.Drawing.Graphics = Graphics.FromImage(bmp)
g.DrawImage(imageKit1.Image, 0, 0, ImageKit1.Image.Width, ImageKit1.Image.Height)
g.Dispose()
ImageKit1.Image = bmp
ImageKit1.File.FileName = ・・・
ImageKit1.File.SaveImageToFile(SaveFileType.・・・, Nothing)
bmp.Dispose()
C# :
System.Drawing.Bitmap bmp = new Bitmap(imageKit1.Image.Width, imageKit1.Image.Height);
bmp.SetResolution(300, 300);
Graphics g = System.Drawing.Graphics.FromImage(bmp);
g.DrawImage(imageKit1.Image, 0, 0, imageKit1.Image.Width, imageKit1.Image.Height);
g.Dispose();
imageKit1.Image = bmp
imageKit1.File.FileName = ・・・;
imageKit1.File.SaveImageToFile(SaveFileType.・・・, null);
bmp.Dispose();

7

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

2009/06/03

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

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

ImageKit1.Scan.Transfer = Newtone.ImageKit.ScanTransfer.Memory 'or Newtone.ImageKit.ScanTransfer.Native
Ret = ImageKit1.Scan.Execute() 'スキャン
imageKit1.File.CloseMultiTiff() 'マルチTiffファイルをクローズする
※「File.SaveImageToFile」メソッド実行後に必ずこのメソッドを実行してください

'読み取りイベント
Private Sub ImageKit1_AfterScan(ByVal sender As Object, ByVal e As Newtone.ImageKit.AfterScanEventArgs) Handles ImageKit1.AfterScan
  ImageKit1.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1)
End Sub


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

imageKit1.Scan.Transfer = Newtone.ImageKit.ScanTransfer.Memory //or Newtone.ImageKit.ScanTransfer.Native
Ret = imageKit1.Scan.Execute(); //スキャン
imageKit1.File.CloseMultiTiff(); //マルチTiffファイルをクローズする
※「File.SaveImageToFile」メソッド実行後に必ずこのメソッドを実行してください

//読み取りイベント
private void imageKit1_AfterScan(object sender, Newtone.ImageKit.AfterScanEventArgs e)
{
  imageKit1.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1);
}


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

ImageKit2.File.FileName = "abc.tif" 'ファイル名
ImageKit2.File.TiffAppend = True 'マルチTiff

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(Newtone.ImageKit.LoadFileType.Load)
  ImageKit2.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, ImageKit1.Image)
Next I
imageKit2.File.CloseMultiTiff() 'マルチTiffファイルをクローズする
※「File.SaveImageToFile」メソッド実行後に必ずこのメソッドを実行してください

C# :
int i;

imageKit2.File.FileName = "abc.tif"; //ファイル名
imageKit2.File.TiffAppend = true; //マルチTiff

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(Newtone.ImageKit.LoadFileType.Load);
  imageKit2.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, imageKit1.Image);
}
imageKit2.File.CloseMultiTiff(); //マルチTiffファイルをクローズする
※「File.SaveImageToFile」メソッド実行後に必ずこのメソッドを実行してください

6

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

2009/06/03

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

5 Q. サムネイルコントロール(WinForm)のDragDropイベントでドロップされたファイル名を取得するにはどうすればいいですか? 2009/06/03
A. VB.NETとC#のサンプルコードを記載いたしますので参考にしてください。

VB.NET :
Private Sub Thumbnail1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Thumbnail1.DragDrop
  Dim FileName As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
End Sub

C# :

private void thumbnail1_Private Sub Thumbnail1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
  string[] FileName = (string [])e.Data.GetData(DataFormats.FileDrop);
}
4 Q. エフェクト処理やスキャン処理をコンポーネントとしてではなく、クラスとして使用できますか? 2009/06/03
A. はい、使用できます。
クラスライブラリのリファレンスが付属しておりますので、そちらをご参考ください。
3 Q. ClickOnce には対応していますか? 2009/06/03
A.はい、対応しております。
ImageKit.NET2 の製品紹介ページに ClickOnce のデモページへのリンクがございます。ご活用ください。
2 Q. インストール後、2週間ほど経ってから正常に動作しなくなりました。どうすればよいですか? 2009/06/03
A. ライセンス認証処理を行ってください。
詳しくは ImageKit.NET2 をインストールしたフォルダ下の "Tool\Activation" フォルダ内の「activation.pdf」ファイルを参照してください。
1 Q. Windows Vista に ImageKit.NET2 をインストールまたはアンインストールしようとしているのですが、「サポート担当者またはパッケージのベンダに問い合わせてください」というメッセージが表示され、インストールまたはアンインストールができません。
回避方法を教えてください。
2009/06/03
A. Windows Vista 上で次の設定を行ってください。
[コントロールパネル]→[クラシック表示]→[ユーザアカウント]→[ユーザアカウント制御の有効化または無効化]→[ユーザアカウント制御( UAC )を使ってコンピュータの保護に役立たせる]のチェックを外してください。
その後で、再度インストールまたはアンインストールを行ってください。

Copyright (C) NEWTONE Corporation. All rights reserved.