我正在寻找一种方法,将创建了SKDocument.CreatePdf(ManagedStreamForPdfMemoryStream);
这样的pdf的SKDocument转换为等效于SKBitmap
的图像
答案 0 :(得分:0)
这是不可能的,SKDocument.CreatePdf
生成的PDF文件无法使用SkiaSharp读取位图。
正如我在这个答案中提到的,我建议寻找不与SkiaSharp关联的加载PDF的方法-它们是不同的任务。 https://stackoverflow.com/a/59513162/1117914
但是...
如果要使用SkiaSharp创建PDF,则只需使用与创建PDF相同的逻辑来创建位图即可。
您甚至可以使用类似SKNWayCanvas
的图形进行平行绘制:https://docs.microsoft.com/dotnet/api/skiasharp.sknwaycanvas
var pdf = document.BeginPage();
var bmp = imageSurface.Canvas;
var canvas = new SKNWayCanvas(100, 100);
canvas.AddCanvas(pdf);
canvas.AddCanvas(bmp);
canvas.DrawRect(...);
最后,您将获得一个PDF和一组可在屏幕上渲染的位图。无需额外的工作,也不需要加载文件。