トップページ > 記事閲覧
CreateGraphFromMemの形式
名前:魔人あるふぁ 日時: 2025/03/03 22:22

CreateGraphFromMemで読み込む際の形式はBGR24でしょうか?
メンテ

Page: 1 |

Re: CreateGraphFromMemの形式 ( No.1 )
名前:魔人あるふぁ 日時:2025/03/03 22:42

具体的にはffMpegで書き出したrawデータを読み込みたいと思っております。
メンテ
Re: CreateGraphFromMemの形式 ( No.2 )
名前:魔人あるふぁ 日時:2025/03/04 00:28

すみません。追加情報。C#です。
メンテ
Re: CreateGraphFromMemの形式 ( No.3 )
名前:管理人 日時:2025/03/04 23:21

CreateGraphFromMem は bmpファイルや pngファイルなどのファイルの内容が 丸ごとそのままメモリに存在するものを読み込むためのものなので、 ピクセルデータの羅列のみのデータを読み込むことはできません // 例:bmpファイルをまるごとメモリに読み込んで、それに対して CreateGraphFromMem // ファイルを開いてファイルサイズを取得 fp = fopen( "Test1.bmp", "rb" ); fseek( fp, 0, SEEK_END ); FileSize = ftell( fp ); fseek( fp, 0, SEEK_SET ); // ファイルを読み込むメモリ領域を確保 Buffer = malloc( FileSize ); // ファイルからメモリに読み込み fread( Buffer, 1, FileSize, fp ); fclose( fp ); // メモリに読み込んだファイルデータからグラフィックハンドルを作成 int GrHandle = CreateGraphFromMem( Buffer, FileSize ); free( Buffer ); ピクセルデータの羅列のみのデータからグラフィックハンドルを作成する場合は リファレンスにはありませんが BASEIMAGE という構造体と CreateGraphFromBaseImage という関数を使用する方法があります BASEIMAGE BaseImage; // 構造体をゼロ初期化 memset( &BaseImage, 0, sizeof( BaseImage ) ); // カラーフォーマット情報を設定 CreateBGR8ColorData( &BaseImage.ColorData ); // サイズを設定 BaseImage.Width = 横ドット数; BaseImage.Height = 縦ドット数; // ピッチを設定 BaseImage.Pitch = 横ドット数 * 3; // 画像データの先頭アドレスをセット BaseImage.GraphData = 画像データの先頭アドレス; // BASEIMAGE の情報からグラフィックハンドルを作成 int GrHandle = CreateGraphFromBaseImage( &BaseImage ); > すみません。追加情報。C#です。 すみません、現状 ffMpeg から書き出したrawデータを C# でどのように扱われているのか 分からないのと C# に詳しくないのでなんともお答えできません m(_ _;m
メンテ
Re: CreateGraphFromMemの形式 ( No.4 )
名前:魔人あるふぁ 日時:2025/03/12 14:44

お忙しい中ありがとうございます。早速試してみたいと思います。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存