/// <summary> /// Copy the input image into the back buffer /// </summary> /// <param name="source">Input image</param> public void Send(CVImage source) { bool Reinitialise; lock (FBackLock) Reinitialise = FBackBuffer.SetImage(source); if (Reinitialise) { InitialiseFrontFromBack(); } Swap(); }
void InitialiseFrontFromBack() { lock (FBackLock) lock (FAttributesLock) { FImageAttributes = FBackBuffer.ImageAttributes; FFrontLock.AcquireWriterLock(LockTimeout); try { FFrontBuffer.SetImage(FBackBuffer); } finally { FFrontLock.ReleaseWriterLock(); } } OnImageAttributesUpdate(FImageAttributes); }