640x480の画像のRGB値を格納した1次元のbyte型の配列があります。配列のサイズは640x480x3=921600です。ここから画像として表示させたいのですがどのようにすればよいでしょうか。
試したこと:
自分で調べたところbyte配列からbitmapに変換するやり方があったので以下のコードを試したのですがうまくいきませんでした。
MemoryStream ms = new MemoryStream(data);
Bitmap bmp = new Bitmap(ms);
※dataは上記のbyte配列です
Bitmapのインスタンスを作るところでArgumentExceptionエラーが出てしまいます。
No.3ベストアンサー
- 回答日時:
既に回答ありますけども…。
921600バイト分の配列だけではビットマップ画像として構築するには情報が足りません。
サイズは?
ピクセルフォーマットは?
コードにしようとしている貴方は知っているかも知れませんが、データが渡されるメソッド側では何も判りません。
ビットマップファイルヘッダーなどのヘッダを追加して渡すか、サイズやピクセルフォーマットを指定して作成されたBitmapに対してピクセルデータとして渡すか…になるかと思います。
# 前者だとBitmap(Stream)で、後者だとBitmap(Int32, Int32, PixelFormat)で。
No.2
- 回答日時:
dataのbyte列の並びが、Bitmapのコンストラクタに与えることのできるデータフォーマットに適合していないと言っています。
適合した形式に変換して与える必要があると思います。
Bitmap(Stream) - Microsoft Docs .NET documentation
https://docs.microsoft.com/ja-jp/dotnet/api/syst …
> 例外
> ArgumentException
> stream にイメージ データが含まれていないか null です。
> または stream に、65,535 ピクセルよりも大きい 1 次元の PNG イメージ ファイルが含まれています。
参考:
ビットマップの種類
https://docs.microsoft.com/ja-jp/dotnet/framewor …
> グラフィックスファイル形式
> ディスクファイルにビットマップを保存するための標準形式は多数あります。
> GDI + は、次の段落で説明されているグラフィックスファイル形式をサポートしています。
> 以下略
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
C# データ配列から画像を作成する方法について
C言語・C++・C#
-
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
-
4
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
5
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
6
C#で、画像の、指定した座標の色情報を取得し
C言語・C++・C#
-
7
TCP/IP通信時のサーバーからの受信
C言語・C++・C#
-
8
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
9
バイト列とバイナリ列の違いが分かりません。
その他(プログラミング・Web制作)
-
10
C#でドラッグ&ドロップが機能しない。
その他(プログラミング・Web制作)
-
11
C#OpenCv V4にのエラーに関する質問です。
C言語・C++・C#
-
12
CloseとDisposeの違い
Visual Basic(VBA)
-
13
C#でバイナリデータをテキストフォームへ表示させるには?
C言語・C++・C#
-
14
C# インスタンスの破棄
その他(プログラミング・Web制作)
-
15
DataGrdViewに関連付けたデータの更新
C言語・C++・C#
-
16
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
17
c#でTextBoxの入力制限
C言語・C++・C#
-
18
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
19
int型の内容をbyteの配列にコピー
Java
-
20
C#で自分のウインド・ハンドルを取得するにはどうすればよいのでしょうか
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
コンボボックスのインデックス...
-
エクセルでXY座標に並べられた...
-
C#でbyte配列から画像を表示さ...
-
構造体配列の特定のメンバーをF...
-
配列の要素がすべてカラかどう...
-
配列の中の最大値とそのインデ...
-
Redim とEraseの違いは?
-
Excelマクロ:配列データからグ...
-
C言語 ポインタと配列
-
vba フィルター 複数条件 3つ以...
-
CheckBoxの配列化
-
VBで重複しているデータをユニ...
-
エクセルVBAからNotesでメー...
-
エクセルの列一括書き込み
-
定数配列の書き方
-
エクセル(VBA)の空白配列の削除...
-
DBから取得した値を配列へ代入する
-
配列の中から最大値だけ取り出...
-
pictureboxの名前を変数で設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Excel2010のinputboxで複数デー...
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
配列のペースト出力結果の書式...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
VBAで配列引数を値渡しできない...
-
C++で作成したDLLにVBAから配列...
-
構造体配列の特定のメンバーをF...
-
OutOfMemoryExceptionの回避策...
-
大量の変数を定義するにはどう...
-
VBAでMODE関数をつくる
-
VBScriptでCSVファイルを読み出...
-
定数配列の書き方
-
Segmentation Fault (メモリ制限?)
-
Excelのメモリ(配列)の上限は2G...
-
Redim とEraseの違いは?
-
CheckBoxの配列化
-
配列の中の最大値とそのインデ...
おすすめ情報