ฉันวาดไอคอนใน InkScape และต้องการส่งออกไปยังไฟล์ ICO ที่จะรวม sprites สำหรับการแก้ปัญหาที่สมเหตุสมผลทั้งหมด (16x16, 32x32, ... 256x256 และอื่น ๆ ) วิธีนี้สามารถทำได้ (โดยไม่ต้องใช้ซอฟต์แวร์ขนาดใหญ่และมีราคาแพงเช่น Photoshop, CorelDraw และอื่น ๆ )?
ฉันวาดไอคอนใน InkScape และต้องการส่งออกไปยังไฟล์ ICO ที่จะรวม sprites สำหรับการแก้ปัญหาที่สมเหตุสมผลทั้งหมด (16x16, 32x32, ... 256x256 และอื่น ๆ ) วิธีนี้สามารถทำได้ (โดยไม่ต้องใช้ซอฟต์แวร์ขนาดใหญ่และมีราคาแพงเช่น Photoshop, CorelDraw และอื่น ๆ )?
คำตอบ:
คุณสามารถใช้ImageMagick ได้ทันที:
convert -density 384 icon.svg -define icon:auto-resize icon.ico
convert -background none icon.svg -define icon:auto-resize icon.ico
เพื่อเก็บพื้นหลังโปร่งใส
magick convert -background none icon.svg -define icon:auto-resize icon.ico
ทำงานให้ฉัน
โซลูชันบรรทัดคำสั่ง:
1) ส่งออก SVG ของคุณเป็น PNG ด้วย InkScape
2) ปรับขนาดภาพ PNG นี้ตามขนาดที่คุณต้องการด้วย ImageMagick:
magick convert master.png -resize 16x16 16.png
magick convert master.png -resize 32x32 32.png
magick convert master.png -resize 48x48 48.png
3) แปลงภาพ PNG เป็น ICO:
magick convert 16.png 32.png 48.png icon.ico
4) ตรวจสอบให้แน่ใจว่า ICO ของคุณมีทุกอย่าง:
identify icon.ico
icon.ico[1] ICO 16x16 16x16+0+0 32-bit sRGB 21.2KB 0.000u 0:00.000
icon.ico[0] ICO 32x32 32x32+0+0 32-bit sRGB 21.2KB 0.000u 0:00.000
icon.ico[0] ICO 48x48 48x48+0+0 32-bit sRGB 21.2KB 0.000u 0:00.000
รุ่นทุบตี ...
#!/bin/bash
set -ex
svg=$1
size=(16 32 24 48 72 96 144 152 192 196)
echo Making bitmaps from your svg...
for i in ${size[@]}; do
inkscape $svg --export-png="favicon-$i.png" -w$i -h$i --without-gui
done
echo Compressing...
## Replace with your favorite (e.g. pngquant)
# optipng -o7 favicon-*.png
pngquant -f --ext .png favicon-*.png --posterize 4 --speed 1
echo Converting to favicon.ico...
convert $(ls -v favicon-*.png) favicon.ico
## Clean-up maybe?
# rm favicon-*.png
echo Done
การใช้งาน:
./favicon.sh your-square-svg-file.svg
ต้องการ: inkscape imagemagick optipng (ตัวเลือก) จากผู้จัดการแพ็คเกจ
ฉันพบว่ามันง่ายกว่าในการสร้างสิ่งนี้ใหม่สำหรับเชลล์ bash เนื่องจาก Win10 และ Inkscape ไม่ได้เข้ากัน สิ่งนี้ได้รับการทดสอบภายในระบบย่อยของ Windows สำหรับ Linux แต่ควรใช้กับ Mac ได้เช่นกัน
ที่ใช้อ้างอิงนี้เพื่อเลือกขนาดที่ผมได้รับการดูแลเกี่ยวกับ: https://github.com/audreyr/favicon-cheat-sheet ปรับsize
อาร์เรย์ตามความต้องการเฉพาะของคุณ
ฉันอยากจะแนะนำวิธีการนี้:
1) สร้างสคริปต์เพื่อส่งออก SVG ไปยังขนาดที่ต้องการ ฉันได้เขียนสคริปต์. bat นี้เพื่อช่วยฉันสร้างไอคอน Android
@echo off
set file="%~f1"
set path=%~dp1
set inkscape="C:\Program Files\Inkscape\inkscape.exe"
echo Le icone saranno salvate in %path%
echo Produzione icone applicative
echo %file% --export-png="%path%/ic32.png" -w32 -h32 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic48.png" -w48 -h48 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic72.png" -w72 -h72 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic96.png" -w96 -h96 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic144.png" -w144 -h144 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic192.png" -w192 -h192 > %~dp1/commands.txt
echo %file% --export-png="%path%/ic512.png" -w512 -h512 > %~dp1/commands.txt
%inkscape% --shell < %~dp1/commands.txt
erase "%~dp1/commands.txt"
echo Procedura terminata
หมายเหตุ :
ด้วยพารามิเตอร์นี้ Inkscape จะเข้าสู่โหมดเชลล์บรรทัดคำสั่งแบบโต้ตอบ ในโหมดนี้คุณพิมพ์คำสั่งที่พรอมต์และ Inkscape ดำเนินการโดยไม่ต้องเรียกใช้สำเนาใหม่ของ Inkscape สำหรับแต่ละคำสั่ง คุณลักษณะนี้มีประโยชน์ส่วนใหญ่สำหรับการเขียนสคริปต์และเซิร์ฟเวอร์ใช้: มันไม่เพิ่มความสามารถใหม่ แต่ช่วยให้คุณสามารถปรับปรุงความเร็วและข้อกำหนดหน่วยความจำของสคริปต์ใด ๆ ที่เรียก Inkscape ซ้ำเพื่อดำเนินงานบรรทัดคำสั่ง (เช่นการส่งออกหรือการแปลง) แต่ละคำสั่งในโหมดเชลล์จะต้องเป็นบรรทัดคำสั่ง Inkscape ที่ถูกต้อง แต่ไม่มีชื่อโปรแกรม Inkscape เช่น "file.svg --export-pdf = file.pdf" ( ดูคู่มือ inkscape )
2) เพิ่มสคริปต์แปลงข้างต้นลงในคำตอบ philippe-bซึ่งรวม PNG ที่สร้างขึ้นทั้งหมดไว้ในไฟล์ ICO ไฟล์เดียว
3) อีกทางเลือกหนึ่งลบ PNG ที่ส่งออกทั้งหมดเนื่องจากไม่จำเป็นต้องใช้อีกต่อไป
เว็บไซต์นี้เป็นเว็บไซต์ของฉันสำหรับการสร้าง favicon เนื่องจากมีไอคอนสำหรับเพิ่มไปยังหน้าจอหลักสำหรับอุปกรณ์ส่วนใหญ่ (Windows, MacOS, Android, iOS) https://realfavicongenerator.net/