2
A
回答
1
我想繪製一個橢圓形的橢圓形在另一個橢圓形狀,但第二個應該被切斷,當它到達第一個的邊界。
正如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);
}
}
效果:
+0
它的工作原理!謝謝! –
相關問題
- 1. 設置在另一個形狀上繪製的形狀爲Invisible
- 2. Imagemagick - 相對於另一個形狀位置繪製形狀
- 3. 在AutoCAD中限制另一個形狀內的形狀運動
- 4. 繪製一個Rosetta形狀
- 5. android形狀內的形狀
- 6. Android的XML形狀繪製
- 7. Turtle Mini-Project - Udacity - Python - 圍繞另一個形狀繪製/移動一個形狀
- 8. MapBox:如何刪除一個形狀並繪製另一個形狀?
- 9. 如何在另一個JPanel內的JPanel上繪製形狀?
- 10. Slick2d形狀包含另一個形狀
- 11. 如何在形狀達到另一個形狀時停止形狀(Android)?
- 12. 繪製形狀與JavaScript - 形狀問題
- 13. 在opengl中翻譯另一個形狀內的形狀
- 14. 形狀可繪製
- 15. 用繪製圖形方法繪製一個形狀?
- 16. 核心圖形繪製多個形狀
- 17. 在XAML中繪製形狀?
- 18. 在UIImageView上繪製形狀
- 19. 在FlowDocument上繪製形狀
- 20. Android,Java,繪製圓弧形狀的特定形狀
- 21. 在android中繪製填充形狀mapview
- 22. 如何在Android中繪製形狀
- 23. 只有兩個形狀之一繪製
- 24. 繪製一個沒有XAML的形狀
- 25. 繪製一個形狀堆棧
- 26. 如何繪製一個CSS形狀
- 27. 在另一個矩形內創建一個形狀
- 28. 繪圖問題 - 從其他形狀繪製複合形狀
- 29. Excel VBA將一個形狀與另一個形狀比較
- 30. 使用android.graphics.Path從另一個形狀中刪除一個形狀
看到\t'android.graphics.PorterDuffXfermode' ,更多的是:http://ssp.impulsetrain.com/porterduff.html – pskink