terça-feira, 20 de agosto de 2019

Blur do css em C# (CSharp)

Para usar o Efeito Blur do Css no CSharp basta ir em 

Gerenciar Pacotes NuGet e adicione o pacote StackBlur.

Para usar a biblioteca basta usar o seguinte parametro; 

            Bitmap b = new Bitmap("Imagem.png"); 
            var radios = 50;
            StackBlur.StackBlur.Process(b, radios);
            pictureBox1.Image = b;

Para ter um efeito legal deixe o size mode da PictureBox como CenterImage e caso a imagem seja pequena para o tamanho do componente(picturebox) redimensione-a da seguinte forma;

Fonte
            static Image EscalaPercentual(Image imgFoto, int Percentual)
            {
            float nPorcentagem = ((float)Percentual / 100);

            int fonteLargura = imgFoto.Width;     //armazena a largura original da imagem origem
            int fonteAltura = imgFoto.Height;   //armazena a altura original da imagem origem
            int origemX = 0;        //eixo x da imagem origem
            int origemY = 0;        //eixo y da imagem origem

            int destX = 0;          //eixo x da imagem destino
            int destY = 0;          //eixo y da imagem destino
            //Calcula a altura e largura da imagem redimensionada
            int destWidth = (int)(fonteLargura * nPorcentagem);
            int destHeight = (int)(fonteAltura * nPorcentagem);

            //Cria um novo objeto bitmap
            Bitmap bmImagem = new Bitmap(destWidth, destHeight, PixelFormat.Format24bppRgb);
            //Define a resolu~ção do bitmap.
            bmImagem.SetResolution(imgFoto.HorizontalResolution, imgFoto.VerticalResolution);
            //Crima um objeto graphics e defina a qualidade
            Graphics grImagem = Graphics.FromImage(bmImagem);
            grImagem.InterpolationMode = InterpolationMode.HighQualityBicubic;

            //Desenha a imge usando o método DrawImage() da classe grafica
            grImagem.DrawImage(imgFoto,
                new Rectangle(destX, destY, destWidth, destHeight),
                new Rectangle(origemX, origemY, fonteLargura, fonteAltura),
                GraphicsUnit.Pixel);

            grImagem.Dispose();  //libera o objeto grafico
            return bmImagem;
            }

Para utilizar este comando junto ao StackBlur;



            Bitmap b = new Bitmap("Imagem.png"); 
            var radios = 50;
            StackBlur.StackBlur.Process(b, radios);
            pictureBox1.Image = EscalaPercentual(b, 1000);


O Efeito será esse;

De fundo é o Efeito Blur Redimensionado, e a imagem completa é a imagem utilizada.


COMENTE

& Compartilhe

0 comentários:

Postar um comentário

 

Copyright © 2015 Projeto Programação

Distributed By My Blogger Themes | Designed by Templateism