public void RemoveUser() { if (Interlocked.Decrement(ref _activeUsers) == 0) { SkImage.Dispose(); } }
public SKColor?GetPixelColor(SKPoint pixelPoint) { var pixelX = (int)Math.Round(pixelPoint.X); var pixelY = (int)Math.Round(pixelPoint.Y); if (pixelX < 0 || pixelX >= Size.Width || pixelY < 0 || pixelY >= Size.Height) { return(null); } try { using (var pixels = SkImage.PeekPixels()) { return(pixels.GetPixelColor(pixelX, pixelY)); } } catch (Exception ex) { Debug.WriteLine(ex); return(null); } }