Android Pathクラスを使用して「グロー」エフェクトを作成しようとしています。ただし、勾配はパスの周りに収まるように歪んでいません。代わりに、単にその上に表示され、パスのストロークにクリップされます。正方形のパスを使用して、下の画像は、私が何を意味するかを示しています。パスに沿ったグラデーションを使用
代わりに、それはより多くのようになります。つまり
を、勾配は、経路をたどります特に、CornerPathEffectで設定された半径に従ってコーナーの周りをラップします。
paint = new Paint();
paint.setStyle(Style.STROKE);
paint.setStrokeWidth(20);
paint.setAntiAlias(true);
LinearGradient gradient = new LinearGradient(30, 0, 50, 0,
new int[] {0x00000000, 0xFF0000FF, 0x00000000}, null, Shader.TileMode.MIRROR);
paint.setShader(gradient);
PathEffect cornerEffect = new CornerPathEffect(10);
paint.setPathEffect(cornerEffect);
canvas.drawPath(boxPath, paint);
任意のアイデア:
ここでは、コードの関連する部分はありますか?
もう1つの方法は、ストロークの幅を定義するときに「ソフトエッジブラシ」効果を得ることです。私はBlurMaskFiltersを実験しましたが、これらは不透明から透明への移行ではなく、一様なぼかしを提供します。それが可能なら誰でも知っていますか?
ヘイスティーブ - 私の心が長いドライブで退屈だった間、同じアイディアが先週私に起こった。私は今ここでそれを言及することを覚えていないために自分自身を蹴る!しかし、私はあなたがそれを試してみてうれしく思っています。そして、あなたが遭遇した問題について知ることは面白いです。コードを共有していただきありがとうございます。私はSVGパーサーに類似のものを追加します。私は独自のカスタム名前空間XMLタグを定義して、特定のパスでこの機能をトリガーすることができます。輝かしい仕事 - +1! – Trevor
アルファベットは '255/numberOfPasses'で、' i 'は掛けてはいけません – njzk2