2017-09-26 113 views
0

目前,我们已将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并且已经将图像上传后处理?

回答

0

您可以通过两种方式来实现:

  1. 使用另一场processed_image;在模型中 这样写:

    before_create:copy_image

    高清copy_image

    self.processed_image = self.image.file 
    

  2. 使用单场图像; 只需使用像small_blurred,medium_blurred,large_blurred等不同的版本,并在这些版本上处理模糊效果。