Windows のバッチファイルでハートマークのsvg作る
次のサイトを参考に作ってみました
バッチファイル
@echo off
setlocal
:: パラメータ設定
set "width=100"
set /a width2=%width%/2
set "height=100"
set /a height2=%height%/2
set "arc=22"
set "top=20"
set /a top2=%height%/2-%top%
set "bottom=35"
set /a bottom2=%height%/2+%bottom%
set "direction_point=46"
set "stroke_width=4"
set "color=#bbacf2"
set "direction_angle_deg=25"
for /F "tokens=1 delims= " %%A in ('C:\app\busybox\awk.exe "BEGIN {print %direction_angle_deg% * atan2(0, -0) / 180}"') do (
set "direction_angle_rad=%%A"
)
for /F "tokens=1 delims= " %%A in ('C:\app\busybox\awk.exe "BEGIN {print %height2% + %direction_point% * sin(%direction_angle_rad%)}"') do (
set "vertical_length=%%A"
)
for /F "tokens=1 delims= " %%A in ('C:\app\busybox\awk.exe "BEGIN {print %width2% + %direction_point% * cos(%direction_angle_rad%)}"') do (
set "horizontal_length=%%A"
)
for /F "tokens=1 delims= " %%A in ('C:\app\busybox\awk.exe "BEGIN {print %width2% - %direction_point% * cos(%direction_angle_rad%)}"') do (
set "horizontal_length2=%%A"
)
:: 結果を表示
echo 縦の長さ: %vertical_length%
echo 横の長さ: %horizontal_length%
:: SVGのpath d属性を作成
set "path_d=M 6,%top2% A %arc%,%arc% 0,0,1 %width2%,%top2% A %arc%,%arc% 0,0,1 94,%top2% Q %horizontal_length%, %vertical_length% %width2%,%bottom2% Q %horizontal_length2%, %vertical_length% 6,%top2% z"
:: SVGファイル作成
(
echo ^<?xml version="1.0" encoding="UTF-8"?^>
echo ^<svg xmlns="http://www.w3.org/2000/svg" width="%width%px" height="%height%px" viewBox="0 0 100 100"^>
echo ^<path stroke="%color%" fill="%color%" stroke-width="%stroke_width%" d="%path_d%" /^>
echo ^</svg^>
) > heart.svg
echo SVGファイルが作成されました: heart.svg
endlocal
ディスカッション
コメント一覧
まだ、コメントがありません