2

我想为图像文件添加阴影。最好的方法是什么?我想过创建一个 WPF Image 控件并添加位图效果。但是如何将结果保存到文件中?

谢谢,埃里克

4

1 回答 1

2

您可以使用 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);
}
于 2009-08-01T22:26:40.220 回答