android开发PathEffect问题处理

android开发PathEffect问题处理,第1张

概述我要画出一块由不规则path组成的区域,并且这个path因为视觉效果需要设置圆角,我就通过Paint.setPathEffect(newCornerPathEffect(300));给设置了圆角,但是在通过这个path组合成区域的时候因为这个圆角的设置整个区

我要画出一块由不规则path组成的区域,并且这个path因为视觉效果需要设置圆角,我就通过Paint.setPathEffect(new CornerPathEffect(300)); 给设置了圆角,但是在通过这个path组合成区域的时候因为这个圆角的设置整个区域都有圆角的效果了,这不是我想要的。

如图,黑色是我的path,红色是我设置了圆角的由path组成的区域。四个角落都有了圆角的效果,这不是我想要的。

而蓝色区域是未设置圆角的,此时path一侧的区域就不符合标准了。

以下是我的全部代码

public class PathEffectVIEw extends VIEw {  private Path line;  private Paint linePaint;  private Path range;  private Paint rangePaint;  private final Paint paint3;  public PathEffectVIEw(Context context,@Nullable AttributeSet attrs) {    super(context,attrs);    linePaint = new Paint(Paint.ANTI_AliAS_FLAG);    linePaint.setstrokeWIDth(10);    linePaint.setcolor(color.BLACK);    linePaint.setStyle(Paint.Style.stroke);    linePaint.setPathEffect(new CornerPathEffect(300));    rangePaint = new Paint(linePaint);    rangePaint.setcolor(color.BLUE);    rangePaint.setStyle(Paint.Style.FILL);    paint3 = new Paint(linePaint);    paint3.setcolor(color.RED);  }  @OverrIDe  protected voID onSizeChanged(int w,int h,int olDW,int oldh) {    super.onSizeChanged(w,h,olDW,oldh);    line = new Path();    range = new Path();    line.moveto(0,1000);    line.rlineto(200,-150);    line.rlineto(200,300);    line.rlineto(200,-350);    line.rlineto(200,320);    line.rlineto(200,-370);    line.lineto(w,800);    range.addpath(line);    range.lineto(w,h);    rangePaint.setPathEffect(null);    range.lineto(0,h);    range.close();  }  @OverrIDe  protected voID onDraw(Canvas canvas) {    super.onDraw(canvas);    canvas.save();    canvas.translate(0,-20);    canvas.drawPath(line,linePaint);    canvas.restore();    canvas.drawPath(range,rangePaint);    canvas.drawPath(range,paint3);  }}

总结

以上是内存溢出为你收集整理的android开发PathEffect问题处理全部内容,希望文章能够帮你解决android开发PathEffect问题处理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1143757.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存