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); }
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); }