Текст SkiaSharp, нарисованный поверх холста, не сохранен - PullRequest
0 голосов
/ 05 ноября 2018

Я рисую SKBitmap на SKCanvas, затем рисую текст поверх холста, затем сохраняю изображение на диск. Текст не сохраняется в файл на диске, и я вижу только оригинальное растровое изображение. Чего мне не хватает?

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 голосов
/ 19 ноября 2018

Вы рисуете как растровое изображение, так и текст на холсте (mycanvas) - но при сохранении вы сохраняете только данные изображения (pngImage). Вам нужно получить то, что нарисовано на холсте, и сохранить это.

Вы можете попробовать метод Snapshot (), доступный на поверхности (которому принадлежит объект SKCanvas).

...