我有一个问题。
我有一个包含几个位图的skiasharp画布。现在我想将画布和位图导出为一张图片,但是我不知道如何做,也不确定是否可能实现。
有人可以帮助我吗?
我有一个问题。
我有一个包含几个位图的skiasharp画布。现在我想将画布和位图导出为一张图片,但是我不知道如何做,也不确定是否可能实现。
有人可以帮助我吗?
你可能正在寻找如何对这个 表面进行快照。
using (var image = surface.Snapshot())
using (var data = image.Encode(SKEncodedImageFormat.Png, 80))
using (var stream = File.OpenWrite(Path.Combine(FolderPath, "1.png")))
{
// save the data to a stream
data.SaveTo(stream);
}
这与MShah的答案非常类似,只是从表面快照中获取,假设surface
是您的Skia Surface的引用。
To convert the bitmap to image:
using (var image = SKImage.FromBitmap(yourBitmap))
using (var data = image.Encode(SKEncodedImageFormat.Png, 80))
{
// save the data to a stream
using (var stream = File.OpenWrite(Path.Combine(FolderPath, "1.png")))
{
data.SaveTo(stream);
}
}
Edit:
To convert canvas to png:
SKImage mainCanvasImage = surface.Snapshot();
SKBitmap TempTIFbitmap1 = SKBitmap.Decode(mainCanvasImage.Encode())
Use the above code from point 1 to save this.