Я в настоящее время внедряю CarrierWave в свое приложение. Я заметил, что большинство загруженных изображений не позволяют правильно создать размер эскиза (64x64).Ruby on Rails - Carrierwave - Пустые/Пустые изображения с resize_to_fill
Я использую resize_to_fit
и resize_to_fill
для разных версий, и resize_to_fill
(для обрезки) не работает большую часть времени.
Здесь я создал две версии, галерею и большой палец.
// image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :gallery do
process resize_to_fit: [400, 300]
end
version :thumb do
process :resize_to_fill => [64, 64]
end
def extension_whitelist
%w(jpg jpeg gif png)
end
end
Они выглядят правильными; однако, если вы действительно открываете большой палец в Paint, он полностью пуст.
Я проверил это с кучей разных картинок, и большинство из них это произошло. Но я заметил, что если я открою основное изображение, сохраните его (ничего не делая), а затем заново создайте версии, это исправлено. Должно быть что-то с тем, как оно спасается или что-то в этом роде.
Вот source image, что я смог воспроизвести эту проблему.
Спасибо.