2
もう1つの楕円形の中に楕円形を描きたいが、最初の罫線の境界に達したときに2番目の楕円形を切り取る必要がある。Android:別の形状の中に形を描く
これは望ましい結果である。これを達成することができる方法
?
もう1つの楕円形の中に楕円形を描きたいが、最初の罫線の境界に達したときに2番目の楕円形を切り取る必要がある。Android:別の形状の中に形を描く
これは望ましい結果である。これを達成することができる方法
?
もう一つの楕円形の中に楕円形を描きたいが、最初の罫線の境界に達すると、もう一つの楕円形が途切れてしまう。
pskinkが言ったように、あなたはこの機能を実装するためにPorterDuffXfermodeを使用することができますが、ここでは簡単です:
public class DrawView : View
{
public DrawView(Context context):base(context)
{
}
protected override void OnDraw(Canvas canvas)
{
base.OnDraw(canvas);
Paint paint = new Paint();
paint.SetARGB(255, 255, 0, 0);
RectF oval2 = new RectF(60, 100, 300, 200);
canvas.DrawOval(oval2, paint);
//PorterDuff.Mode.SrcAtop means Discards the source pixels that do not cover destination pixels. Draws remaining source pixels over destination pixels
paint.SetXfermode(new PorterDuffXfermode(PorterDuff.Mode.SrcAtop));
paint.Color = Color.Black;
RectF oval3 = new RectF(110, 150, 350, 250);
canvas.DrawOval(oval3, paint);
this.SetLayerType(LayerType.Software, null);
paint.SetXfermode(null);
}
}
効果:
それは動作します!ありがとうございました! –
が見\t 'android.graphics.PorterDuffXfermode' 、それ以上は:http://ssp.impulsetrain.com/porterduff.html – pskink