길을 잃어 가고 방향이 필요합니다.통합 된 캔버스에서 많은 이미지를 효율적으로 렌더링
우리는 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
그것은 단순하고 바보하지만 일련의 이미지가 하나로 통합 출력을 수행 현재
, 우리가 작업하는 개념의 빈약 한 증거는 같은 간다. 거의 거기에 ;-)
많은 X를 반복하고 여러 줄에 걸쳐 있고 여전히 공간을 최적화 할 수있는 효과적인 알고리즘을 아는 사람이 있습니까? 목표는 모든 작은 이미지로 구성된 공백없이 하나의 이미지를 만드는 것입니다.
앞에서 말씀 드렸듯이 저는 여러분의 의견을 환영합니다. 포인터? 아이디어? 예?
감사합니다.
답장을 보내 주셔서 감사합니다. 나는 당신이 아무 소용이없는 언급하는 방법의 참조 구현을 찾으려고 노력하고 아침을 보내고있다. 너 마음에 뭔가 있니? 다시 한번 감사드립니다. –
나는 내 대답을 약간 편집했다. – carlosdc