내가 가지고 제가 아직 파일에 저장하지 않은 이미지의 해시를 계산 할 수 있도록 다음과 같은 기능 :vb.net 이미지 VB.NET에서
Public Function pictureHash(ByVal image As System.Drawing.Image) As String
Try
If image Is Nothing Then Return Nothing
Dim ha As HashAlgorithm = HashAlgorithm.Create()
Dim ms As New MemoryStream()
image.Save(ms, image.RawFormat)
ms.Position = 0
Dim imageHash As Byte() = ha.ComputeHash(ms)
ms.Close()
Return BitConverter.ToString(imageHash)
Catch ex As Exception
Return Nothing
End Try
End Function
문제는 내가 명령 image.Save(ms, image.rawFormat)
에 ArgumentNullException을 얻는 것입니다.
System.ArgumentNullException occurred
Message="Value cannot be null. Parameter name: encoder"
ParamName="encoder"
Source="System.Drawing"
StackTrace:
at System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(Stream stream, ImageFormat format)
at MyProgram.pictureHash(Image image)
내가 스택 추적 볼 때 일이, 마지막 호출은 3 개 개의 매개 변수 (충돌 것)과에서 Image.Save하는이되지 않습니다 : 여기에
예외의 세부 사항입니다 심지어 나에 의해 만들어지는. 그러나 이전의 Image.Save 콜.내가 어떻게해야할까요? 당신의 도움에 미리
많은 감사,
감사합니다,
조엘
[ "값은 null 일 수 없습니다 매개 변수의 이름입니다. : 인코더의"이미지의 원시 형식을 얻기]의 가능한 중복 : (http://stackoverflow.com이 비슷한과 저장에 대한 호출을 대체 할하려면/questions/13269491/get-the-image-value-of-null-parameter-name-encode 할 수 없음) – sloth
[썸네일 만들기 및 바이트 배열로 변환] 가능한 복제본 (http : //stackoverflow.com/questions/894098/create-a-thumbnail-and-then-convert-to-byte-array/894211#894211) – sloth
이미지의 출처 (예 : 파일, 데이터베이스 등) 및 파일 형식 (png, bmp, jpg 등)은 무엇입니까? –