首页 > 解决方案 > MakeFractalNoise 在 CanvasKit 中不起作用

问题描述

根据 Skia CanvasKit 代码注释(https://chromium.googlesource.com/skia/+/450f8565c7f36205cc72e5f7f5e01eb024e8c38a/modules/canvaskit/canvaskit/types/index.d.ts),以下内容应该会引起 Perlin 噪音:

const shader = CanvasKit.Shader.MakeFractalNoise(0.05, 0.05, 4, 2, 0, 0);
const paint = new CanvasKit.Paint();
paint.setShader(shader);
Canvas.drawRect(CanvasKit.LTRBRect(0, 0, width, height), paint);

这个小提琴中的着色器正在工作:https ://jsfiddle.skia.org/canvaskit/b382d3b660c4f314eb6a6eae9c0f1e0aadc95c0a2747b707e0dbe3f65a8b0a14

当着色器在小提琴中被 CanvasKit MakeLinearGradient 着色器替换时,它可以工作,但我无法使 MakeFractalNoise 工作 - 它返回一个空结果。

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/effects/shaders/noise上的 Skia 示例 有效。

这是否意味着 CanvasKit 中的 MakeFractalNoise 实现不完整或者我遗漏了什么?

我找不到任何已发布的相关示例,欢迎任何指点。

标签: javascriptgraphicsskiacanvaskit

解决方案


推荐阅读