>>514 現時点でメモリ上にビットマップデータを作るコードがあるのなら
Graphic::TBitmap* Bitmap = new Graphic::TBitmap;
Bitmap->PixelFormat = pf24bit; // 任意
Bitmap->Width = 640; // 任意
Bitmap->Height = 480; // 任意
のように準備した Bitmap の画素へのポインタ(ScanLine[] プロパティを
使う)を取得し,そこへ直接書き込むようにしてみては?
あとは
Image1->Picture->Bitmap->Canvas->Draw( 0, 0, Bitmap ); なり,
Form1->Canvas->Draw( 0, 0, Bitmap ); なりすれば
画面に反映出来るとおもう.
他の方法として SetDIBitsToDevice() 等を使ってメモリ上の
データから DC 経由で読み込む手があるが・・・わざわざこの方法を
選ぶ理由もないような.
LoadFromStream() といえばこないだ作ったプログラムでは圧縮連結
された画像を扱う必要があったので
class TLzhArchive : public TMemoryStream
{
public:
// 指定された名前の画像を自分自身に展開するメソッド.
void __fastcall Lock( AnsiString asIndex );
// 画像がいらなくなったら解放するメソッド.
void __fastcall Unlock( void );
// 構築子,扱う圧縮連結画像のファイル名を指定する.
TLzhArchive( AnsiString asFilename );
};
のようなクラスを作って
TLzhArchive* Archive = new TLzhArchive( "c:\\背景集.lzh" );
Graphic::TBitmap* Bitmap = new Graphic::TBitamp;
Archive->Lock( "海岸.bmp" );
Bitmap->LoadFromStream( Archive );
Archive->Unlock();
みたいな処理書いたな.