2011-01-11 4 views
0

누구든지 아래 코드를 도와 줄 수 있습니까? 4 행에 "인수 예외"가 표시됩니다. InnerException은 Nothing입니다.비트 맵을 스트림에 저장할 때 "인수 예외"가 발생합니다.

Using btm As Bitmap = Image.FromStream(importFile.InputStream) 
    Using newImage As Bitmap = ResizeImage(btm, StoringSize) 
     Dim stream As New MemoryStream 
     newImage.Save(stream, Imaging.ImageFormat.Bmp) 'Argument exception occurred. Parameter is not valid 
     StoringFilesHelper.SaveFile(fileName, stream, folderType) 
    End Using 
End Using 

이 코드는 예외없이 노력하고 있습니다 :

Using btm As Bitmap = Image.FromStream(importFile.InputStream) 
    Using newImage As Bitmap = ResizeImage(btm, StoringSize) 
     'Dim stream As New MemoryStream 
     'newImage.Save(stream, Imaging.ImageFormat.Jpeg) 
     'StoringFilesHelper.SaveFile(fileName, Stream, folderType) 

     Dim filePath As String = StoringFilesHelper.GetLocalPath(fileName, folderType) 
     newImage.Save(filePath) 
    End Using 
End Using 

마지막으로, 나는 그 이유를 얻었다. http://blog.lavablast.com/post/2007/11/29/The-Mysterious-Parameter-Is-Not-Valid-Exception.aspx 이미지가 ResizeImage 메소드에 배치되었습니다.

StoringFilesHelper.SaveFile(fileName, stream, folderType) 
+4

ArgumentException이 메시지는 당신이에 발생하는 매개 변수를 이야기해야하고, 가능성의 InnerException 당신에게 ArgumentException이 원인이 된 기본 예외를 얘기해야한다 : – mdm

+0

msdn Image.Save (...)에 따라 ArgumentNullException 및 ExternalException이 throw됩니다. ResizeImage가 제대로 작동합니까? – Nickolodeon

+1

'ArgumentException'은'Image.Save' 메서드에 의해 던져지지 않습니다 ([documentation] (http://msdn.microsoft.com/en-us/library/ms142147.aspx)를보십시오). 그리고'ArgumentNullException'을 의미하는 경우, 문제는 코드의 다른 곳에있을 가능성이 있습니다. 우리가 볼 수없는 방법에 대한 호출이 많이 있습니다. 걔들 뭐해? 그들은 예외를 던지고 있습니까? –

답변

0

이 라인없이 코드를 실행 해보십시오. 게시, 도움이 될 것입니다.
+0

중 하나 일 수 있습니다. 참조 : http://msdn.microsoft.com/en-us/library/ms142147.aspx – Yogesh

+0

또한 스트림이있는 오버로드가 있습니다. public void 저장 ( \t 스트림 스트림, \t ImageFormat 형식 ) – Nickolodeon

관련 문제