我想为图像文件添加阴影。最好的方法是什么?我想过创建一个 WPF Image 控件并添加位图效果。但是如何将结果保存到文件中?
谢谢,埃里克
您可以使用 RenderTargetBitmap 和 Encoder 来执行此操作。编码器可以是 Png、Jpeg 等。下面的代码 imgControl 代表您的图像控件。但由于它是位图效果,您可能需要将此图像放在网格内并提供与投影等效的适当边距,然后在下面的代码中使用网格而不是 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);
}