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