调整图像大小后,新图像会部分变灰

时间:2018-12-18 12:53:04

标签: ruby-on-rails resize imagemagick blur rmagick

我在ruby应用程序中使用以下“ rmagick” gem版本来处理图像。

用于图像处理

gem 'rmagick', '~> 2.15.4'

有时候(大约100倍中的1幅)图像无法正确调整大小,并且其下半部分变为灰色(尽管不是我为背景设置的灰色),有时图像也变得模糊。

这是我的示例代码:

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

生成的图像:

Generated Image

0 个答案:

没有答案