绘制线条/点/文本后保存 WPF 图像控件的内容



>我创建了一个重写onRender(DrawingContext dc)方法的自定义图像类。在这种方法中,我使用drawingContext在图像中绘制线条、点和文本。在那之前,一切正常。现在我想将包含绘制元素的图像保存在一个文件夹中。我搜索了很长时间,但不幸的是没有找到合适的。有没有人知道如何将带有绘制元素的图像保存为位图?

编辑:这就是我现在拥有的:

cachedTargetBitmap = new RenderTargetBitmap((int)ActualWidth, 
(int)ActualHeight, 96, 96, PixelFormats.Pbgra32);
cachedTargetBitmap.Render(this);
var encoder = new BmpBitmapEncoder();
BitmapFrame frame = BitmapFrame.Create(Image1.TargetBitmap);
encoder.Frames.Add(frame);
using (var stream = File.Create(string.Format("{0}\Left.bmp", SavePath)))
{
encoder.Save(stream);
}
var encoder2 = new BmpBitmapEncoder();
BitmapFrame frame2 = BitmapFrame.Create(Image2.TargetBitmap);
encoder2.Frames.Add(frame2);
using (var stream = File.Create(string.Format("{0}\Right.bmp", SavePath)))
{
encoder2.Save(stream);
}

我有 2 个 WPF 图像,我在上面画线条、点和文本。将图像另存为位图时,保存的第一个图像没有文本,但带有点和线,并向右移动。第二张图像完全保存为黑色。

如果你在图片框中支付它,你可以做如下事情 - 如果你分享了你当前的代码,也很好。

Bitmap snapshot As New Bitmap(PictureBox1.Image)
PictureBox1.Image.Save("Path heretestImage.png", System.Drawing.Imaging.ImageFormat.Png)

最新更新