Мне нужно написать скрипт ruby, который поможет мне с большими файлами изображений. Я знаю основы библиотеки imagemagick и rmagick (ruby), но до сих пор я делал в целом простые вещи (thumbnailing, добавление водяных знаков и т. Д.) Теперь я хочу вырезать файл с примером resoultion 3000/1000px на десять меньших изображений (3000/100 px ). Является ли это возможным? Я не знаю, какой метод использовать.
Как насчет crop
пинг входного изображения один раз для каждого из выходных изображений:
output_images =
(0...10).collect { |i|
input_image.crop(0, i*100, 3000, 100, true)
}
В более общем плане (но все же предполагая, что разрешение Y делится на количество срезов):
def slice_image_horizontally(image, num_slices)
slice_height = image.y_resolution/num_slices
(0...num_slices).collect { |i|
image.crop(
0, i * slice_height,
image.x_resolution, slice_height,
true # reset image offset
)
}
end