私は道に迷っており、方向性が必要です。
imagemagick を使用して、多数の小さな画像 (X) を単一の統合キャンバスにレンダリングしようとしています。
異なる X は、それぞれ 20x20、40x40、60x60、80x80、または 100x100 の 5 つの異なるサイズのいずれかになります。大きな画像の幅は常に 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
...単純でばかげていますが、一連の画像を 1 つにマージして出力します。もうすぐです ;-)
多くの X を反復して並べて配置し、複数の行にまたがってスペースを最適化できる効果的なアルゴリズムを知っている人はいますか? ここでの目標は、すべての小さな画像で構成された、空白のない単一の画像を作成することです。
前述のとおり、これに関するフィードバックをお待ちしています。ポインタ?アイデア?例?
ありがとう。