3

文档说:

如果可以执行调整大小操作,则返回调整大小的位图,否则返回 null。

显然没有帮助。完全没有。它至少可以给我们一个枚举/错误代码/任何东西。

所以我下载了lib的源代码,发现SKBitmaps.resize最终调用了SKPixmap.Resize,然后调用SkiaApi.sk_bitmapscaler_resize...

这就是路的尽头,因为(这里)SkiaApi.sk_bitmapscaler_resize实现为.extern

所以我开始下载实际的Skia(因为 SkiaSharp 只是一个薄包装器)来尝试找出为什么有时这种方法会失败。

但我只是无法找出SkiaApi.sk_bitmapscaler_resize映射到哪个函数/方法。

有人能告诉我它映射到哪个功能吗?甚至更好的是,为什么有时这种方法会失败?

4

1 回答 1

0

谷歌代码有点模糊,这就是 SkiaSharp 文档受限的原因。

但是...查看代码,似乎源颜色类型和目标颜色类型都需要是 32 位平台颜色类型(Bgra8888 或 Rgba888)。

您还可以检查以确保像素地址 ( GetPixels()) 正确(不是null/ IntPtr.Zero)。

最后,确保目标大小为>= 1.

于 2018-01-13T21:36:02.463 回答