2011-10-27 45 views
12

Trong ứng dụng của tôi, tôi cần phải thay đổi kích thước và làm cho chất lượng trên các tệp PNG kém hơn.thay đổi kích thước hình ảnh và chất lượng PNG

Kích thước đầy đủ PNGs là 3100x4400px khi sử dụng dung lượng đĩa trống là 2,20MB.

Khi chạy lệnh sau:

convert -resize 1400 -quality 10 input.png output.png 

những hình ảnh được thay đổi kích cỡ để 1400x2000 sử dụng không gian đĩa 5,33MB.

Vì vậy, câu hỏi của tôi là: Làm cách nào để giảm kích thước tệp?

Trả lời

4

Trang trợ giúp nói rằng, tùy chọn -quality được sử dụng với PNG đặt mức nén cho zlib, trong đó (gần) 0 là nén tồi tệ nhất, 100 - là tốt nhất (mặc định là 75). Vì vậy, hãy thử đặt -quality thành 100 hoặc thậm chí xóa tùy chọn.

Một phương pháp khác là chỉ định PNG:compression-level=N, PNG:compression-strategy=NPNG:compression-filter=N để đạt được kết quả tốt hơn nữa.

http://www.imagemagick.org/script/command-line-options.php#quality

+3

Chất lượng 100 không tồn tại cho PNG trong ImageMagick – syockit

-2

tôi thấy rằng cách tốt nhất là sử dụng các tham số

- density [value] 

.

8
  1. Bạn có thể tiếp tục làm giảm chất lượng của PNG bằng cách sử dụng posterization:

    https://github.com/pornel/mediancut-posterizer (Mac GUI)

    Đây là một hoạt động lossy cho phép zlib nén tốt hơn.

  2. Chuyển đổi hình ảnh sang PNG8 bằng cách sử dụng pngquant.

    Nó giảm hình ảnh xuống 256 màu, vì vậy chất lượng phụ thuộc vào loại hình ảnh, nhưng pngquant tạo bảng màu rất tốt, vì vậy bạn có thể ngạc nhiên về tần suất hoạt động của nó.

  3. Sử dụng Zopfli-png hoặc AdvPNG để nén lại hình ảnh tốt hơn.

    Điều này là không mất hiệu lực và được đề xuất cho tất cả hình ảnh nếu bạn có chu kỳ CPU để dự phòng.

+0

Bạn cũng có thể sử dụng 'chuyển đổi source.png png8: dest.png' chuyển đổi sang PNG8 – paulodiovani

+0

Chuyển đổi ImageMagick là khá xấu và không hỗ trợ minh bạch đúng: http : //www.imagemagick.org/discourse-server/viewtopic.php? t = 23340 – Kornel

Các vấn đề liên quan