2011-12-05 55 views
11

Tôi muốn đổi kích thước hình ảnh thành tối đa width. Vì vậy, tôi không quan tâm đến chiều cao của hình ảnh, nhưng tôi chỉ muốn luôn thay đổi kích thước của nó thành một chiều rộng cụ thể.ImageMagick - Thay đổi kích thước thành chiều rộng tối đa

Tôi chắc chắn tôi đã thực hiện điều này trước khi tôi không thể nhớ cách tôi đã làm điều đó ngay bây giờ.

Trả lời

29

Dường như đây là cách thực hiện, lưu ý rằng chiều rộng là tham số đầu tiên.

convert -resize '100' image.png 

Đối với bất cứ ai khác tự hỏi về chiều cao, sau đó bạn sẽ làm điều này:

convert -resize 'x100' image.png 

Nguồn: http://www.imagemagick.org/script/command-line-processing.php

Chỉnh sửa (tháng 11 năm 2014): Lưu ý rằng trong các phiên bản mới nhất của ImageMagick bạn không còn có thể sử dụng dấu ngoặc kép xung quanh các giá trị theo nhận xét của Kevin Labécot.

+4

Lưu ý nếu bạn muốn thay đổi kích thước một loạt ảnh tại chỗ (thay vì tạo tệp mới), bạn có thể sử dụng lệnh 'mogrify' thay vì' convert' – Eli

+2

Có vẻ như kích thước thiết lập bằng cách sử dụng dấu ngoặc kép không được phép nữa (tham số không hợp lệ). Tôi phải loại bỏ các dấu ngoặc kép và nó hoạt động hoàn hảo: 'convert -resize 100 image.png' –

+0

@ KevinLabécot Bạn có biết phiên bản ImageMagick này đã thay đổi gì không? ... nếu không, bạn có biết nếu làm điều đó mà không có dấu ngoặc kép làm việc trong các phiên bản cũ không? – Brett

3

Bạn có đang theo đuổi toán để tính tỷ lệ khung hình chính xác không?

$new_width = 400; // config 
$image_width = 480; // loaded from image 
$image_height = 786; // loaded from image 
$new_height = $new_width * ($image_height/$image_width); 
echo "$image_width x $image_height becomes $new_width x $new_height"; 
+2

Dude, nó sẽ giống như sau: echo $ image_width. "X". $ Image_height. "Trở thành". $ New_width. "X". $ New_height; –

+1

Dấu nháy kép phân tích cú pháp các biến số – Scuzzy

+1

Tôi biết, nhưng các biến phải được tách riêng khỏi mã html;) –

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