前提・実現したいこと
ListViewで行選択時にpictureBoxに画像を表示したいです。
C#でバイナリ型を基にMemoryStreamを生成、Image.FromStream()に渡して表示しようとしています。
以下のコードでImage.FromStream()に値が送られた時にエラーメッセージが発生しました。
このエラーを解決したいのですが、ご存じの方がおりましたら宜しくお願い致します。
System.ArgumentException: '使用されたパラメーターが有効ではありません。'
該当のソースコード
ListViewItem itemx = new ListViewItem(); if(UserListView.SelectedItems.Count > 0) { foreach (ListViewItem item in UserListView.SelectedItems) { //画像表示 // byte[] を元に MemoryStream を作成 MemoryStream stream = new MemoryStream(postDtoList.First().photo); PictureBox.Image = System.Drawing.Image.FromStream(stream); } }
試したこと
System.Drawing.Image.FromStream(stream)のstreamに値が入ると同時にエラーが起きます。
ここからどう修正したら良いかを自分なりに調べましたが見つけられませんでした。
デバックで確認したところ、MemoryStreamの引数には、テストデータとしてbyte[]の値が入っている事も確認しました。
値の受け渡しに問題があると思われます。
補足情報(FW/ツールのバージョンなど)
環境はWindows10 VisualStudio2019 .netFrameWork 言語はC# MySQLです。
回答1件
あなたの回答
tips
プレビュー