【问题标题】:SkiaSharp text drawn over canvas not saved在画布上绘制的 SkiaSharp 文本未保存
【发布时间】:2018-11-05 20:54:41
【问题描述】:

我在 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);
}

【问题讨论】:

    标签: c# image-processing skiasharp


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-03-29
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 2017-07-27
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      相关资源
      最近更新 更多