คุณไม่ได้พูดถึงระบบปฏิบัติการที่คุณใช้ ฉันใช้ Ubuntu และฉันสามารถใช้ librsvg2 ได้สำเร็จ
หากคุณสามารถเข้าถึง Ubuntu นี่คือสิ่งที่คุณสามารถทำได้ ก่อนอื่นให้ติดตั้ง librsvg2:
sudo apt-get install librsvg2-bin
จากนั้นcd
ไปยังไดเรกทอรีที่มี SVG ของคุณ (ตรวจสอบให้แน่ใจว่ามี SVG เท่านั้น!) และใช้คำสั่งดังนี้:
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/new.svg/')"
rsvg-convert "$old" -w 160 -h 160 -f svg -o "$new"
done
สิ่งนี้จะสร้าง SVG ชุดใหม่ที่มีขนาด 200px คูณ 200px และบันทึกเป็น "original-file-name.new.svg"
การคำนวณมิติค่อนข้างสับสน สำหรับการแปลง SVG เป็น SVG คุณต้องทำการคำนวณทางคณิตศาสตร์เล็กน้อย ตัวเลือก "height" และ "width" ใน rsvg-convert ใช้ pt ไม่ใช่ px ในกรณีเช่นนี้ดังนั้นใช้ 80 ถ้าคุณต้องการ 100px, 120 ถ้าคุณต้องการ 150px และอื่น ๆ
คุณยังสามารถใช้ rsvg-convert เพื่อส่งออก PNG ได้อีกด้วย มันเป็นการดีกว่าในการ rasterizing ไฟล์มากกว่า ImageMagick อย่างน้อยก็ในประสบการณ์ของข้า แจ้งให้ทราบว่าคุณจะต้องมีการเปลี่ยนแปลง-f
เพื่อให้png
คุณจะต้องเปลี่ยนการส่งออกบันทึกรูปแบบจาก's/svg$/new.svg/'
ไป's/svg$/png/'
และคุณป้อนความกว้างและความสูงที่คุณต้องการเป็นค่าพิกเซล
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/png/')"
rsvg-convert "$old" -w 200 -h 200 -f png -o "$new"
done