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.
0 comentários:
Postar um comentário