現在、Xamarin.Formsアプリケーションを作成しています。私のページの1つはSkiaSharpを使用して、ユーザーがテキストマーカースタイル(黄色の不透明度の低いブラシ)で画像の一部をハイライト表示できるようにします。SkiaSharpの不透明度の「追加」を避ける方法
これは、関連SKPaintオブジェクトが定義されている方法です。これまでのところ正常に動作しますが、どのような私を気にすることは、不透明度「増加」は、ときに私はいくつかの点でまで、複数の重複パスを持っているということであるということ
var strokePaint = new SKPaint()
{
Color = Color.FromRgba(255, 255, 0, 100).ToSKColor(),
Style = SKPaintStyle.Stroke,
StrokeWidth = StrokeWidth
};
下にある画像はもう見えません。
この重複を避けるにはどうすればよいですか?私はすべてのパスを1つにマージすることを考えていましたが、ユーザーがストロークの間にStrokeWidthを変更することが許可されていて、幅の変化するパスを描画する方法が見当たらないため動作しません。
皆さんのお役に立てれば幸いです。どんなアイデアもありがとう!
私はSkiaをよく知っているわけではありませんが、私は['SKPaint'](https://developer.xamarin.com/api/type/SkiaSharp.SKPaint/)のドキュメントを見ています['BlendMode'](https://developer.xamarin.com/api/property/SkiaSharp.SKPaint.BlendMode/)プロパティを持っているようです。他のシステムでどのくらい似たようなことが起きているかに基づいて、色の結合方法を制御する必要があります。あなたは、あなたが探している効果を得るために異なる値を試しなければならないかもしれません。 'Dst'、または' Modulate'は良い候補のように見えます。 –