请问:DSPACK进行视频录像,如何将时间叠加到画面上? DSPACK进行视频录像,如何将时间叠加到画面上? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 显示时间的filter应该怎么写? //在图像上增加时间procedure TFromVdisplayWin.AddTimeTitle(var lpVhdr: PVIDEOHDR);var pDataBuf,pBitsMem : Pointer; DC : HDC; BMHandle : HBITMAP; b : TBitmap; sDatetime : string;begin if lpVhdr^.lpData=nil then begin FVideoStreamReading := False; Exit; end; if bBitMapInFo=nil then begin FVideoStreamReading := false; Exit; end; pDataBuf := lpVhdr^.lpData; DC := GetDC(0); try BMHandle := CreateDIBSection(DC,bBitMapInFo^,DIB_RGB_COLORS,pBitsMem,0,0); if BMHandle<>0 then begin try Move(pDataBuf^,pBitsMem^,lpvhdr^.dwBytesUsed); except DeleteObject(BMHandle); BMHandle :=0; end; end; finally ReleaseDC(0,DC); end; if BMHandle=0 then begin FVideoStreamReading := False; Exit; end; b := TBitmap.Create; b.Handle := BMHandle; SetBkMode(b.Canvas.Handle,TRANSPARENT); b.Canvas.Font.Size :=16 ; sDatetime := DateToStr(Now)+' '+ FormatDateTime('HH:mm:ss',now); B.Canvas.Font.Color := clBlack; b.Canvas.TextOut(20,5,sDatetime); try Move(pBitsMem^,pDataBuf^,lpvhdr^.dwBytesUsed); except end; b.Free; delphi dll注入进程 如何创建子窗口 关于在dbgrid的某列显示图片的问题 如何知道进程调用了哪些DLL? 怎样判断两个数学表达式是否相等(不是求值) 数据库操作能否存入图片? ★★★ 招聘 ★★★ mscomm串口通信问题 哪位大侠能分析一下怎么样在程序中自动实现爱问共享里的文件保存到新浪微盘里啊? delphi添加数据时报错 请问有什么关于写书档的书吗?能给推荐一本吗? 请教:DBGridEh选中的多行和多列,如何取得这些值呢? 多层画图慢!
procedure TFromVdisplayWin.AddTimeTitle(var lpVhdr: PVIDEOHDR);
var
pDataBuf,pBitsMem : Pointer;
DC : HDC;
BMHandle : HBITMAP;
b : TBitmap;
sDatetime : string;
begin
if lpVhdr^.lpData=nil then
begin
FVideoStreamReading := False;
Exit;
end; if bBitMapInFo=nil then
begin
FVideoStreamReading := false;
Exit;
end; pDataBuf := lpVhdr^.lpData;
DC := GetDC(0);
try
BMHandle := CreateDIBSection(DC,bBitMapInFo^,DIB_RGB_COLORS,pBitsMem,0,0);
if BMHandle<>0 then
begin
try
Move(pDataBuf^,pBitsMem^,lpvhdr^.dwBytesUsed);
except
DeleteObject(BMHandle);
BMHandle :=0;
end;
end;
finally
ReleaseDC(0,DC);
end; if BMHandle=0 then
begin
FVideoStreamReading := False;
Exit;
end; b := TBitmap.Create;
b.Handle := BMHandle;
SetBkMode(b.Canvas.Handle,TRANSPARENT);
b.Canvas.Font.Size :=16 ;
sDatetime := DateToStr(Now)+' '+ FormatDateTime('HH:mm:ss',now);
B.Canvas.Font.Color := clBlack;
b.Canvas.TextOut(20,5,sDatetime); try
Move(pBitsMem^,pDataBuf^,lpvhdr^.dwBytesUsed);
except
end;
b.Free;