Bắt đầu với ImageMagic và cố gắng tìm cách để thực hiện việc này ... Nếu hình ảnh có chiều cao nhỏ hơn 50 pixel hoặc rộng 50 pixel, tôi muốn đặt nó (un-scaled) ở trung tâm ngang/dọc của canvas mới 50x50 pixel trên nền trắng - và lưu ảnh đó làm hình ảnh mới. Bất cứ ai biết nếu điều này là có thể với ImageMagick? Cảm ơn!Sử dụng ImageMagick để đặt hình ảnh bên trong canvas lớn hơn
Trả lời
Xem cutting and bordering cho một số lượng lớn ví dụ. Dưới đây là một cách đơn giản bạn có thể thực hiện:
convert input.png -bordercolor Black -border 5x5 output.png
Tất nhiên, bạn sẽ cần tính kích thước đường viền để thêm (nếu có) dựa trên kích thước của hình ảnh đầu vào. Bạn đang sử dụng API ImageMagick hay chỉ là công cụ dòng lệnh?
Đó có thể không phải là giải pháp cho vấn đề, nhưng +1 vì nó đã giúp tôi tạo ra hình ảnh 9patch. :) – unexist
Bạn có thể sử dụng single composition để thực hiện việc này. Vì vậy, nó sẽ giống như thế này:
convert -size 50x50 xc:white null: (my_image.png -coalesce) -gravity Center -layers Composite -layers Optimize output.png
Tôi cố gắng này:
convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png
tôi đã sử dụng -extent để làm điều này:
convert input.jpg -gravity center -background white -extent 50x50 output.jpg
như đối với tôi, trọng lực nên được đặt trước '-extent':' chuyển đổi bg.png -gravity center -extent 640x960 -background trắng ../ mặc định @ 2x.png' – Cfr
... và cũng '-background' phải được đặt trước '-extent'. Trong ví dụ trên, nó hoạt động như nền được đặt màu trắng theo mặc định – theta
Tôi đã cập nhật ví dụ, cảm ơn! – Jared
Để chỉnh sửa hình ảnh nguồn bạn cần để sử dụng mogrify:
mogrify -gravity center -background white -extent 50x50 source.jpg
Tôi muốn làm như vậy, ngoại trừ thu nhỏ hình ảnh xuống 70% bên trong. Tôi đã sử dụng điều này:
convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png
Không chính xác những gì được yêu cầu nhưng hy vọng nó sẽ giúp ai đó;).
Tôi đã từng sử dụng mã này để đặt hình ảnh ở giữa canvas mới với nền trắng. hy vọng điều này sẽ giúp bạn
convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg
- 1. Tìm vị trí hình ảnh bên trong hình ảnh lớn hơn
- 2. vẽ hình ảnh lên bitmap lớn hơn
- 3. Sử dụng hình ảnh html5 canvas làm mặt nạ
- 4. Hình ảnh trung tâm lớn hơn màn hình
- 5. lưu hình ảnh lớn để PNG
- 6. Ảnh lớn hơn để vừa với picturebox
- 7. Tìm một hình ảnh nhỏ trong một lớn hơn một
- 8. Cuộn trên canvas lớn
- 9. Mọi thứ nhanh hơn ImageMagick?
- 10. Có cách nào để sử dụng JCrop để cắt một diện tích lớn hơn hình ảnh thực tế không?
- 11. Cách sử dụng Canvas để hợp nhất hai hình ảnh trong Android?
- 12. Sử dụng imagemagick làm thế nào tôi có thể cắt một hình ảnh thành một số hình ảnh riêng biệt?
- 13. Tôi có thể sử dụng khung hoạt ảnh bên trong canvas như thế nào?
- 14. Sử dụng HTML5/Canvas/JavaScript để chụp ảnh màn hình trong trình duyệt
- 15. Đặt một hình ảnh lớn trong ImageView không hoạt động
- 16. Đặt đường dẫn trong CMake (C++, ImageMagick)
- 17. Chuyển đổi nhiều hình ảnh trong Imagemagick (Windows)
- 18. Tại sao sử dụng canvas cho hoạt ảnh trong html5?
- 19. hình ảnh chuyển đổi sang Grayscale sử dụng ImageMagick là rất tối
- 20. ImageMagick - Thay đổi kích thước hình ảnh thành hình vuông
- 21. BitmapFactory trả lại hình ảnh lớn hơn nguồn
- 22. CoreGraphics vẽ hình ảnh trên canvas trắng
- 23. Tạo hình ảnh có nền trong suốt trong ImageMagick
- 24. Hình ảnh API tìm kiếm iTunes lớn hơn
- 25. Mở hình ảnh cục bộ trong canvas
- 26. Định tâm hình ảnh .jpg bằng PDF bằng Imagemagick?
- 27. Cách tải hình ảnh lên canvas HTML5
- 28. HTML5 cách vẽ hình ảnh pixel trong suốt trong canvas
- 29. Làm cách nào để phát hiện/tính toán nếu có một hình ảnh nhỏ bên trong một bức tranh lớn hơn?
- 30. Đặt tên tập tin của hình ảnh bằng ImageMagick (hoặc tương tự)
Bạn đang sử dụng API nào? – John