Вопрос
Я хочу добавить тень к файлу изображения. Какой лучший способ сделать это? Я думал о создании элемента управления WPF Image и добавлении растрового эффекта. Но как я могу сохранить результат в файл?
Спасибо, Эрик
Решение
Для этого вы можете использовать RenderTargetBitmap и Encoder. Кодировщик может быть Png, JPEG и т. Д. Ниже кода imgControl представляет ваш контроль изображения. Но так как это растровый эффект, вам может понадобиться поместить это изображение в сетку и дать правильный запас, эквивалентный drophadow, а затем вместо imgControl использовать сетку в приведенном ниже коде.
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);
}
Не связан с StackOverflow