C# 如何将D2D位图编码为png

C# 如何将D2D位图编码为png,c#,wpf,encode,direct2d,wic,C#,Wpf,Encode,Direct2d,Wic,目前,我正在WPF C#中编程一个绘画应用程序,遇到了一个问题。我想画不同的形状并将它们保存为png/bmp。所以现在我正在将bmp解码为direct2d位图,以便在rendertarget上绘制。但我的问题是,我不知道如何将D2DBitmap保存为png,因为我找不到编码函数 我不允许使用SharpDX,所以我希望有人能帮助我解决这个问题 或者可能有人有另一种用于绘制形状和东西的解决方案,但不在xml文件中。所以我自己管理它 我创建了一个surfaceRenderTarget,可以在上面绘制,

目前,我正在WPF C#中编程一个绘画应用程序,遇到了一个问题。我想画不同的形状并将它们保存为png/bmp。所以现在我正在将bmp解码为direct2d位图,以便在rendertarget上绘制。但我的问题是,我不知道如何将D2DBitmap保存为png,因为我找不到编码函数

我不允许使用SharpDX,所以我希望有人能帮助我解决这个问题


或者可能有人有另一种用于绘制形状和东西的解决方案,但不在xml文件中。

所以我自己管理它

我创建了一个surfaceRenderTarget,可以在上面绘制,也可以在屏幕上显示

然后,我创建了一个具有相同属性的WicBitmapRenderTarget,该Rendertarget可以使用saveToFile方法轻松保存

因此,我在surfaceRenderTarget上绘制,并将每个操作推送到OperationsStack,当我单击“保存”按钮时,程序会在bitMapTarget上绘制孔堆栈并保存该堆栈

这是我的解决方案,也许有人有更好的