示例#1
0
        public void ResizeToNearestPowerOfTwo(SamplingFilter filter, bool regenerateMipMaps)
        {
            int width  = Width;
            int height = Height;
            int depth  = Depth;

            width  = MemoryHelper.RoundToNearestPowerOfTwo(width);
            height = MemoryHelper.RoundToNearestPowerOfTwo(height);
            depth  = MemoryHelper.RoundToNearestPowerOfTwo(depth);

            Bind();

            SamplingFilter oldFilter = ILU.GetSamplingFilter();

            ILU.SetSamplingFilter(filter);
            ILU.Scale(width, height, depth);

            if (regenerateMipMaps)
            {
                Bind();
                ILU.BuildMipMaps();
            }

            ILU.SetSamplingFilter(oldFilter);
        }
示例#2
0
        public void Apply()
        {
            if (!ILU.IsInitialized)
            {
                return;
            }

            ILU.SetLanguage(m_language);
        }
示例#3
0
        public bool Emboss(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Emboss());
        }
示例#4
0
        public bool BuildMipMaps(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.BuildMipMaps());
        }
示例#5
0
        public static bool ScaleAlpha(Image image, float scale)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.ScaleAlpha(scale));
        }
示例#6
0
        public static bool EnlargeImage(Image image, int xDim, int yDim, int zDim)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.EnlargeImage(xDim, yDim, zDim));
        }
示例#7
0
        public static bool Rotate3D(Image image, float x, float y, float z, float angle)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Rotate3D(x, y, z, angle));
        }
示例#8
0
        public static bool SwapColors(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.SwapColors());
        }
示例#9
0
        public bool Saturate(Image image, float saturation)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Saturate(saturation));
        }
示例#10
0
        public bool Pixelize(Image image, int pixelSize)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Pixelize(pixelSize));
        }
示例#11
0
        public bool Noisify(Image image, float tolerance)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Noisify(tolerance));
        }
示例#12
0
        public bool Negative(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Negative());
        }
示例#13
0
        public bool InvertAlpha(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.InvertAlpha());
        }
示例#14
0
        public bool GammaCorrect(Image image, float gamma)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.GammaCorrect(gamma));
        }
示例#15
0
        public bool Convolution(Image image, int[] matrix, int scale, int bias)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Convolution(matrix, scale, bias));
        }
示例#16
0
        public static bool ReplaceColor(Image image, byte red, byte green, byte blue, float tolerance)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.ReplaceColor(red, green, blue, tolerance));
        }
示例#17
0
        public bool Saturate(Image image, float red, float green, float blue, float saturation)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Saturate(red, green, blue, saturation));
        }
示例#18
0
        public static bool Mirror(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Mirror());
        }
示例#19
0
        public bool Sharpen(Image image, float factor, int iterations)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Sharpen(factor, iterations));
        }
示例#20
0
        public static bool Crop(Image image, int offsetX, int offsetY, int offsetZ, int width, int height, int depth)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Crop(offsetX, offsetY, offsetZ, width, height, depth));
        }
示例#21
0
        public bool Wave(Image image, float angle)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Wave(angle));
        }
示例#22
0
        public static bool Scale(Image image, int width, int height, int depth)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Scale(width, height, depth));
        }
示例#23
0
        public bool Alienify(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Alienify());
        }
示例#24
0
        public static bool ScaleColors(Image image, float red, float green, float blue)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.ScaleColors(red, green, blue));
        }
示例#25
0
        public bool BlurGaussian(Image image, int iterations)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.BlurGaussian(iterations));
        }
示例#26
0
        public bool Contrast(Image image, float contrast)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.Contrast(contrast));
        }
示例#27
0
        public bool EdgeDetectS(Image image)
        {
            if (image == null || !image.IsValid)
            {
                return(false);
            }

            IL.BindImage(image.ImageID);
            return(ILU.EdgeDetectS());
        }
示例#28
0
        public void Resize(int width, int height, int depth, SamplingFilter filter, bool regenerateMipMaps)
        {
            width  = Math.Max(1, width);
            height = Math.Max(1, height);
            depth  = Math.Max(1, depth);

            Bind();

            SamplingFilter oldFilter = ILU.GetSamplingFilter();

            ILU.SetSamplingFilter(filter);
            ILU.Scale(width, height, depth);

            if (regenerateMipMaps)
            {
                Bind();
                ILU.BuildMipMaps();
            }

            ILU.SetSamplingFilter(oldFilter);
        }