Skiasharp 导出 canvas 到图像
Skiasharp Export canvas to image
我有一个问题。
我有一个带有一些位图的 skiasharp canvas。现在我想将带有位图的 canvas 导出到图像,但我不知道该怎么做,或者如果可能的话。
有人可以帮助我吗?
要将位图转换为图像:
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);
}
}
编辑:
要将 canvas 转换为 png:
SKImage mainCanvasImage = surface.Snapshot();
SKBitmap TempTIFbitmap1 = SKBitmap.Decode(mainCanvasImage.Encode())
使用第 1 点中的上述代码保存。
希望这能解决您的问题。
您可能想参加 Snapshot of the Surface。
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 的引用。
我有一个问题。 我有一个带有一些位图的 skiasharp canvas。现在我想将带有位图的 canvas 导出到图像,但我不知道该怎么做,或者如果可能的话。
有人可以帮助我吗?
要将位图转换为图像:
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); } }
编辑:
要将 canvas 转换为 png:
SKImage mainCanvasImage = surface.Snapshot(); SKBitmap TempTIFbitmap1 = SKBitmap.Decode(mainCanvasImage.Encode())
使用第 1 点中的上述代码保存。
希望这能解决您的问题。
您可能想参加 Snapshot of the Surface。
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 的引用。