怎么将Pbyte类型中的图片存入bitmap中

如何将Pbyte类型中的图片存入bitmap中。
我得到了一个Pbyte类型的图片,可是如何将它存入到Tbimap类型中呢,我需要做一些后期处理。

------解决方案--------------------
你要知道这缓冲区的图片的宽,高,位深,才能正确显示出来
给你个例子看下,ph 里包含了这些信息

function OnPreview(ph : PBitmapInfoHeader; buff: pbyte): HRESULT; stdcall;
var dc : HDC;
iw,ih : Integer;
bmp : TGpBitmap;
bd : TBitmapData;
gp : TGpGraphics;
begin
dc := GetDC(form1.pnlDc.Handle);
bmp := TGpBitmap.Create(ph^.biWidth,ph^.biHeight,pf24bppRGB);
bd := bmp.LockBits(GpRect(0,0,bmp.Width,bmp.Height),[imRead],pf24bppRGB);
CopyMemory(bd.Scan0,buff,bd.Height * bd.Stride);
bmp.UnlockBits(bd);
bmp.RotateFlip(rfX180);
iw := form1.pnlDc.Width;
ih := Round(ph^.biHeight * iw/ph^.biWidth);
// StretchDIBits(dc,0,0,iw,ih,0,0,ph^.biWidth,ph^.biHeight,buff,pBITMAPINFO(ph)^,DIB_RGB_COLORS, SRCCOPY);//拉伸显示时效果不好,所以用TGPBITMAP类来转换
gp := TGpGraphics.Create(dc);
gp.DrawImage(bmp,GpRect(0,0,iw,ih),0,0,bmp.Width,bmp.Height,utPixel);
FreeAndNil(bmp);
FreeAndNil(gp);
ReleaseDC(Form1.pnlDc.Handle,dc);
end;