コード例 #1
0
        // NET HIKIPURO gaushiann
        private void button11_Click(object sender, System.EventArgs e)
        {
            Bitmap bitmap = new Bitmap(pictureBox1.Image);

            bitmap = GaussianBlurFilter.Apply(bitmap);
            pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
            pictureBox2.Image    = bitmap;
        }
コード例 #2
0
        public mModifyGaussian(int Value)
        {
            Effect         = new GaussianBlurFilter();
            Effect.Radius  = Value;
            Effect.Enabled = true;

            filter = Effect;
        }
コード例 #3
0
        private Sf.Filter GetGaussianFilter()
        {
            GaussianBlurFilter filter = new GaussianBlurFilter();

            filter.Radius = (float)(Value % 20);

            filter.Enabled = true;
            return(filter);
        }
コード例 #4
0
        private static void Sharpen(breinImage image, double amount, double radius)
        {
            byte[] src  = image.ByteArray;
            byte[] dest = new byte[src.Length];

            GaussianBlurFilter.GaussianBlur(image.Width, image.Height, radius, amount, ref src, ref dest);

            int i = 0;
            int r, g, b;

            for (int x = 0, l = image.Width; x < l; x++)
            {
                for (int y = 0, k = image.Height; y < k; y++)
                {
                    // Apply difference of gaussian blur filter
                    b = src[i] + (int)((src[i] - dest[i]) * amount);
                    g = src[i + 1] + (int)((src[i + 1] - dest[i + 1]) * amount);
                    r = src[i + 2] + (int)((src[i + 2] - dest[i + 2]) * amount);

                    // Keep inside range 0 to 255
                    if (r < 0)
                    {
                        r = 0;
                    }
                    else if (r > 255)
                    {
                        r = 255;
                    }
                    if (g < 0)
                    {
                        g = 0;
                    }
                    else if (g > 255)
                    {
                        g = 255;
                    }
                    if (b < 0)
                    {
                        b = 0;
                    }
                    else if (b > 255)
                    {
                        b = 255;
                    }

                    // Write back final bytes
                    dest[i]     = (byte)b;
                    dest[i + 1] = (byte)g;
                    dest[i + 2] = (byte)r;

                    i += 4;
                }
            }

            image.ByteArray = dest;
        }
コード例 #5
0
        public static BitmapImage GaussianBlur(BitmapSource image, float radius)
        {
            GaussianBlurFilter filter = new GaussianBlurFilter(radius);

            using (var kimage = BitmapSourceToKaliko(image))
            {
                kimage.ApplyFilter(filter);
                return(KalikoToBitmap(kimage));
            }
        }
コード例 #6
0
        private void ApplyGaussianBlur(float radius, BitmapData bitmapData, BitmapData tempBitmapData, BitmapData outBitmapData)
        {
            if (!(radius > 0))
            {
                return;
            }

            var kernel = GaussianBlurFilter.CreateKernel(radius);

            FastGaussianBlurFilter.ConvolveAndTranspose(kernel, bitmapData, tempBitmapData, bitmapData.Width, bitmapData.Height, UseAlpha, UseAlpha && PremultiplyAlpha, false, ConvolveFilter.EdgeMode.Clamp);
            FastGaussianBlurFilter.ConvolveAndTranspose(kernel, tempBitmapData, outBitmapData, bitmapData.Height, bitmapData.Width, UseAlpha, false, UseAlpha && PremultiplyAlpha, ConvolveFilter.EdgeMode.Clamp);
        }
コード例 #7
0
        private static State <FilterChainState, XElement> BuildGaussianBlur(GaussianBlurFilter filter, CoordinatesConverter converter)
        {
            var basicElement =
                XElementBuilder
                .WithName("feGaussianBlur")
                .Add(
                    new XAttribute(
                        "stdDeviation",
                        $"{ converter.ScaleDistance( filter.StandardDeviationX )} { converter.ScaleDistance( filter.StandardDeviationY )}"));

            return(basicElement.Pipe(BuildIOFilter).Select(x => x.Build()));
        }
コード例 #8
0
        public GaussianFilterForm(Bitmap image, GaussianBlurFilter gaussianFilter)
        {
            InitializeComponent();
            this.image = image;

            radiusTrackBar.Value = gaussianFilter.Radius;
            sigmaTrackBar.Value  = gaussianFilter.Sigma;

            radiusLabel.Text = gaussianFilter.Radius.ToString();
            sigmaLabel.Text  = gaussianFilter.Sigma.ToString();

            modeCB.SelectedIndex = 0;
        }
コード例 #9
0
        public OldPhotoFilter()
        {
            blurFx       = new GaussianBlurFilter();
            blurFx.Sigma = 0.3f;

            noiseFx           = new NoiseFilter();
            noiseFx.Intensity = 0.03f;

            vignetteFx      = new VignetteFilter();
            vignetteFx.Size = 0.6f;

            gradientFx = new GradientMapFilter();
            gradientFx.ContrastFactor = 0.3f;
        }
コード例 #10
0
ファイル: OldPhotoFilter.cs プロジェクト: kshark27/ZuPix
        public OldPhotoFilter()
        {
            blurFx = new GaussianBlurFilter();
            blurFx.Sigma = 0.3f;

            noiseFx = new NoiseFilter();
            noiseFx.Intensity = 0.03f;

            vignetteFx = new VignetteFilter();
            vignetteFx.Size = 0.6f;

            gradientFx = new GradientMapFilter();
            gradientFx.ContrastFactor = 0.3f;
        }
コード例 #11
0
        public static BitmapImage GaussianBlur(BitmapSource image, float radius)
        {
            GaussianBlurFilter filter = new GaussianBlurFilter(radius);

            using (var kimage = BitmapSourceToKaliko(image))
            {
                if (kimage == null)
                {
                    return(null);
                }
                var padding = (int)Math.Ceiling(radius);
                kimage.Crop(-padding, padding, (int)image.Width + padding * 2, (int)image.Height + padding * 2);
                kimage.ApplyFilter(filter);
                return(KalikoToBitmap(kimage));
            }
        }
コード例 #12
0
        public void TestGaussionBlur()
        {
            var blur = new GaussianBlurFilter(game);

            var input  = GPUTexture.FromFile(game, TWDir.GameData.FullName + "\\Core\\Checker.png");
            var buffer = GPUTexture.CreateUAV(game, input.Resource.Description.Width, input.Resource.Description.Height, Format.R8G8B8A8_UNorm);
            var output = GPUTexture.CreateUAV(game, input.Resource.Description.Width, input.Resource.Description.Height, Format.R8G8B8A8_UNorm);

            game.GameLoopEvent += delegate
            {
                blur.Blur(input.View, buffer, output.UnorderedAccessView);

                game.Device.ImmediateContext.ClearState();
                game.SetBackbuffer();
                var size = 256;
                game.TextureRenderer.Draw(input.View, new Vector2(0, 0), new Vector2(size, size));
                game.TextureRenderer.Draw(output.View, new Vector2(size, 0), new Vector2(size, size));
            };

            game.Run();
        }
コード例 #13
0
        private Bitmap GaussianBlur(Bitmap bitmap, int amount)
        {
            GaussianBlurFilter gaussianBlur = new GaussianBlurFilter(bitmap);

            return(gaussianBlur.Process(amount));
        }