java 自定义path样式

效果图:

上图中小圆点是自定义的一个Bitmap,需要其他样式替换图片即可。

/**
     * 绘制自定义path
     *
     * @param canvas
     * @param bitmap  附在path上面的图形
     * @param gap     图形之间的间隔距离
     * @param pathList
     * @param pathPaint
     */
    public static void drawPaths(Canvas canvas, Bitmap bitmap, float gap, List<Path> pathList, Paint pathPaint) {
        if (Util.isNotEmpty(pathList)) {
            int bw_half = bitmap.getWidth() / 2;
            int bh_half = bitmap.getHeight() / 2;

            for (Path path : pathList) {
                PathMeasure pathMeasure = new PathMeasure(path, false);
                canvas.drawPath(path, pathPaint);

                float temp = 0;
                float length = pathMeasure.getLength();
                float[] mPos = new float[2];//x,y坐标
                float[] mTan = new float[2];
                while (temp < length) {
                    pathMeasure.getPosTan(temp, mPos, mTan);
                    canvas.drawBitmap(bitmap, mPos[0] - bw_half , mPos[1] - bh_half , pathPaint);
                    temp += gap;
                }
            }


        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值