たとえば、標準のドットネットクラスを使用して保存できませんが(!)、読み取ることができる(例:幅と高さを調べる)サンプルJPEGがあります。元のファイル:Windowsイメージエディタで同じ画像を保存した後JPEG操作とドットネット - GDI +例外
http://dl.dropbox.com/u/5079317/184809_1_original.jpg
、すべてが素晴らしい作品: http://dl.dropbox.com/u/5079317/184809_1_resaved.jpg
私は長い時間前にこのバグに気づいたが、それは大きな問題ではなかったです。しかし、現在のプロジェクトでは、私は何千ものイメージを持っており、何か解決策が本当に必要です。
どのサードパーティライブラリを使用できますか?
ここは私が読んでいるかである:
public ImageFile SaveImage(HttpPostedFileBase file, string fileNameWithPath, bool splitImage, out string errorMessage)
{
try
{
using (var stream = file.InputStream)
{
using (Image source = Image.FromStream(stream))
{
return SaveImage(source, fileNameWithPath, splitImage, out errorMessage);
// which actually do source.Save(fileNameWithPath, ImageFormat.Jpeg);
// Exception: A generic error occurred in GDI+.
}
}
}
catch (Exception e)
...
}