bufferに展開されているのは画像ファイルそのものではないので
一旦bmpsaveとかでファイルに出力することなく、
メモリ上だけで全部やってしまいたい!というのでしたら
自分で画像ファイルデータへと加工してあげる必要があると思います
まぁ普通なら「こんなのgcopyで済むじゃん!」って言われるのがオチですけども
アイデアがあれば、何か面白い利用方法があるかもしれませんね(^△^;
#define BMPINFOHEAD_SIZE 14
// bufferに画像読み込み
// (この画像をpicloadで他のウィンドウにロードするのが最終目的)
buffer 1
picload "a.jpg"
// BMPデータ生成に必要な情報収集
mref bmscr, 67
bmpInfPtr = lpeek( bmscr, 6 * 4 )
bmpInfSize = lpeek( bmscr, 15 * 4 )
vramPtr = lpeek( bmscr, 5 * 4 )
vramSize = lpeek( bmscr, 16 * 4 )
bmpFileSize = BMPINFOHEAD_SIZE + bmpInfSize + vramSize
// BMPデータ格納のためのメモリ確保
sdim buf, bmpFileSize
// BMPファイルヘッダ作成
wpoke buf, 0, 'M' << 8 | 'B'
lpoke buf, 2, bmpFileSize
wpoke buf, 6, 0
wpoke buf, 8, 0
lpoke buf, 10, BMPINFOHEAD_SIZE + bmpInfSize
// BMP情報ヘッダのコピー
dupptr bmpInfData, bmpInfPtr, bmpInfSize
memcpy buf, bmpInfData, bmpInfSize, BMPINFOHEAD_SIZE, 0
// BMPピクセルデータのコピー
dupptr vramData, vramPtr, vramSize
memcpy buf, vramData, vramSize, BMPINFOHEAD_SIZE + bmpInfSize, 0
// PICLOADしてみる(bufという変数に画像データが入っている)
gsel 0
memfile buf, 0, bmpFileSize
picload "MEM:.bmp"