SkiaSharp在画布上绘制的文本未保存

时间:2018-11-05 20:54:41

标签: c# image-processing skiasharp

我正在SKCanvas上绘制一个SKBitmap,然后在画布上绘制一些文本,然后将图像保存到磁盘。文本不会保存到磁盘上的文件中,而我只能看到原始位图。我想念什么?

SKBitmap pngImage = SKBitmap.Decode(msBitmap.ToArray());
mycanvas.DrawBitmap(pngImage, 0, 0);
mycanvas.DrawText("Text", 10, 10, myBrush);
using (var stream = File.OpenWrite(myfileName))
{ 
  SKData d = SKImage.FromBitmap(pngImage).Encode(SKEncodedImageFormat.Png, 100);
  d.SaveTo(stream);
}

1 个答案:

答案 0 :(得分:0)

您正在将位图和文本都绘制到画布(mycanvas)-但保存时,仅保存图像数据(pngImage)。您需要获取在画布上绘制的内容,并将其保存。

您可以尝试表面(拥有SKCanvas对象)上可用的Snapshot()方法。