我已经搜索了高和低有关能够使用 Carrierwave 通过将上传的文件拆分为 16 个图块来处理上传文件的更多信息。我知道我可以从命令行使用 ImageMagick 并使用以下内容拆分文件:
convert imagename: -crop 4x4@ +repage +adjoin imagename_%d.gif
例如。这非常适合平铺文件并将文件从rose_0.gif保存到rose_15.gif。
我找不到任何使用 RMagick 将执行相同功能的东西,但偶然发现了以下代码以使用 Ruby on Rails 等执行相同的功能:
def split_images
#'image' is a ImageMagick Object
width = image.cols/number_cols
height = image.rows/nubmer_rows
images = []
0.upto(number_rows-1) do |x|
0.upto(number_cols-1) do |y|
images << image.crop( Magick::NorthWestGravity, x*width, y*height, width, height, true)
end
end
end
我正在尝试从 iOS 应用程序上传图像并让 Carrierwave 通过编写版本来平铺图像: Carrierwave 中的例程来处理处理。
有可能做到这一点吗?如果是这样,文件将如何保存?而且,更重要的是,我如何在视图中“调用”或引用文件?有人可以指出我正确的方向吗?或者建议另一种方法?
我知道我可能可以编写 16 个不同的版本:命令,但这似乎有点傻。
我真的觉得我已经阅读了有关 CarrierWave 和 ImageMagick 等的所有内容,但被难住了。
任何帮助将不胜感激。
提前致谢