2010-01-25 59 views
5

Tôi vừa mới bắt đầu thực hiện một số tác vụ của ImageMagick. Tôi hiện đang cố gắng chuyển đổi hình ảnh từ kích thước tệp gần như hình vuông (1411 x 1486) hoặc các kích thước tương tự thành hình vuông, như 1024x1024 không may thay đổi kích thước chức năng dường như không thay đổi kích cỡ khung hình để tôi tiếp tục số như 1024x982. Tôi tự hỏi nếu có anyway để chuyển đổi một hình ảnh không nên hình vuông vào một hình ảnh vuông bằng cách sử dụng thư viện c + + của họ.ImageMagick - Thay đổi kích thước hình ảnh thành hình vuông

Lý do chúng không vuông là vì tôi đang chuyển đổi vị trí GPS sang UTM và nhận được hình vuông, nhưng không may vì đường cong của trái đất nhìn chung là khoảng 400m vuông ... trong trường hợp bạn đang tự hỏi .

Trả lời

6

Bạn có thể thêm a! vào hình dạng của bạn như "1024x1024!" về thay đổi kích thước hoặc tạo hình học rõ ràng cho phương thức thay đổi kích thước. Bạn cũng có thể cần đặt cờ cạnh mặc dù! là nghĩa vụ phải làm điều đó (tôi đã đọc một số người đã cần thiết để làm điều này, không có một lời giải thích cho bạn về điều đó, mặc dù).

0

tôi đã làm như Joshua nói. nó làm việc cho một hình ảnh. (Nhờ Joshua)

tôi cũng muốn thêm một giải pháp cho hàng loạt thay đổi kích thước vì

convert -resize 1024x1024! *.png 

không làm việc


vì vậy đây có một lệnh ví dụ cho mẫu làm việc .

mkdir scaled 
for %%x in (*.png) do convert -resize 1024x1024! %%x .\scaled\%%x 
+0

là %% x cú pháp Bash hợp lệ? Chẳng phải nó giống như $ x sao? Và bạn có đang sử dụng cùng một tệp đầu ra như tệp đầu vào không? Nếu vậy, bạn nên sử dụng mogrify và không chuyển đổi, mà không hoạt động tốt trong tình huống này ... – luca

+0

trong cửa sổ bằng cách sử dụng %% x là ok. ---- cho câu hỏi thứ hai, có một vấn đề khác. mà bạn cung cấp cho một tập tin đầu ra sẽ trở thành tập tin đầu vào trong các bước sau để quá trình này mất mãi mãi. thay vì điều này đặt chúng vào một thư mục là một ý tưởng tốt hơn và tôi sẽ chỉnh sửa câu trả lời ngay bây giờ. – ufukgun

+0

@luca Nếu bạn muốn bash bạn sẽ làm 'cho x trong * .png; chuyển đổi kích thước '1024x1024!' $ x ./scaled/$x; done' – v010dya

8

Sử dụng 1024x1024! sẽ không dán hình thu nhỏ.

Dưới đây là một liên kết đến những gì bạn muốn http://www.imagemagick.org/Usage/thumbnails/#pad

Các dòng lệnh từ liên kết (để ngăn chặn sự liên kết-thối):

convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>' \ 
      -background skyblue -gravity center -extent 100x100 pad_extent.gif 
+0

Cảm ơn! Điều này đã làm những gì tôi cần: convert original.png -thumbnail '64x64>' -gravity center -background transparent -extent 64x64 thumbnail.png –

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