我迷路了,需要方向。
我们正在尝试使用 imagemagick 将一堆小图像 (X) 渲染到一个统一的画布上。
不同的 X 可以是五种不同尺寸之一:20x20、40x40、60x60、80x80 或 100x100。大图的宽度始终设置为 600,但高度可以根据需要进行调整。
在任何给定时刻,我们可以使用少至 10 个或多至 10,000 个 X。
目前,我们正在使用的基本概念证明类似于:
images.each do |image|
image = Magick::Image.read("#{RAILS_ROOT}/public/images/#{image}").first
w = image.columns
h = image.rows
pixels = image.export_pixels(0, 0, w, h, "RGB")
img.import_pixels(x, y, w, h, "RGB", pixels)
x += w
end
...它既简单又愚蠢,但它确实输出了一系列合并为一个的图像。差不多好了 ;-)
有谁知道一种有效的算法,我们可以使用它迭代许多 X 并将它们并排放置,跨越多行并仍然优化空间?这里的目标是创建一个没有空白的单一图像,由所有小图像构成。
如前所述,我希望你们对此有任何反馈。指针?想法?例子?
谢谢。