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