/// <summary> /// Appy filter. /// </summary> /// <param name="bmData">Bitmap data</param> private unsafe void ApplyHSL(BitmapData bmData) { float[][,] hsl = BitmapMatrix.ToHSL(bmData, true); this.filter.Apply(hsl[2]); BitmapMatrix.FromHSL(hsl, bmData); return; }
/// <summary> /// Converts a Bitmap to an HSL structure with or without alpha-channel. /// </summary> /// <param name="Data">Bitmap</param> /// <param name="alpha">Alpha-channel</param> /// <returns>HSL structure array</returns> public static float[][,] ToHSL(this Bitmap Data, bool alpha = false) { BitmapData bmData = BitmapFormat.Lock32bpp(Data); float[][,] rgb = BitmapMatrix.ToHSL(bmData, alpha); BitmapFormat.Unlock(Data, bmData); return(rgb); }