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