使用 Minimagick 操作像素

Manipulate pixels using Minimagick

有没有办法操纵像素并创建或修改操纵图像以反映对像素所做的更改?

Minimagick 只提供了一个get_pixels方法。

我应该将数组转换为字符串并使用 import_pixels 方法吗?但是,我怎样才能将像素重新转换为斑点?

正确,你应该使用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")