SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(LEADTOOLS)

複数のTiff画像を1つのファイルに収める.NETアプリケーションの作成

LEADTOOLS 16.5J Document ImagingのRasterImageViewerを使ったアプリケーションの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

フォームの作成

 では、さっそくプログラムを作成しましょう。作成するプログラムは、「ファイルを保存ダイアログ」で新しいマルチファイルを作成し、メニューから挿入する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つの名前空間を宣言しておいてください。

Visual Basic
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
C#
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("ファイルの作成を中止しました");
                }
            }
            
        }

次のページ
マルチページTIFFファイルへのTIFF画像ファイルの追加処理

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(LEADTOOLS)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6408 2012/02/27 16:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング