Try ' イメージのロード Dim orig As Image = Image.FromFile("C:\Test.nef") ' ← この行を実行すると例外が発生する ' WinXpでは問題なく画像が読み込める
intWidth = 800 ' 基準値 Dim intHeight As Integer = 0 If orig.Height > orig.Width Then intHeight = intWidth intWidth = orig.Width / (orig.Height / intWidth) Else intHeight = orig.Height / (orig.Width / intWidth) End If
Dim Thumbnail As New Bitmap(intWidth, intHeight) Using g As Graphics = Graphics.FromImage(Thumbnail) g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic g.DrawImage(orig, 0, 0, intWidth, intHeight) End Using orig.Dispose()
分類:[.NET]
いつも色々と参考にさせて頂いております。
現在上手く動作しない処理があり、お知恵をお借りできればと思います。
■環境
・.NETFrameWork3.5 SP1
・Windows XP/Windows7 Pro/Windows2008 サーバ
・VisualStudio2008 VisualBasicで開発
■現象
・RAW画像ファイル *.NEF、*.DNGの画像ファイルが表示、サムネイル画像作成ができない。
■確認できていること
・WindowsXPでは処理が行なえているが、Windows7/2008サーバでは処理が異常終了する。
・Windows7の端末に、MicroSoftのコーデックパックをインストールして、エクスプローラから
画像を見ることはできます。
■ソース(抜粋)
Try
' イメージのロード
Dim orig As Image = Image.FromFile("C:\Test.nef") ' ← この行を実行すると例外が発生する
' WinXpでは問題なく画像が読み込める
intWidth = 800 ' 基準値
Dim intHeight As Integer = 0
If orig.Height > orig.Width Then
intHeight = intWidth
intWidth = orig.Width / (orig.Height / intWidth)
Else
intHeight = orig.Height / (orig.Width / intWidth)
End If
Dim Thumbnail As New Bitmap(intWidth, intHeight)
Using g As Graphics = Graphics.FromImage(Thumbnail)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(orig, 0, 0, intWidth, intHeight)
End Using
orig.Dispose()
Return True
Catch ex As Exception
' ※エラー処理
End Try
よろしくお願いいたします m(__)m