我正在使用 SkiaSharp 将文本绘制到已绘制背景图像的画布上。
仅绘制常规文本时效果很好,但我想为文本添加浮雕效果。为此,我尝试使用 SKImageFilter.CreateDistantLitDiffuse,它给出了正确的效果,但问题是它用浅色填充背景(也受漫反射光照常数的影响)。这最终抹去了我的背景。
下图显示了带有浮雕效果的文字,但正如您所见,它的背景不是透明的。此外,文本应该是白色的,但它的颜色已被过滤器更改。
我使用的图像过滤器是:
fontPaint.ImageFilter = SKImageFilter.CreateDistantLitDiffuse(
new SKPoint3(2, 3, 4),
SKColors.Transparent,
-3,
(float)0.2)
canvas.DrawText(element.Value, coords, fontPaint);
我已经看到了通过使用偏移量绘制文本两次来进行浮雕的示例,但这并没有达到预期的效果。
关于如何通过填充背景的图像过滤器来解决这个问题的任何想法?