使用Minimagick操纵像素

时间:2018-12-13 14:26:09

标签: ruby imagemagick minimagick

是否有一种方法可以操纵像素并创建或修改操纵的图像以反映对像素所做的更改?

Minimagick仅提供一种get_pixels方法。

我应该将数组转换为字符串并使用import_pixels方法吗?但是,然后如何将像素转换为斑点呢?

1 个答案:

答案 0 :(得分:1)

正确,您应该使用import_pixels方法。这是一个完整的示例:

# get pixels
img = MiniMagick::Image.open("image.jpg")
pixels = img.get_pixels

# transform pixels
reverse = pixels.map(&:reverse)

# save pixels
blob = reverse.flatten.pack("C*")
img = MiniMagick::Image.import_pixels(blob, img.width, img.height, 8, "rgb", "jpg")
img.write("reverse.jpg")