ฉันมีรอบ 500 ภาพ และฉันต้องปรับขนาดให้เป็น 6 ขนาดแตกต่างกัน . สามารถมีสคริปต์หรือซอฟต์แวร์ใด ๆ นอกจากนี้แพลตฟอร์มของฉันคือ อูบุนตู .
ฉันมีรอบ 500 ภาพ และฉันต้องปรับขนาดให้เป็น 6 ขนาดแตกต่างกัน . สามารถมีสคริปต์หรือซอฟต์แวร์ใด ๆ นอกจากนี้แพลตฟอร์มของฉันคือ อูบุนตู .
คำตอบ:
โปรดลองใช้ ImageMagick . ก่อนอื่นให้ติดตั้ง:
$ sudo apt-get install imagemagick
จากนั้นคุณสามารถสร้างสคริปต์ทุบตีเล็ก ๆ น้อย ๆ เพื่อแปลงเป็น 6 ขนาดของคุณ:
#!/bin/bash
# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"
# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}
find $DIR -type f | while read file; do
for size in $SIZES; do
# Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
# Remove the ! after $size if you do not wish to force the format
convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
done
done
บันทึกสคริปต์เป็นเช่น convert.sh
และเรียกใช้:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
แก้ไข: ฉันแก้ไขสคริปต์เพื่อให้แน่ใจว่าจะไม่แทนที่ไฟล์เมื่อปรับขนาด แต่เปลี่ยนชื่อไฟล์เป็นเช่น DSC01258_640x480.JPG และใช้การแปลงแทน mogrify
เนื่องจากไฟล์ถูกเปลี่ยนชื่อจริง ฉันทำให้บริสุทธิ์ของตัวแปรเล็กน้อยไม่เจ็บ
ฉันทดสอบสคริปต์ด้วยไฟล์ png และมันก็ใช้ได้ดี ควรทำงานกับรูปแบบภาพทุกประเภทที่รองรับโดย ImageMagick:
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
$ ./resize.sh wave_bible_bot/
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
หากคุณติดตั้ง ImageMagick ตามที่ Sathya กล่าวมามีส่วนหน้า GUI ที่ดีที่จะทำให้การปรับขนาดง่ายขึ้นเรียกว่า nautilus-image-converter
.
วิธีติดตั้ง:
sudo apt-get install nautilus-image-converter
รีสตาร์ทหอยโข่ง (หรือออกจากระบบและกลับเข้ามาใหม่) มันจะเพิ่ม "ปรับขนาดรูปภาพ" และ "หมุนรูปภาพ" ในเมนูบริบทของคุณดังที่แสดงที่นี่:
เพียงไฮไลต์ภาพทั้งหมดที่คุณต้องการปรับขนาดคลิกขวาเลือก ปรับขนาดรูปภาพ และคุณจะได้รับอินเทอร์เฟซนี้:
ใช้ตัวเลือก "ผนวก" และเพิ่มชื่อที่กำหนดเองให้กับรูปภาพที่ปรับขนาดแล้วของคุณ คุณอาจต้องการผนวกขนาดเช่น 1024x768 หรือ คุณสามารถทำสำเนา 6 รูปในโฟลเดอร์ต่าง ๆ จากนั้นใช้ ปรับขนาดภาพให้เข้าที่ ตัวเลือกในภาพในแต่ละโฟลเดอร์เพื่อเขียนทับด้วยภาพใหม่ที่มีขนาดแตกต่างกัน ปรับขนาดภาพให้เข้าที่ จะเขียนทับภาพที่เลือกไว้เสมอดังนั้นระวังสิ่งที่คุณเลือก!
คุณสามารถใช้ ImageMagick: ก่อนติดตั้ง ImageMagick
sudo apt-get install imagemagick
ถัดไป cd ไปยังตำแหน่งที่มีภาพของคุณ:
cd /path/to/where/images/are/stored
ถัดไปสร้างไดเรกทอรีตามขนาดภาพของคุณ
mkdir /path/to/where/images/are/stored/size
คัดลอกรูปภาพไปยังไดเรกทอรีที่คุณต้องการแปลง
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
ถัดไปเปลี่ยนไดเรกทอรีเป็นไดเรกทอรีอื่น
cp /path/to/where/images/are/stored/size
จากนั้นใช้เครื่องมือที่เรียกว่า mogrify
จัดทำโดยห้องสมุด ImageMagick เพื่อปรับขนาด
mogrify -resize 640×480! *.jpg
สิ่งนี้จะปรับขนาดทั้งหมดเป็น 640*480
, !
บอกให้บังคับอัตราส่วนกว้างยาว
ฉันไม่รู้จัก Bash scripting ดังนั้นจึงไม่ใช่เรื่องอัตโนมัติ
ควรมีการอ้างอิงหลายอย่างถึง mogrify
เครื่องมือ ใน convert
คู่มือของ ... ฉันค้นหาประมาณสี่สิบห้านาที แต่มันไม่ได้จนกว่าฉันจะเจอโพสต์อื่นที่ฉันสามารถเริ่มมองไปในทิศทางที่ถูกต้อง
เพื่อประโยชน์ของผู้อื่นบรรทัดนี้ทำสิ่งที่ฉันต้องการ มันใช้เวลาประมาณห้าสิบ 2meg ถึง 3meg JPGs (ในไดเรกทอรีเดียวกัน) และทำให้มันลดลงเหลือ 80 ถึง 120 kb และแน่นอนมันทำให้ชื่อของพวกเขาเหมือนกันหมด
mogrify *.jpg -quality 75 -resize "640x480>" *
และเพื่อประโยชน์ของผู้อื่นอีกครั้ง:
*.jpg
... ดำเนินการคำสั่ง mogrify สำหรับ JPG ทั้งหมดในไดเรกทอรี
-quality 75
... ลดคุณภาพของ jpg ลงเหลือ 75% ซึ่งเพียงพอสำหรับการรับชมออนไลน์
-resize "640x480>"
... ทำให้รูปภาพทั้งหมดถูกปรับขนาดเป็น 640x480 (สังเกต "& gt;" ในตอนท้ายนั่นทำให้รูปภาพเล็กลง แต่ 'ไม่' ใหญ่กว่า ... และอย่าลืมเครื่องหมายคำพูดเหล่านั้นมีความสำคัญ
*
... และอย่าลืมสิ่งนี้ในตอนท้ายของคำสั่ง
ฉันจะแนะนำ phatch GUI มีความยืดหยุ่นมากกว่าสิ่งที่ imagemagick และ nautilus มีให้และมีอินเตอร์เฟสบรรทัดคำสั่งด้วยหากคุณต้องการเขียนสคริปต์ คุณสามารถติดตั้งได้ด้วย
sudo apt-get install phatch
Gimp มาพร้อมกับโหมดแบทช์ ดู โหมดชุดคนพิการ .
ฉันได้สร้างเครื่องมือที่ใช้ง่าย: ปรับขนาดรูปภาพ . มันใช้ imagemagick ที่อยู่เบื้องหลัง เมื่อติดตั้งแล้วมันจะสร้างไอคอนบนเดสก์ทอป linux ของคุณ คุณสามารถลากและวางหนึ่งหรือหลายภาพหรือโฟลเดอร์ของภาพในนั้นและมันจะสร้างสำเนาปรับขนาดของแต่ละภาพ ขนาดที่คุณต้องการสามารถเปลี่ยนได้อย่างง่ายดายโดยการคลิกขวาที่ไอคอนเดสก์ท็อป
หากคุณกำลังมองหา GUI แทนที่จะเป็นเครื่องมือบรรทัดคำสั่งลองดูที่ BIR: https://github.com/agronick/BIR