[ C# ] 複数ページからなる TIFF ファイルの作成方法
諸事情により、レイヤ構造を持つ画像ファイルを C# より出力する必要が出てきました。 レイヤ構造と言えば Photoshop の .psd フォーマットが身近で良いのですが、C# の標準ライブラリではサポートしてない為、他のフォーマットを探さないといけません。幸いな事に TIFF はマルチフレーム対応だし、C# の標準ライブラリもマルチフレーム対応との事なので、こちらのページ( http://csharper.blog57.fc2.com/blog-entry-158.html )や、こちらのページ( http://www.bobpowell.net/generating_multipage_tiffs.htm )を参考にプログラムを作ってみました。 どうも MemoryStream の後処理か何かが悪いのか、僕のプログラムだと複数画像を生成すると OutOfMemory が出てしまうので、メモリストリームは使わない方法で作ってみました。 実際のコードからエッセンスだけ抜き出すとこんな感じです(ところで Blogger でソースコードを綺麗に表示するのはどうすれば良いのだろうか?): // ベース画像と生成した画像からなる 2 フレームの TIFF ファイルを n 個作る。 for(int i=0; i<n; i++) { Console.Write("processing "+i+" ..."); string tiffImagePath=@"baseImage"; tiffImagePath+=i.ToString("00")+".tif"; int imageWidth; if(File.Exists(tiffImagePath)==false) { continue; } Bitmap tiffImage=new Bitmap(tiffImagePath); imageWidth=tiffImage.Width; Bitmap upper...
コメント
コメントを投稿