Trong Java, làm cách nào tôi có thể đổi kích thước hình ảnh thành kích thước mặc định cho bất kỳ loại hoặc kích thước hình ảnh nào?Làm thế nào để thay đổi kích thước hình ảnh ban đầu thành một kích thước chung của hình ảnh trong Java?
Trả lời
Có bài viết đầy đủ về cách làm việc này khắp nơi trên net, một cái gì đó như thế này sẽ giúp bạn đi:
- Ultimate Java Image Manipulation (Bao gồm nhiều chức năng hình ảnh khác)
Bạn có thể' t dễ dàng thay đổi kích thước hình ảnh từ một kích thước tệp khác, NHƯNG, hầu hết JPG/PNG/GIF/v.v. có xu hướng có kích thước tệp tương tự dựa trên độ phân giải của chúng. Ví dụ: JPG nén 200kb thường có kích thước 1280x960. Nếu trường hợp đó xảy ra, bạn sẽ chỉ nhắm mục tiêu tất cả các hoạt động thay đổi kích thước của bạn để kích thước các hình ảnh đích đến kích thước đó và nhận được khoảng giới hạn kích thước mà bạn muốn.
Một cách thực sự dễ dàng để thực hiện việc này là sử dụng java rất đơn giản image resizing library (giấy phép Apache 2) chỉ làm mọi thứ phù hợp với bạn. Ví dụ mã để thay đổi kích thước sẽ trông như thế này:
BufferedImage img = ImageIO.read(...); // load image
BufferedImage scaledImg = Scalr.resize(img, 1280, 960);
tỷ lệ hình ảnh của bạn được tôn trọng, thư viện làm cho một best-đoán tại các phương pháp đó nên sử dụng dựa trên số lượng của sự thay đổi trong hình ảnh do nhân rộng (nhanh nhất, CÂN ĐẢM hoặc CHẤT LƯỢNG) và các loại hình ảnh Java2D được hỗ trợ tốt nhất luôn được sử dụng để thực hiện mở rộng quy mô nhằm tránh vấn đề kết quả "đen" hoặc đầu ra trông thực sự khủng khiếp (ví dụ: hình ảnh GIF được dithered quá mức).
Ngoài ra, nếu bạn muốn để buộc nó để sản xuất các kết quả tìm kiếm tốt nhất có thể trong Java, cuộc gọi API sẽ trông như thế này:
BufferedImage img = ImageIO.read(...); // load image
BufferedImage scaledImg = Scalr.resize(img, Method.QUALITY, 1280, 960);
Thư viện sử dụng Java2D khuyến khích mở rộng quy mô gia tăng cho bạn để cung cấp cho bạn kết quả tìm kiếm tốt nhất.
Bạn có thể đọc qua tất cả các nhận xét trong thư viện (mã được viết rất nhiều) để xem tất cả các lỗi JDK khác nhau đang hoạt động hoặc tối ưu hóa để cải thiện hiệu suất hoặc sử dụng bộ nhớ. Tôi đã dành rất nhiều thời gian điều chỉnh việc triển khai này và đã có rất nhiều phản hồi tốt từ những người triển khai nó trong các ứng dụng web và các dự án Java khác.
- 1. Thay đổi kích thước hình ảnh thành 50% kích thước ban đầu trong HTML
- 2. UIImageView: Thay đổi kích thước thành kích thước hình ảnh?
- 3. Thay đổi kích thước hình ảnh trong Java để giảm kích thước hình ảnh
- 4. ImageMagick - Thay đổi kích thước hình ảnh thành hình vuông
- 5. Thay đổi kích thước hình ảnh IFrame
- 6. iPhone: Hiển thị hình ảnh ở kích thước ban đầu
- 7. Thay đổi kích thước hình ảnh bitmap
- 8. thay đổi kích thước hình ảnh ckfinder
- 9. Thay đổi kích thước hình ảnh PNG
- 10. Hình ảnh bicubic Java không đầu đổi kích thước
- 11. Thay đổi kích thước hình ảnh trong thư mục
- 12. MATLAB: hiển thị hình ảnh ở kích thước ban đầu
- 13. Làm cách nào để thay đổi kích thước ảnh thành một kích thước tệp cụ thể?
- 14. Thay đổi kích thước hình ảnh trong UIWebView thành kích thước khung nhìn
- 15. thay đổi kích thước hình ảnh java getScaledInstance
- 16. Thay đổi kích thước hình ảnh jpeg thành kích thước được chỉ định
- 17. Thay đổi kích thước hình ảnh trong PIL trong Tkinter
- 18. jquery nhận kích thước hình ảnh
- 19. Thay đổi kích thước hình ảnh dựa trên kích thước của DIV bằng CSS?
- 20. Thay đổi kích thước hình ảnh trong Grails
- 21. Thay đổi kích thước hình ảnh trong python
- 22. Kích thước hình ảnh Carrierwave
- 23. Kích hoạt tải hình ảnh chậm sau khi hình ảnh đã được thay đổi kích thước
- 24. Làm thế nào để tự động thay đổi kích thước của hình ảnh trong Sitecore?
- 25. Blackberry - cách đổi kích thước hình ảnh?
- 26. Thay đổi kích thước hình ảnh trong xoay
- 27. Thay đổi kích thước hình ảnh bằng django?
- 28. Thay đổi kích thước hình ảnh trong WPF
- 29. Thay đổi kích thước một hình ảnh với stretchableImageWithLeftCapWidth
- 30. Thay đổi kích thước hình ảnh trong asp.net mà không làm mất chất lượng hình ảnh
thực sự tôi đã nói về kích thước tệp (3mb -> 200 kb), không phải là kích thước của hình ảnh. Nó có bao gồm chúng không? – Anand
@Anand bạn có tìm thấy giải pháp không? –