System.IO.FileStreamを使用して呼び出したマルチTiffの表示について
- 題名: System.IO.FileStreamを使用して呼び出したマルチTiffの表示について
- 著者: ぐら
- 日時: 2008/11/25 19:16:01
- ID: 23420
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: System.IO.FileStreamを使用して呼び出したマルチTiffの表示について
- 著者: Hongliang
- 日時: 2008/11/25 21:19:35
- ID: 23421
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: System.IO.FileStreamを使用して呼び出したマルチTiffの表示について
- 著者: ぐら
- 日時: 2008/11/26 10:42:49
- ID: 23427
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: System.IO.FileStreamを使用して呼び出したマルチTiffの表示について
- 著者: Hongliang
- 日時: 2008/11/26 14:14:44
- ID: 23429
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: System.IO.FileStreamを使用して呼び出したマルチTiffの表示について
- 著者: ぐら
- 日時: 2008/11/26 21:07:43
- ID: 23430
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつも参考にさせていただいています。
マルチTiffの表示ついてですが、.NET Tipsの「マルチTIFFや〜」を参考に
させていただいて表示できました。
それに付け加えて、.NET Tipsの「表示中の画像ファイルが削除できない問題〜」
の対策として、マルチTIFFの表示のサンプルの Image.FromFile 部分を
変更しました。
Dim img As Image = Image.FromFile(filePath)
↓
Dim fs As System.IO.FileStream
fs = New System.IO.FileStream(filePath, _
IO.FileMode.Open, IO.FileAccess.Read)
img = System.Drawing.Image.FromStream(fs)
fs.Close()
この状態でプログラムを実行すると、2ページ目のフレームを選択する
「img.SelectActiveFrame(fd, i)」でエラーが発生しました。
エラー内容は「GDI+ で汎用エラーが発生しました。」(-2147467259)です。
イメージを呼び出す処理を元に戻すと正常に動作します。
また、「System.IO.FileStream」であっても、フレーム数は正常に取得できている
みたいです。
何か対応方法がありましたら、教えていただければと思います。
<参考>
マルチTIFFやアニメーションGIFに含まれるすべてのイメージを表示する
http://dobon.net/vb/dotnet/graphics/selectactiveframe.html
表示中の画像ファイルが削除できない問題の解決法
http://dobon.net/vb/dotnet/graphics/drawpicture2.html