Pergunta
Eu quero adicionar uma sombra para um arquivo de imagem. Qual é a melhor maneira de fazer isso? Eu pensei sobre como criar um WPF controle de imagem e adicionando um efeito de bitmap .. Mas como posso salvar o resultado em um arquivo?
Obrigado, Eric
Solução
Você pode usar RenderTargetBitmap e um codificador para fazer isso. Codificador pode ser PNG, JPEG, etc .. Abaixo código imgControl representa o seu controle de imagem. Mas uma vez que é um efeito de bitmap pode ser necessário colocar essa imagem dentro de uma grade e dar adequada margem equivalente ao dropshadow e, em seguida, em vez de imgControl usar a grade no código abaixo.
double Height = imgControl.ActualHeight;
double Width = imgControl.ActualWidth;
RenderTargetBitmap bmp = new RenderTargetBitmap((int)Width, (int)Height,
96, 96, PixelFormats.Pbgra32);
bmp.Render(imgControl);
BitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
using (Stream stream = File.Create("Yourfile.jpeg"))
{
encoder.Save(stream);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow