【发布时间】:2010-11-16 02:14:48
【问题描述】:
我想为图像文件添加投影。最好的方法是什么? 我想过创建一个 WPF Image 控件并添加位图效果。但是如何将结果保存到文件中?
谢谢,埃里克
【问题讨论】:
-
请注意,BitmapEffect 已过时。请改用效果。
我想为图像文件添加投影。最好的方法是什么? 我想过创建一个 WPF Image 控件并添加位图效果。但是如何将结果保存到文件中?
谢谢,埃里克
【问题讨论】:
您可以使用 RenderTargetBitmap 和编码器来执行此操作。编码器可以是 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);
}
【讨论】: