花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 19|回复: 5

这个图案以前用svgdr画过

[复制链接]
  • TA的每日心情
    奋斗
    2026-6-21 11:08
  • 签到天数: 1850 天

    [LV.Master]伴坛终老

    3259

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2026-6-21 11:22 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    <style>
        /* svg id选择器可以定义使用的部分属性(fill、stroke-*等) */
        #msvg { display: block; margin: auto; fill: none; stroke: steelblue; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
        /* 外层图案(齿轮)样式 */
        .path{ stroke-dasharray: var(--len); stroke-dashoffset: var(--len); animation: draw linear 6s var(--delay) forwards; --delay: 4s; }
        /* 里层图案(圆)样式 */
        .cc { animation: grow linear 4s forwards; }
        /* 描边动画 */
        @keyframes draw { to { stroke-dashoffset: 0; } }
        /* 圆变大动画 */
        @keyframes grow { to { r: 120; } }
    </style>
    
    <svg id="msvg" width="600" height="600" viewBox="-200 -200 400 400" xmlns="http://www.w3.org/2000/svg"></svg>
    
    <script>
        loadJs('https://638183.freep.cn/638183/svgdr/svgdr.min.js', tzRun);
    
        function tzRun() {
            var dr = _dr(msvg);
    
            const vertex1 = dr.circlePoints(26, 200, 180); // 外切圆1点坐标
            const vertex2 = dr.circlePoints(26, 200, 160); // 外切圆2点坐标
            // 拼接路径
            let path = 'M';
            for (let i = 0; i < vertex1.length; i++) {
                const v1 = vertex1[i].join(',');
                const v2 = vertex2[i].join(',');
                path += i % 2 === 0 ? v1 + ' ' + v2 + ' ' : v2 + ' ' + v1 + ' ';
            };
            path += 'Z'; // 路径闭环
            dr.path(path).set('class', 'path'); // 绘制路径
            dr.elm.style.setProperty('--len', dr.elm.getTotalLength()); // 设置--len变量
    
            dr.circle(0, 0, 0).set('class', 'cc'); // 画圆
        }
    
        function loadJs(url, callback) {
            var script = document.createElement('script');
            script.charset = 'utf-8';
            script.src = url;
            script.onload = function() {
                if (callback) callback();
            };
            document.head.appendChild(script);
        }
    </script>
    

    评分

    参与人数 2威望 +80 金钱 +160 经验 +80 收起 理由
    红影 + 50 + 100 + 50 匠心独运,细节精致入微!
    梦江南 + 30 + 60 + 30 匠心独运,细节精致入微!

    查看全部评分

  • TA的每日心情
    奋斗
    2026-6-21 11:08
  • 签到天数: 1850 天

    [LV.Master]伴坛终老

    3259

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-6-21 11:26 | 显示全部楼层
    path 路径通过两个外切圆获取各 26 个圆周上的点坐标,这些点按照预设规则连线成为闭合路径,最终的路径数据如下:
    1. M180.00,0.00 160.00,0.00 155.35,38.29 174.77,43.08 159.38,83.65 141.67,74.36 119.76,106.10 134.73,119.36 102.25,148.14 90.89,131.68 56.74,149.60 63.83,168.30 21.70,178.69 19.29,158.83 -19.29,158.83 -21.70,178.69 -63.83,168.30 -56.74,149.60 -90.89,131.68 -102.25,148.14 -134.73,119.36 -119.76,106.10 -141.67,74.36 -159.38,83.65 -174.77,43.08 -155.35,38.29 -160.00,0.00 -180.00,0.00 -174.77,-43.08 -155.35,-38.29 -141.67,-74.36 -159.38,-83.65 -134.73,-119.36 -119.76,-106.10 -90.89,-131.68 -102.25,-148.14 -63.83,-168.30 -56.74,-149.60 -19.29,-158.83 -21.70,-178.69 21.70,-178.69 19.29,-158.83 56.74,-149.60 63.83,-168.30 102.25,-148.14 90.89,-131.68 119.76,-106.10 134.73,-119.36 159.38,-83.65 141.67,-74.36 155.35,-38.29 174.77,-43.08 Z
    复制代码

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-6-21 11:08
  • 签到天数: 1850 天

    [LV.Master]伴坛终老

    3259

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-6-21 11:28 | 显示全部楼层
    图案中,圆从小到大的动画,是通过改变圆的半径而得,半径从 0 长到 120。

    在CSS中,圆的半径属性 r 得到原生支持,所以可以使用 @keyframes 关键帧动画选择器基于圆的半径设置动画
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2026-6-21 07:47
  • 签到天数: 757 天

    [LV.10]以坛为家III

    537

    主题

    2万

    回帖

    7万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪缤纷心情心曲飞扬花好月圆飞龙在天音画大师天籁妙音共看流星风雨同行我心永远喜乐安康花潮贵宾

    发表于 2026-6-21 12:15 | 显示全部楼层
    是一个蓝色的齿轮,代码太厉害了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-6-21 11:08
  • 签到天数: 1850 天

    [LV.Master]伴坛终老

    3259

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-6-21 12:55 | 显示全部楼层
    梦江南 发表于 2026-6-21 12:15
    是一个蓝色的齿轮,代码太厉害了!

    还好吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1898

    主题

    33万

    回帖

    40万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2026-6-21 13:38 | 显示全部楼层
    都忘了外切圆的点坐标是怎么出来的了,记得得到那些点是很巧妙的
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2026-6-21 16:00 , Processed in 0.077946 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表