アップロードした画像のサイズを変更しようとしています。私がオンラインで見つけたことから、これを行う方法は、あなたが望む大きさの新しいイメージを作成し、Graphicsを使ってイメージをより小さなイメージに描画することです。 Nikon D90カメラの画像を除いて、アップロードされるすべての画像で動作するようです。これらの画像をアップロードしてサイズを変更しようとするたびに、以下の行にOutOfMemoryExceptionが表示されます。誰でも私が間違っていることを教えてもらえますか?OutOfMemoryExceptionを引き起こすDrawImage
'Create the new image as a blank bitmap
Dim resized As Image = New Bitmap(newWidth, newHeight)
'Create a new graphics object from the new image
Dim g As Graphics = Graphics.FromImage(resized)
'Resize graphics object to fit onto the resized image
g.DrawImage(originalImage, New Rectangle(0, 0, resized.Width, resized.Height)) <-- Exception
g.Dispose()
私はFromFileを使用しています。私はFromStreamで同じエラーが発生しますが、理由は同じであると推測しています。画像がPaint.Netで開き、Paint.Netでサイズを変更してアップロードしてもうまくいきます。これは私のエンドユーザのための不必要なステップのようです。 BinaryReaderソリューションには何が関係していますか? – BLeB
また、例外はDrawImageのFromFileでは発生しません – BLeB
Paint.Netでイメージを開いて再保存するだけです。エンドユーザーにこれをさせたくない場合は、アプリからそれを行う必要があります。 DrawImageのドキュメントではそうは言いませんが、FromFileと同じ問題があると思われます。 –