示例#1
0
        public Bitmap applyToImage(Bitmap image)
        {
            imgLowLvl.imagebits allbits = imgLowLvl.fastbits(image);

            int gradLen = gradientBits.a.Length - 1;

            for (int i = 0; i < allbits.r.Length; i++)
            {
                int average = (allbits.r[i] + allbits.g[i] + allbits.b[i]) / 3;
                allbits.r[i] = gradientBits.r[average.remapClamped(0, 255, 0, gradLen)];
                allbits.g[i] = gradientBits.g[average.remapClamped(0, 255, 0, gradLen)];
                allbits.b[i] = gradientBits.b[average.remapClamped(0, 255, 0, gradLen)];
                allbits.a[i] = gradientBits.a[average.remapClamped(0, 255, 0, gradLen)];
            }

            return(imgLowLvl.imageBitsToBitMap(allbits, image.Width, image.Height));
        }
示例#2
0
        /// <summary>
        /// Loads an image gradient from disk
        /// </summary>
        /// <param name="path">The path to load image gradient from</param>
        public image_gradient(string path)
        {
            Bitmap source = new Bitmap(path);

            gradientBits = imgLowLvl.fastbits(source);
        }