我想在画面中加上几条线段(标尺),用的是TVideoCap。
我在OnFrameCallback函数中加了以下几行代码:procedure TVideoForm.VideoCap1FrameCallback(sender: TObject;
  lpVhdr: PVIDEOHDR);
var
  hdc,hOldPen:Integer;
begin
  hdc := GetDC(VideoCap1.Handle);
  hOldPen := SelectObject(hdc, GetStockObject(BLACK_PEN));
  MoveToEx(hdc, 0, 0, nil);
  LineTo(hdc, 60, 60);
  SelectObject(hdc, hOldPen);
  ReleaseDC(VideoCap1.Handle, hdc);
end;所画的线已经出来了,就是闪得厉害。我觉得应该在lpVhdr指向的内存里画图,但是不知道具体怎么做,请各位DX指点,谢谢!附
lpVHdr :
Address of a VIDEOHDR structure containing information about the captured frame. TVIDEOHDR = record
    lpData:pByte;                 // pointer to locked data buffer
    dwBufferLength:DWORD;         // Length of data buffer
    dwBytesUsed:DWORD;            // Bytes actually used
    dwTimeCaptured:DWORD;         // Milliseconds from start of stream
    dwUser:DWORD;                 // for client's use
    dwFlags:DWORD;                // assorted flags (see defines)
    dwReserved: array [0..4] of DWORD;    // reserved for driver
end;