Câu trả lời:
Hãy thử sử dụng ImageMagick . Đầu tiên, cài đặt nó:
$ sudo apt-get install imagemagick
Sau đó, bạn có thể tạo một tập lệnh bash nhỏ để chuyển đổi chúng thành 6 kích cỡ của mình:
#!/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
Lưu tập lệnh dưới dạng, ví dụ convert.sh
và chạy:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Chỉnh sửa: Tôi đã chỉnh sửa tập lệnh để đảm bảo không ghi đè tệp khi thay đổi kích thước, nhưng đổi tên chúng thành ví dụ: DSC01258_640x480.JPG và sử dụng chuyển đổi thay mogrify
vì các tệp thực sự được đổi tên. Tôi cũng vệ sinh các biến một chút, không đau.
Tôi đã thử nghiệm tập lệnh với các tập tin png và nó hoạt động tốt. Nó sẽ hoạt động cho tất cả các loại định dạng hình ảnh được ImageMagick hỗ trợ:
$ 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
Nếu bạn cài đặt ImageMagick như Sathya đã đề cập, có một giao diện GUI đẹp để giúp thay đổi kích thước dễ dàng hơn nautilus-image-converter
.
Để cài đặt nó:
sudo apt-get install nautilus-image-converter
Khởi động lại nautilus (hoặc đăng xuất và đăng nhập lại). Nó sẽ thêm "Thay đổi kích thước hình ảnh" và "Xoay hình ảnh" vào menu ngữ cảnh của bạn như được hiển thị ở đây:
Chỉ cần làm nổi bật tất cả hình ảnh bạn muốn thay đổi kích thước, nhấp chuột phải, chọn Thay đổi kích thước hình ảnh và bạn sẽ nhận được giao diện này:
Sử dụng tùy chọn "Nối" và thêm tên tùy chỉnh vào hình ảnh đã thay đổi kích thước của bạn. Bạn có thể muốn nối thêm kích thước, chẳng hạn như 1024x768 HOẶC bạn có thể tạo 6 bản sao hình ảnh của mình trong các thư mục khác nhau, sau đó sử dụng tùy chọn thay đổi kích thước hình ảnh trên các hình ảnh trong mỗi thư mục để ghi đè lên chúng bằng hình ảnh mới có kích thước khác nhau. Thay đổi kích thước hình ảnh tại chỗ sẽ luôn ghi đè lên hình ảnh đã chọn, vì vậy hãy cẩn thận với những gì bạn chọn!
Bạn có thể sử dụng ImageMagick: Lần đầu tiên cài đặt ImageMagick
sudo apt-get install imagemagick
Tiếp theo, cd đến vị trí có hình ảnh của bạn ở đó:
cd /path/to/where/images/are/stored
Tiếp theo, tạo thư mục theo Imagesize của bạn
mkdir /path/to/where/images/are/stored/size
Sao chép hình ảnh vào thư mục mà bạn muốn chuyển đổi
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
Tiếp theo, thay đổi thư mục sang thư mục khác
cp /path/to/where/images/are/stored/size
Sau đó, sử dụng một công cụ được mogrify
cung cấp bởi thư viện ImageMagick để thay đổi kích thước
mogrify -resize 640×480! *.jpg
Điều này sẽ thay đổi kích thước tất cả để 640*480
, !
nói với lực tỷ lệ khung hình.
Tôi không biết Bash scripting, vì vậy nó không tự động.
Thực sự cần có một số tài liệu tham khảo về mogrify
công cụ trong convert
hướng dẫn sử dụng. ... Tôi đã tìm kiếm khoảng bốn mươi lăm phút nhưng mãi đến khi tôi bắt gặp một bài đăng khác tôi mới có thể bắt đầu tìm đúng hướng.
Vì lợi ích của người khác, dòng này đã làm chính xác những gì tôi cần. Phải mất khoảng năm mươi 2m đến 3 triệu JPG (trong cùng thư mục) và giảm tất cả xuống còn 80 đến 120 kb. Và tất nhiên, nó để lại tất cả tên của họ "chính xác" giống nhau.
mogrify *.jpg -quality 75 -resize "640x480>" *
Và, một lần nữa vì lợi ích của người khác:
*.jpg
... Thực hiện lệnh mogrify trên tất cả các JPG trong thư mục.
-quality 75
... giảm chất lượng jpg xuống 75%, rất nhiều để xem trực tuyến.
-resize "640x480>"
... làm cho tất cả các hình ảnh được thay đổi kích thước thành 640x480 (chú ý ">" ở cuối. Điều đó làm cho hình ảnh nhỏ hơn nhưng 'không' lớn hơn. ... và đừng quên dấu ngoặc kép;
*
... và đừng quên điều này ở cuối lệnh.
Gimp đi kèm với chế độ hàng loạt. xem Chế độ hàng loạt GIMP .
Tôi đã tạo một công cụ đơn giản để sử dụng: Thay đổi kích thước hình ảnh . Nó sử dụng hình ảnh phía sau cảnh. Khi được cài đặt, nó sẽ tạo một biểu tượng trên màn hình linux của bạn. Bạn có thể kéo và thả một hoặc nhiều hình ảnh hoặc một thư mục hình ảnh trên đó và nó sẽ tạo một bản sao thay đổi kích thước của mỗi hình ảnh. Kích thước bạn muốn có thể dễ dàng thay đổi bằng cách nhấp chuột phải vào biểu tượng máy tính để bàn.
Nếu bạn đang tìm kiếm một GUI chứ không phải là một công cụ dòng lệnh, hãy xem BIR: https://github.com/agronick/BIR