我在ImageList中有一组图像,我想创建一个160x600的蒙太奇。以下是我到目前为止所做的事情:
collage = image_list.montage do |mont|
mont.background_color = "#444444"
mont.geometry = '160x600'
end
我认为mont.geometry会设置得到的拼贴画的宽度/高度,但不是,我认为它实际上正在调整拼贴中放置的每个图像。
如何确保生成的拼贴画是160x600,并且形成它的图像是否按照这个尺寸调整大小?
答案 0 :(得分:0)
mont.geometry
命令实际上是关于每个小图像放在一起之前。您可以使用image_list.size
来确定您拥有的图像数量,然后使用以下类型的命令将各种图像组合在一起。
width = 160 / image_list.size
height = 600 / image_list.size
collage = image_list.montage do |mont|
mont.geometry = width.to_s + 'x' + height.to_s
end
如果你进入小数,事情可能不会很好。确保您的值均匀分配,或者重写代码以有效地处理它。
另一种选择是首先制作你喜欢的任何尺寸的蒙太奇,并在它完成后调整它的大小。他们都承担了相同的工作量。