예제 #1
0
 /// <summary>
 /// Appy filter.
 /// </summary>
 /// <param name="bmData">Bitmap data</param>
 private unsafe void ApplyYCbCr(BitmapData bmData)
 {
     float[][,] ycbcr = BitmapMatrix.ToYCbCr(bmData, true);
     this.filter.Apply(ycbcr[0]);
     BitmapMatrix.FromYCbCr(ycbcr, bmData);
     return;
 }
예제 #2
0
        /// <summary>
        /// Converts a Bitmap to an YCbCr structure with or without alpha-channel.
        /// </summary>
        /// <param name="Data">Bitmap</param>
        /// <param name="alpha">Alpha-channel</param>
        /// <returns>YCbCr structure array</returns>
        public static float[][,] ToYCbCr(this Bitmap Data, bool alpha = false)
        {
            BitmapData bmData = BitmapFormat.Lock32bpp(Data);

            float[][,] rgb = BitmapMatrix.ToYCbCr(bmData, alpha);
            BitmapFormat.Unlock(Data, bmData);
            return(rgb);
        }