使用 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")
有没有办法操纵像素并创建或修改操纵图像以反映对像素所做的更改?
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")