2009-10-12 36 views
19

Tôi đang sử dụng ImageMagick từ dòng lệnh để thay đổi kích thước hình ảnh:ImageMagick có thể trả lại kích thước hình ảnh không?

convert -size 320x240 image.jpg 

Tuy nhiên, tôi không biết làm thế nào để xác định kích thước của hình ảnh cuối cùng. Vì đây là tỷ lệ hình ảnh tỷ lệ thuận, rất có thể hình ảnh mới có kích thước 100x240 hoặc 320x90 (không phải 320x240).

Tôi có thể gọi lệnh 'chuyển đổi' để đổi kích thước hình ảnh và trả về kích thước hình ảnh mới không? Ví dụ, mã giả:

convert -size 320x240 -return_new_image_dimension image.jpg // returns the new resized image dimensions 

Trả lời

33

Bạn có thể sử dụng một cuộc gọi thêm để identify:

convert -size 320x240 image.jpg; identify -format "%[fx:w]x%[fx:h]" image.jpg
+1

tò mò, tại sao 'nhận dạng-định dạng"% [fx: w] x% [fx: h] "' thích hợp hơn với 'nhận dạng-định dạng"% [w] x% [h] "'? – mark

+0

Tôi nghĩ rằng nó không phải là, @mark. Tôi không thể tưởng tượng rằng vào năm 2009, '% w' và'% h' chưa được hỗ trợ. Nhưng nếu 'fx:' có một số tác dụng phụ, thì tôi đoán tôi cũng đã đề cập đến điều đó. Kỳ dị. Tôi sẽ làm một số thử nghiệm ... – Arjan

0

Nếu bạn chỉ định tùy chọn -verbose, chuyển đổi bản in:

original.jpg=>scaled.jpg JPEG 800x600=>100x75 100x75+0+0 8-bit sRGB 4.12KB 0.020u 0:00.009 
             ^^^^^^ 
2

Tôi không chắc chắn với các định dạng %w%h. Trong khi Photoshop nói hình ảnh của tôi là 2678x3318 (và tôi thực sự tin tưởng Photoshop), identify mang lại cho tôi:

identify -ping -format '=> %w %h' image.jpg 
=> 643x796 

(cũng vậy [fx: w] và [fx: h])

tôi đã phải sử dụng

identify -ping -format '=> %[width] %[height]' image.jpg 
=> 2678x3318 

tôi không biết những gì đang xảy ra ở đây, nhưng bạn có thể nhìn thấy cả hai giá trị trên đầu ra tiêu chuẩn (trong đó chiều rộng và chiều cao trước các => là những người đúng)

identify -ping image.jpg 
image.jpg PAM 2678x3318=>643x796 643x796+0+0 16-bit ColorSeparation CMYK 2.047MB 0.000u 0:00.000 

The documentation nói% w là hiện chiều rộng và% [width] là gốc chiều rộng. Gây nhầm lẫn.

%w%h có thể đúng cho hầu hết các mục đích sử dụng, nhưng không phải cho mọi ảnh.

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