Trong Django, có thể thay đổi (đổi kích thước) hình ảnh đã tải lên trước khi được lưu vào đĩa không? Tôi muốn làm điều này mà không cần sử dụng bất kỳ ứng dụng bổ sung nào.Django thay đổi kích thước hình ảnh trong khi tải lên
Trả lời
Tôi đã cảm thấy khó chịu mà tôi không thể tìm thấy một ví dụ làm việc hoàn tất, chỉ bit ở đây và ở đó. Tôi đã tự mình cùng nhau giải quyết. Dưới đây là ví dụ hoàn chỉnh, tôi đặt nó trong phương thức clean() của biểu mẫu (bạn cũng có thể ghi đè lên mô hình phương thức save(), theo cách hoàn toàn - thay đổi thuộc tính tệp của ImageField).
import StringIO
from PIL import Image
image_field = self.cleaned_data.get('image_field')
image_file = StringIO.StringIO(image_field.read())
image = Image.open(image_file)
w, h = image.size
image = image.resize((w/2, h/2), Image.ANTIALIAS)
image_file = StringIO.StringIO()
image.save(image_file, 'JPEG', quality=90)
image_field.file = image_file
Cảm ơn ví dụ này nhưng tôi không hiểu mọi thứ ... "Thông tin" là gì? Nếu không, trong python 3.x nó là io.StringIO (...) – HydrUra
Bạn có thể sử dụng PIL và đổi kích thước hình ảnh trong phương thức YourModel.save().
Ví dụ:
http://djangosaur.tumblr.com/post/422589280/django-resize-thumbnail-image-pil
http://davedash.com/2009/02/21/resizing-image-on-upload-in-django/
Bạn có ví dụ về mã không? – johndoevodka
Vâng, được thêm vào bài viết của tôi :) – Efrin
+1 cho đề xuất PIL – Amyth
- 1. Thay đổi kích thước hình ảnh trước khi tải lên
- 2. thay đổi kích thước hình ảnh khi lưu
- 3. Thay đổi kích thước hình ảnh bằng django?
- 4. Tải lên và đổi kích thước hình ảnh PHP
- 5. Kích hoạt tải hình ảnh chậm sau khi hình ảnh đã được thay đổi kích thước
- 6. php thay đổi kích thước hình ảnh vào hoặc trước khi tải lên
- 7. Android CustomWebChromeClient openFileChooser Thay đổi kích thước hình ảnh trước khi tải lên
- 8. thay đổi kích thước hình ảnh ckfinder
- 9. nén kích thước tệp hình ảnh khi tải lên?
- 10. Thay đổi kích thước hình ảnh trên máy chủ
- 11. Cách đổi kích thước hình ảnh trong khi tải lên bằng cách sử dụng Zend_File_Transfer_Adapter_Http();
- 12. C# hình ảnh mvc tải lên thay đổi kích thước phía máy chủ
- 13. Hình ảnh tải lên flash thay đổi kích thước phía máy khách
- 14. Thay đổi kích thước hình ảnh IFrame
- 15. UIImageView: Thay đổi kích thước thành kích thước hình ảnh?
- 16. Thay đổi kích thước hình ảnh trong Java để giảm kích thước hình ảnh
- 17. Thay đổi kích thước hình ảnh PNG
- 18. Thay đổi kích thước hình ảnh trong Grails
- 19. CodeIgniter Tải lên hình ảnh và sau đó thay đổi kích thước nó
- 20. Thay đổi kích thước hình ảnh bitmap
- 21. PHP - Thay đổi kích thước hình ảnh trong máy chủ trước khi trình duyệt tải xuống
- 22. Hình ảnh không thay đổi kích thước trong hình thức nhập WYGWAM/Safecracker/Kênh Hình ảnh
- 23. thay đổi kích thước hình ảnh từ tập tin
- 24. 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
- 25. Thay đổi kích thước hình ảnh bằng Crop
- 26. Có thể thay đổi kích thước hình ảnh (phía máy khách) trên biểu mẫu html trước khi tải lên không?
- 27. jQuery/javascript - Nhận kích thước hình ảnh trước khi tải
- 28. Thay đổi kích thước hình ảnh trong PIL trong Tkinter
- 29. Tải kích thước tệp tải lên trước khi tải lên
- 30. Thay đổi kích thước hình ảnh trong WPF
[Bạn đã thử gì?] (Http://whathaveyoutried.com) – arulmr
Sử dụng PIL cho công việc: http://stackoverflow.com/questions/273946/how-do-i-resize-an -image-using-pil-and-maintain-aspect-aspect-tỷ lệ –
bạn cần phải sử dụng một thư viện bên ngoài hoặc một ứng dụng để đạt được điều đó như django không có bất kỳ phương pháp được xác định trước cho những gì bạn đang tìm kiếm để làm. – Amyth