2017-09-05 9 views
0

イメージ値をテキストファイルにコピーしようとしています。私のコードは以下の通りです。イメージのバイトを.netのテキストファイルに書き込む方法

If fldtype = "System.Byte[]" Then 
Dim bits As Byte() = CType(drow(dc), Byte()) 
Using ms As New MemoryStream(bits) 
Dim sw As New StreamWriter(ms) 
Dim sr As New StreamReader(ms) 
Dim myStr As String = sr.ReadToEnd() 
MessageBox.Show(myStr) 
fldvalue = fldvalue + "," + myStr 
    End Using 
+0

画像をテキストファイルに保存するとどういう意味ですか? イメージバイトをファイルに書き出しますか? – Youssef13

+0

はい、私は画像のバイトをファイルに書きたいと思っています。 – user3262364

+0

これを確認してください:https://stackoverflow.com/questions/3801275/イメージをバイトに変換してください。 また、Image.Saveメソッドを使用してイメージをファイルに直接保存することもできます。 MSDN:https://msdn.microsoft.com/en-us/library/ktx83wah(v=vs.110).aspx – Youssef13

答えて

0

私は、これは文字列にByte[]を書くための最も簡単な方法の一つであることがわかりました:あまりにも逆に

If fldtype = "System.Byte[]" Then 
Dim bits As Byte() = CType(drow(dc), Byte()) 
Dim s As String = Convert.ToBase64String(bits) 
End If 

ワークス:

Dim newBytes() As Byte = Convert.FromBase64String(s) 

answer linked in the original commentsがになるかもしれませんより良い選択肢になる。これらの質問に答えることは長い道のりです:

  1. 最初にテキストをテキストに書き出す理由は何ですか?
  2. いったんそれがあったらそれをどういう意味ですか?
  3. 文字列を取得して元の画像を再フォーマットする必要がありますか?

質問#3は、画像フォーマット情報に関しては、キャプチャしている情報が重要なので特に重要です。それは失われる可能性があり、元の画像を100%再構成することが困難になります。

+0

このコードは正常に動作しています – user3262364

関連する問題