在WPF中绘制图像控件

我必须创建应用程序,它可以加载一些图像,应用一些filter,绘制几行并保存它。 我必须使用WPF。 如何在WPF中使用Image控件? 或者另一种控制更好吗?

您可以通过向页面添加InkCanvas,将图像添加为InkCanvas的背景图像,以及添加保存function来完成此操作。

  1. 将InkCanvas添加到WPF表单:
    1. 打开工具箱(在“视图”菜单上,单击“工具箱”)
    2. 用鼠标右键单击工具箱,然后单击选择项目(选择工具箱项目对话框打开)
    3. 在“选择工具箱项”对话框的“WPF组件”选项卡上,向下滚动到“InkCanvas”并选中它,以便在复选框中显示一个复选框。
    4. 单击“确定”将InkCanvas控件添加到“工具箱”。
    5. 将InkCanvas控件从“工具箱”拖动到设计图面。
  2. 添加图像作为InkCanvas的背景。 您可以在Background或XAML中的属性窗口中执行此操作
  3. 在表单中添加“保存”按钮,然后使用以下代码进行保存:

    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文件。