フォームの作成
では、さっそくプログラムを作成しましょう。作成するプログラムは、「ファイルを保存ダイアログ」で新しいマルチファイルを作成し、メニューから挿入するTIFFファイルを選んで保存します。ファイルを保存した後、その画像ファイルをRasterImageViewerコントロールで表示します。
また、Buttonコントロールを使用して、保存したファイルを1ページずつ表示したり、ページの先頭と最後に移動する機能も組み込みます。
GUIのデザイン
フォームには、これらの機能を実装するために、RasterImageViewer、MenuStrip、SaveFileDialog、OpenFileDialog、ToolTip、Button、の各コントロールを配置します。メニューは、以下の階層のメニューを作成します。
-
ファイル
- 新規作成
- 終了
-
TIFF編集
- TIFFファイルの追加
マルチページTIFFファイルの新規作成処理
ユーザーインターフェイスができたら、コードを実装していきます。最初は、「新規作成」メニューのClickイベントハンドラで行う新しいマルチページTIFFファイの作成です。処理の流れとしては、「ファイルの保存」ダイアログボックスを表示し、作成するマルチページTIFFファイルのファイル名を決めてもらいます。
次にフォームのLoadイベントハンドラで、RasterCodecsクラスのStartupメソッドを実行し、画像の入出力ライブラリの起動に必要なデータを初期化します。このStartupメソッドはアプリケーションの開始時に1回だけ実行します。
そして、「ファイルを保存ダイアログ」を表示します。SaveFileDialogコントロールは、フィルタにTiffを指定し、デフォルトで「multi_tiff1.tif」というファイル名を設定しておきます。入力されたファイル名は、グローバル変数として宣言した「MultiTiff_Fname」に格納しておきます。なお、3つの名前空間を宣言しておいてください。
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.WinForms
Public Class Form1
Private MultiTiff_Fname As String = ""
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' 入出力ライブラリの起動に必要なデータを初期化します。
RasterCodecs.Startup()
End Sub
Private Sub 新規作成ToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles 新規作成ToolStripMenuItem.Click
SaveFileDialog1.Filter = "Tiffファイル(*.tif)| *.tif"
SaveFileDialog1.FileName = "multi_tiff1.tif"
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
If MessageBox.Show("次のファイル名でマルチTIFFファイルを作成します。" + Environment.NewLine + SaveFileDialog1.FileName, "ファイル作成の確認", _
MessageBoxButtons.OKCancel, _
MessageBoxIcon.Question) = Windows.Forms.DialogResult.OK Then
MultiTiff_Fname = SaveFileDialog1.FileName
Else
MessageBox.Show("ファイルの作成を中止しました")
End If
End If
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.WinForms;
namespace Multi_Tiff_cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private String MultiTiff_Fname = "";
private void Form1_Load(object sender, EventArgs e)
{
// 入出力ライブラリの起動に必要なデータを初期化します。
RasterCodecs.Startup();
}
private void 新規作成ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.saveFileDialog1.Filter = "Tiffファイル(*.tif)| *.tif";
this.saveFileDialog1.FileName = "multi_tiff1.tif";
if(this.saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if(MessageBox.Show("次のファイル名でマルチTIFFファイルを作成します。" +
Environment.NewLine + saveFileDialog1.FileName,
"ファイル作成の確認", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
{
MultiTiff_Fname = saveFileDialog1.FileName;
}else
{
MessageBox.Show("ファイルの作成を中止しました");
}
}
}
