Я использую следующую версию гема 'rmagick' в своем приложении ruby для обработки изображений.
Для обработки изображений
gem 'rmagick', '~> 2.15.4'
Иногда (около 1 в100 раз) изображение не изменяется должным образом, и его нижняя половина становится серой (хотя не серый, который я устанавливал для фона), а также изображение иногда становится размытым.
Вот мой пример кода:
url_img = open(URI.encode(object.url))
image = Magick::ImageList.new
image.from_blob(url_img.read)
final_image_name = image_name(object, object_type)
img_size = [image[0].columns, image[0].rows]
if img_size[0] > img_size[1]
dimensions = [size[1],(size[1] * img_size[1]/img_size[0])]
else
dimensions = [(size[2]*img_size[0]/img_size[1]),size[2]]
end
resized_image = image.resize(dimensions[0],dimensions[1])
resized_image = resized_image.strip!
watermarked_image = resized_image
watermarked_image.units = Magick::PixelsPerInchResolution
watermarked_image.set_channel_depth(Magick::AllChannels,8)
watermarked_image.density = "72"
watermarked_image.write(temp_file_path)
Вот пример изображения, выделенного серым цветом после изменения размера.
Исходное изображение:
![Original Image](https://i.stack.imgur.com/hVorA.jpg)
Сгенерированное изображение:
![Generated Image](https://i.stack.imgur.com/es95r.jpg)