Поработав некоторое время, я заставил композитный трюк Fu86 работать так:
img = Image.read("some_file").first().resize_to_fit!(width, height)
target = Image.new(width, height) do
self.background_color = 'white'
end
target.composite(img, CenterGravity, AtopCompositeOp).write("some_new_file")
AtopCompositeOp
, кажется, работает лучше, чем CopyCompositeOp
, который для некоторых стал частью моего фона чернымпричина.