Cố gắng lấy chiều rộng và chiều cao của hình ảnh được tải lên trong khi vẫn còn trong mô hình lưu ban đầu.Nhận chiều rộng và chiều cao của hình ảnh trong mô hình trong HƯỚNG DẪN GIÚP GEM
Bất kỳ cách nào để thực hiện việc này?
Đây là đoạn mã tôi đã thử nghiệm từ mô hình của mình. Tất nhiên nó không thành công trên "instance.photo_width".
has_attached_file :photo,
:styles => {
:original => "634x471>",
:thumb => Proc.new { |instance|
ratio = instance.photo_width/instance.photo_height
min_width = 142
min_height = 119
if ratio > 1
final_height = min_height
final_width = final_height * ratio
else
final_width = min_width
final_height = final_width * ratio
end
"#{final_width}x#{final_height}"
}
},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'foo_bucket'
Vì vậy, về cơ bản, tôi cố gắng làm điều này để có chiều rộng và chiều cao hình thu nhỏ tùy chỉnh dựa trên kích thước hình ảnh ban đầu.
Bất kỳ ý tưởng nào?
Thanks, điều này đã giúp tôi có được chiều cao hình ảnh mà cho phép tôi để tự động đặt một hạn chế chiều cao trên một div mà tổ chức một bức tranh và chận đứng divs từ thay đổi kích thước khi trang được tải lại :) – s84
Các bạn đã cố gắng để có được điều này để làm việc khi bạn đang sử dụng lưu trữ Amazon S3? Phương pháp của bạn hoạt động tốt cho những thứ được lưu trữ cục bộ, nhưng khi tôi thử nó trên một cái gì đó được lưu trữ trong S3, tôi nhận được một lỗi nói rằng đối tượng đó không được nhận dạng bởi lệnh 'xác định'. Có suy nghĩ gì không? Cảm ơn! – wuliwong
Chỉ cần theo dõi, tôi đã tìm thấy http://stackoverflow.com/questions/3160788/can-paperclip-read-photo-geometry-off-an-s3-bucket Và bây giờ tôi đã đọc lại ví dụ của bạn, tôi thấy bạn bao gồm tệp .to_file để làm việc với bộ nhớ S3. Vì vậy, về cơ bản, chỉ giả vờ tôi không bao giờ nói bất cứ điều gì. Cảm ơn! – wuliwong