2012-10-18 28 views
8

こんにちは私はbyte配列としてSQLに渡すためにイメージをバイト配列に変換しようとしています。イムイメージコンバータを使用しようとしているが、それはSystem.Drawing.Imageをバイト配列に変換する方法

Dim converter As New ImageConverter 
nRow.Signature = converter.ConvertTo(imgSignature, TypeOf(Byte()) 

私は得続けるエラーバイトですが失敗し続けることはあなたがMemoryStream使用できるタイプではない表現

答えて

12

VB.NET typeof演算子は、あなたはそれがないと思う何をしません。おそらくC#typeof演算子のために多分混乱します。 VB.NETに相当するのは、GetType()関数です。これはうまく動作します:

Dim converter As New ImageConverter 
nRow.Signature = converter.ConvertTo(imgSignature, GetType(Byte()) 

タイプコンバータは、PNG画像フォーマットを使用して変換を行うためにMemoryStreamを使用します。

14

です。 MemoryStreamに画像を保存することで、画像からのデータのバイト配列を取得することができます。

Dim ms = new MemoryStream() 
imgSegnature.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg) ' Use appropriate format here 
Dim bytes = ms.ToArray() 
+1

ありがとう、私に非常に役立った。 –

関連する問題