簡體   English   中英

Canvas 繪制:僅在左側和右側繪制陰影

[英]Canvas Paint: Draw shadow only on the left and right side

我正在 canvas 上繪制一個矩形,我想在左側和右側添加陰影/發光,但不在頂部和底部。 BlurMaskFilter將是一個替代方案,但它也會影響兩個軸。

Paint paint = new Paint();
paint.setShadowLayer(10, 0, 0, Color.BLACK);
//paint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.Blur.NORMAL));

Rect rect = new Rect(0, 0, 10, 10);
canvas.drawRect(rect, paint);

我最終通過在陰影頂部使用PorterDuff.Mode.CLEAR繪制一個新的Rect來擦除這些區域。

Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
Rect rect = new Rect(left, top, right, bottom);
canvas.drawRect(rect, paint);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM