Example #1
0
 public void RemoveUser()
 {
     if (Interlocked.Decrement(ref _activeUsers) == 0)
     {
         SkImage.Dispose();
     }
 }
Example #2
0
        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);
            }
        }