xamarin 使用SkiaSharp如何使整个图像变暗(不包括背景)

4xrmg8kj  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(204)

下面的片段使整个图像变暗,但我希望将除了背景以外的所有部分都变暗。如何才能做到这一点呢?你会注意到下面的png没有背景,所以我不知道为什么这不起作用。
我猜这与图像如何从文件和alpha通道等加载到内存有关。

SKImage image = SKImage.FromBitmap(resourceBitmap);

 var skImageFilter = SKImageFilter.CreateColorFilter(SKColorFilter.CreateBlendMode(AppColors.DarkGreyColor.ToSKColor(),
                SKBlendMode.Darken));


 image = image.ApplyImageFilter(
                skImageFilter, new SKRectI(0,0, image.Width,image.Height), new SKRectI(0, 0, image.Width, image.Height), out SKRectI subSet, out SKPoint point);

xfb7svmp

xfb7svmp1#

这可以通过 Package SKImageFilter来实现,该SKImageFilter取自另一个堆栈溢出question

SKImageFilter.CreateBlendMode(SKBlendMode.DstIn,
    SKImageFilter.CreateColorFilter(SKColorFilter.CreateBlendMode(AppColors.DarkGreyColor.ToSKColor(), SKBlendMode.Darken)));

相关问题