Esempio n. 1
0
        private void FillHsvSpectrum()
        {
            var width  = (int)_spectrumEllipse.ActualWidth;
            var height = (int)_spectrumEllipse.ActualHeight;

            WriteableBitmap bitmap = new(width, height, 96, 96, PixelFormats.Bgra32, null);

            var bgraMinPixelData = ColorWheelHelpers.GetHsvData(width, height);

            var stride = (bitmap.PixelWidth * bitmap.Format.BitsPerPixel) / 8;

            bitmap.WritePixels(new Int32Rect(0, 0, width, height), bgraMinPixelData.ToArray(), stride, 0);

            _spectrumEllipse.Fill = new ImageBrush(bitmap);
        }
Esempio n. 2
0
        private void FillHsvSpectrum()
        {
            int width  = (int)_spectrumEllipse.Bounds.Width;
            int height = (int)_spectrumEllipse.Bounds.Height;

            var bitmap = new WriteableBitmap(new PixelSize(width, height),
                                             new Vector(96, 96), PixelFormat.Bgra8888, AlphaFormat.Premul);

            var bgraMinPixelData = ColorWheelHelpers.GetHsvData(width, height);

            using (var fb = bitmap.Lock())
                Marshal.Copy(bgraMinPixelData.ToArray(), 0, fb.Address, bgraMinPixelData.Count);

            _spectrumEllipse.Fill = new ImageBrush(bitmap);
        }