delphi 我已经读取视频成功,但是在视频显示到panel时 应该怎么显示呢,我写的代码如下 请高手指教!! 150

VideoDc:=GetDc(VideoPanl1.Handle);pBuf:=AllocMem(BufLength);p:=AllocMem(ImgBufLength)... VideoDc := GetDc(VideoPanl1.Handle);
pBuf := AllocMem(BufLength);
p := AllocMem(ImgBufLength);
pBMIInfo := AllocMem(sizeof(TBITMAPINFO)+ (255 * sizeof(TRGBQuad)));
pBMIInfo^.bmiHeader.biSize := sizeof(BITMAPINFOHEADER);
pBMIInfo^.bmiHeader.biWidth := 617 ;
pBMIInfo^.bmiHeader.biHeight := 481 div 2;
pBMIInfo^.bmiHeader.biPlanes := 1;
pBMIInfo^.bmiHeader.biBitCount := 24;
pBMIInfo^.bmiHeader.biCompression := BI_RGB;
pBMIInfo^.bmiHeader.biSizeImage := 0;
pBMIInfo^.bmiHeader.biXPelsPerMeter := 0;
pBMIInfo^.bmiHeader.biYPelsPerMeter := 0;
pBMIInfo^.bmiHeader.biClrUsed := 0;
pBMIInfo^.bmiHeader.biClrImportant := 0;
pBMIInfo^.bmiHeader.biBitCount:=24;
pBMIInfo^.bmiHeader.biClrImportant:=0;
pBMIInfo^.bmiHeader.biClrUsed:=0;
pBMIInfo^.bmiHeader.biCompression:=BI_RGB;
pBMIInfo^.bmiHeader.biPlanes:=1;
pBMIInfo^.bmiHeader.biSize:=40;
pBMIInfo^.bmiHeader.biHeight:=cy;
pBMIInfo^.bmiHeader.biWidth:=cx;
pBMIInfo^.bmiHeader.biSizeImage:=cx*cy*3;
pBMIInfo^.bmiHeader.biXPelsPerMeter:=cy;
pBMIInfo^.bmiHeader.biYPelsPerMeter:=cx;
SetStretchBltMode(VideoDC, COLORONCOLOR);
SetStretchBltMode(VideoDC, HALFTONE);
//CGDataTransform(prgb , LineAddr + Num*BufLength, OUTPUT_WINDOW_WIDTH, OUTPUT_WINDOW_HEIGHT div 2, 24, True);
StretchDIBits(VideoDC, 0, 0, VideoPanl1.Width, VideoPanl1.Height,
0, 0, pBMIInfo^.bmiHeader.biWidth, pBMIInfo^.bmiHeader.biHeight,
prgb,pBMIInfo^, DIB_RGB_COLORS, SRCCOPY);
我是在一个插件的事件中实现这段代码 但却一直都不显示,抓图啊什么滴 都能实现
展开
 我来答
随处找爱
2011-08-08 · 贡献了超过173个回答
知道答主
回答量:173
采纳率:0%
帮助的人:45.9万
展开全部
wew
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式