[英]How to colorize black and white SVG loaded with SkiaSharp?
我正在玩新版本的SkiaSharp(1.55),它支持在Xamarin.Android(而不僅僅是)上加載SVG。 由於它是在不到10天前發布的事實,我找不到這么多文檔。
加載黑白SVG后,我想將它着色(將前景填充顏色從黑色改為我需要的任何顏色)。 這就是我正在做的事情。
using (var paint = new SKPaint())
{
paint.ColorFilter = SKColorFilter.CreateLighting(SKColors.White, SKColor.Parse("#FF0000"));
}
上面的代碼工作正常,但我的印象是我沒有使用正確的過濾器。
歡迎詳細解釋。
我認為濾色鏡是正確的濾鏡(因為你正在改變顏色),但你也可以嘗試使用混合模式而不是光照:
using (var paint = new SKPaint()) {
paint.ColorFilter = SKColorFilter.CreateBlendMode(
SKColors.Red, // the color, also `(SKColor)0xFFFF0000` is valid
SKBlendMode.SrcIn); // use the source color
canvas.DrawPicture(svgPicture, paint);
}
作為混合模式的結果,您可以做很多這樣的事情,甚至可以反轉顏色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.