我必须创建应用程序,它可以加载一些图像,应用一些过滤器,绘制几行并保存它。我必须使用WPF来做到这一点。如何在WPF中绘制图像控件?或者另一个控制更好吗?
答案 0 :(得分:4)
您可以通过向页面添加InkCanvas,将图像添加为InkCanvas的背景图像,以及添加保存功能来实现此目的。
在表单中添加“保存”按钮,然后使用以下代码进行保存:
string newImagePath = "your file path";
var ms = new MemoryStream();
using (FileStream fs = new FileStream(newImagePath , FileMode.Create)
{
var rtb = new RenderTargetBitmap((int)inkImageCanvas.Width, (int)inkImageCanvas.Height, 96d, 96d, PixelFormats.Default);
rtb.Render(inkImageCanvas);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(fs);
}
newImagePath
是新文件的路径; inkImageCanvas
是您的InkCanvas控件。
这会将您的inkCanval内容保存为jpg文件。