如何按填充区域将svg路径拆分为多条路径

2024-05-23 22:09:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些SVG路径,考虑其中一个填充黑色。

输入:

a svg path

此svg路径由两个填充区域组成5移动到

球在右下角,2移动到

和火焰的轮廓3移动到

如何使用python将它们分为两个区域

输出:

enter image description here

enter image description here

<p>input:</p> <svg viewBox="0 0 1000 500"> <path xmlns="http://www.w3.org/2000/svg" d="M 0.0,0.0 L 512.0,0.0 L 512.0,512.0 L 0.0,512.0 L 0.0,0.0 M 227.54,25.87 L 356.53700000000003,203.15 L 136.94700000000003,33.96000000000001 L 259.07,198.92 L 20.78,26.128 L 20.775000000000002,26.128 L 200.835,258.318 L 35.878,129.186 L 205.06799999999998,354.619 L 20.17,219.052 L 230.873,447.27599999999995 C 290.86699999999996,504.08599999999996 385.753,503.09799999999996 444.537,444.31299999999993 C 503.31899999999996,385.5299999999999 504.30699999999996,290.6449999999999 447.49899999999997,230.64899999999994 L 227.54,25.87 M 355.988,248.725 C 383.382,248.725 410.774,259.175 431.674,280.075 C 473.474,321.875 473.474,389.649 431.674,431.44899999999996 C 389.87399999999997,473.2489999999999 322.101,473.24899999999997 280.301,431.44899999999996 C 238.50099999999998,389.64699999999993 238.50099999999998,321.87399999999997 280.301,280.073 C 301.20099999999996,259.173 328.596,248.72299999999998 355.989,248.72299999999998 L 355.988,248.725 M 349.254,269.459 C 332.187,269.516 312.274,276.712 296.678,290.331 C 283.544,301.79900000000004 276.215,315.346 274.461,327.228 C 272.708,339.108 275.899,349.004 284.677,356.338 C 302.232,371.005 339.909,367.523 366.177,344.586 C 379.31100000000004,333.116 386.639,319.571 388.394,307.689 C 390.148,295.809 386.956,285.913 378.17900000000003,278.579 C 371.047,272.619 360.932,269.419 349.25500000000005,269.459 L 349.254,269.459 M 396.826,393.827 C 388.22900000000004,393.85699999999997 377.76300000000003,397.533 369.68600000000004,404.477 C 362.88300000000004,410.325 359.326,417.077 358.514,422.48699999999997 C 357.702,427.897 358.964,431.67199999999997 362.82800000000003,434.85099999999994 C 370.55800000000005,441.20799999999997 390.165,440.05799999999994 403.77000000000004,428.36099999999993 C 410.57200000000006,422.51499999999993 414.13000000000005,415.76399999999995 414.94000000000005,410.35299999999995 C 415.75300000000004,404.941 414.49000000000007,401.16599999999994 410.62700000000007,397.98699999999997 C 407.4870000000001,395.405 402.70900000000006,393.80699999999996 396.82700000000006,393.82699999999994 L 396.826,393.827" fill="black"/> </svg> <p>output:</p> <svg viewBox="0 0 1000 500"> <path xmlns="http://www.w3.org/2000/svg" d="M 0.0,0.0 L 512.0,0.0 L 512.0,512.0 L 0.0,512.0 L 0.0,0.0 M 227.54,25.87 L 356.53700000000003,203.15 L 136.94700000000003,33.96000000000001 L 259.07,198.92 L 20.78,26.128 L 20.775000000000002,26.128 L 200.835,258.318 L 35.878,129.186 L 205.06799999999998,354.619 L 20.17,219.052 L 230.873,447.27599999999995 C 290.86699999999996,504.08599999999996 385.753,503.09799999999996 444.537,444.31299999999993 C 503.31899999999996,385.5299999999999 504.30699999999996,290.6449999999999 447.49899999999997,230.64899999999994 L 227.54,25.87" fill="black"/> </svg> <svg viewBox="0 0 1000 500"> <path xmlns="http://www.w3.org/2000/svg" d="M 355.988,248.725 C 383.382,248.725 410.774,259.175 431.674,280.075 C 473.474,321.875 473.474,389.649 431.674,431.44899999999996 C 389.87399999999997,473.2489999999999 322.101,473.24899999999997 280.301,431.44899999999996 C 238.50099999999998,389.64699999999993 238.50099999999998,321.87399999999997 280.301,280.073 C 301.20099999999996,259.173 328.596,248.72299999999998 355.989,248.72299999999998 L 355.988,248.725 M 349.254,269.459 C 332.187,269.516 312.274,276.712 296.678,290.331 C 283.544,301.79900000000004 276.215,315.346 274.461,327.228 C 272.708,339.108 275.899,349.004 284.677,356.338 C 302.232,371.005 339.909,367.523 366.177,344.586 C 379.31100000000004,333.116 386.639,319.571 388.394,307.689 C 390.148,295.809 386.956,285.913 378.17900000000003,278.579 C 371.047,272.619 360.932,269.419 349.25500000000005,269.459 L 349.254,269.459 M 396.826,393.827 C 388.22900000000004,393.85699999999997 377.76300000000003,397.533 369.68600000000004,404.477 C 362.88300000000004,410.325 359.326,417.077 358.514,422.48699999999997 C 357.702,427.897 358.964,431.67199999999997 362.82800000000003,434.85099999999994 C 370.55800000000005,441.20799999999997 390.165,440.05799999999994 403.77000000000004,428.36099999999993 C 410.57200000000006,422.51499999999993 414.13000000000005,415.76399999999995 414.94000000000005,410.35299999999995 C 415.75300000000004,404.941 414.49000000000007,401.16599999999994 410.62700000000007,397.98699999999997 C 407.4870000000001,395.405 402.70900000000006,393.80699999999996 396.82700000000006,393.82699999999994 L 396.826,393.827" fill="black"/> </svg>

Tags: pathsvgorg路径http区域wwwfill