C#とlibtiff.netの環境構築

Windows

C#とLibTiff.Netを使ってTIFFを扱える環境を作りました。

環境(共通)

ライブラリは「BitMiracle.LibTiff.NET.dll」を使います。
ソースと同じディレクトリに置くと仮定します。

  • LibTiff.Net ver.2.3.624.0
  • libtiff.net_src-2.3.624.0.zip
  • libtiff.net_bin-2.3.624.0.zip

環境1-1

Linuxでの動作検証用にVMware Playerを使います。

  • Windows8.1 Pro 64bit SP1
  • Microsoft Visual Studio Express 2013 for windows Desktop 日本語
  • Microsoft Visual C# Compiler version 12.0.21005.1
  • .NET Framework ver.4.5.50938
  • VMware Player ver.6.0.3
  • libtiff ver.4.0.3(TIFFファイルの確認用)

環境1-2

Linuxでの動作検証用にVMware Playerを使います。

  • Windows7 Pro 32bit SP1
  • Microsoft Visual Studio Express 2013 for windows Desktop 日本語
  • Microsoft Visual C# Compiler version 12.0.21005.1
  • .NET Framework ver.4.5.50938
  • VMware Player ver.6.0.3
  • libtiff ver.4.0.3(TIFFファイルの確認用)

環境1-3

Windows XPを使っているので「Visual C# 2010」を使います。
また、Linuxでの動作検証用にVMware Playerを使います。

  • Windows XP Pro 32bit SP1
  • Microsoft Visual C# 2010 日本語 Express SP1(KB983509)
  • Microsoft Visual C# 2010 Compiler version 4.0.30319.1
  • .NET Framework ver.4.0.30319(C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319)
  • libtiff ver.4.0.3(TIFFファイルの確認用)
  • VMware Player ver.5.0.0 build-812388(プログラムの検証用)

環境2

「VMware Player」上で使います。

  • Debian GNU/ Linux wheezy 32bit
  • Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-8)
  • mono-mcs ver.2.10.8.1-8
  • mono-dmcs ver.2.10.8.1-8
  • libtiff-tools ver.4.0.2-6(TIFFファイルの確認用)
TLS:           __thread
SIGSEGV:       altstack
Notifications: epoll
Architecture:  x86
Disabled:      none
Misc:          softdebug
LLVM:          supported, not enabled.
GC:            Included Boehm (with typed GC and Parallel Mark)

LibTiff.Netのコンパイル(環境1)

配布されているものでできます。
・「.\libtiff.net_src-2.3.624.0\sources\LibTiff.NET.2010_NoSilverlight.sln」をダブルクリックします。
・「Visual C# 2010」で開きます。
・「デバッグ」→「デバッグ開始」

monoのインストール(環境2)

GUIプログラムでFormを使います場合は「libmono-system-windows-formx.x-cli」をインストールします。
Visual C# 2010は標準で「.NET Framework ver.4」を使います。
「プロジェクト」→「プロジェクトのプロパティ」を参照してください。

sudo aptitude install mono-mcs
sudo aptitude install mono-dmcs

GUIプログラムでFormなどを使います場合は以下をインストールします。

sudo aptitude install libmono-system-windows-forms4.0-cil

コンパイル(環境1)

「スタート」→「Microsoft Visual Studio 2010 Express」→「Visual Studio コマンドプロンプト(2010)」を使います。

csc /lib:.\ /reference:BitMiracle.LibTiff.NET.dll /out:out.exe hoge.cs

ファイルが複数ある場合

csc /lib:.\ /reference:BitMiracle.LibTiff.NET.dll /out:out.exe hoge1.cs hoge2.cs

コンパイル(環境2)

ソースの改行コードはLFにしてください。

mcs -r:./BitMiracle.LibTiff.NET.dll -out:out.exe hoge.cs
又は、
dmcs -r:./BitMiracle.LibTiff.NET.dll -out:out.exe hoge.cs

ファイルが複数ある場合
mcs -r:./BitMiracle.LibTiff.NET.dll -out:out.exe hoge1.cs hoge2.cs
又は、
dmcs -r:./BitMiracle.LibTiff.NET.dll -out:out.exe hoge1.cs hoge2.cs

実行は以下。
chmod 755 ./out.exe
./out.exe

TIFFの情報確認(環境1)

libtiffのホームページからダウンロードします。
「tools」ディレクトリに入っています。
「Tiff for Windows」は以下からダウンロードしてください。
http://gnuwin32.sourceforge.net/packages/tiff.htm
自分でコンパイルする場合は「libtiffの環境構築(1)」の記事を参照してください。。

tiffinfo hoge.tif

TIFFの情報確認(環境2)

sudo aptitude install libtiff-tools
tiffinfo hoge.tif

以下、結果例。

TIFF Directory at offset 0x10008 (65544)
Image Width: 256 Image Length: 256
Resolution: 72, 72 pixels/inch
Bits/Sample: 8
Compression Scheme: None
Photometric Interpretation: min-is-black
FillOrder: msb-to-lsb
Orientation: row 0 top, col 0 lhs
Samples/Pixel: 1
Planar Configuration: single image plane

参考

LibTiff.Net

libtiffのC#版。
Single TIFFやMultiTIFFのサンプルが豊富で大変役立つ。
http://bitmiracle.com/libtiff/

LibTIFF

「tiffinfo」を使います。
http://www.simplesystems.org/libtiff/

Mono

C# Compilerにはgmcs、dmcs、smcs、mcsなどの種類があるらしい。
「-sdk:VERSION」で切り替える。
例えば「-sdk:2」、「-sdk:4」など。
https://www.mono-project.com/docs/about-mono/releases/

C#の型サイズ

sizeof (C# リファレンス)

C#のConversionsクラス

Conversions クラス (Microsoft.VisualBasic.CompilerServices)
さまざまな型変換を実行するメソッドを提供します。

csc.exe

「csc Visual C#」でググる。
http://msdn.microsoft.com/ja-jp/library/vstudio/78f4aasd%28v=vs.100%29.aspx
http://www.atmarkit.co.jp/fdotnet/dotnettips/002csc/csc.html

MultiTIFFのソース1

VBとC#のサンプルあり。
http://bitmiracle.com/libtiff/help/create-multipage-tiff.aspx
http://www.codeproject.com/Articles/16904/Save-images-into-a-multi-page-TIFF-file-or-add-ima

C#

画像、印刷(GDI+) - .NET Tips (VB.NET,C#...)



created by Rinker
¥3,630 (2024/11/11 13:11:42時点 楽天市場調べ-詳細)

Comments