使用CarrierWave复制和处理图像
问题描述:
目前,我们已将CarrierWave图像大小调整为模型中的3种大小。使用CarrierWave复制和处理图像
Model.rb
...
mount_uploader :image Uploader
...
Uploader.rb
...
version :small
...
version :medium
...
version :large
...
我们想多一个字段添加到模型。 processed_image与图像(3种尺寸)相同,并在其中添加模糊滤镜。
Model.rb
...
mount_uploader :image Uploader
mount_uploader :processed_image ProcessedUploader
...
ProcessedUploader.rb
...
version :small
## add blur processed
...
version :medium
## add blur processed
...
version :large
## add blur processed
...
如何从原来的复制:图像到:processed_image并且已经将图像上传后处理?
答
您可以通过两种方式来实现:
-
使用另一场processed_image;在模型中 这样写:
before_create:copy_image
高清copy_image
self.processed_image = self.image.file
末
使用单场图像; 只需使用像small_blurred,medium_blurred,large_blurred等不同的版本,并在这些版本上处理模糊效果。