SQLServerにバイナリで保存されている画像をASP.NETで指定したサイズに変更し、画像ファイルとしてエクスポートする
SQLServerにバイナリで保存されている画像をASP.NETで画像ファイルとしてエクスポートする で、SQLServerのテーブル TMDbPosters にバイナリで格納してある映画のオリジナルサイズのポスター画像を、指定するフォルダに画像ファイルとしてエクスポートするサンプルを作りました。 SSDにデータベースを展開しているのですが、ListViewのImageにバイナリで格納している画像を System.Drawing.Bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg) で表示すると下図のように画像の表示にラグが発生してしまいます。画像ファイル表示ならラグは発生しないと思うので、すべてをエクスポートしてListViewでのポスター画像はエクスポートした画像ファイルを表示するようにしようと思います。 今回はエクスポートする画像ファイルのサイズ(縦横ピクセル)を任意に指定できるように変更します。画像サイズを変更できるよういした以外は同じです。 縦横小さい方に合わせ縦横比を固定します。 FILESTREAMIDは非表示にしています。 画像ファイルの出力先パスはweb.configで指定します。 Image2FileFolder Private Image2FileFolder As String = ConfigurationManager .AppSettings( "Image2FileFolder" ) オリジナルサイズでエクスポートする場合は BinaryWriter.Write でファイルとしてエクスポートします。 サイズを指定した場合は System.Drawing.Bitmap.Save でファイルとしてエクスポートします。 横幅150px 横幅300px 横幅600px 画像データのバイナリを格納するテーブル「TMDbPoster」 エクスポート終了 横幅を150pxにして全画像をエクスポートしてできた画像ファイル