Если вы пытаетесь сопоставить существующее изображение, вы можете использовать new_from_image
:
y = x.new_from_image [1, 2, 3]
Создает изображение, которое копирует большинство свойств из x
, но каждый пиксель значение заменяется на [1, 2, 3]
.
Источник new_from_image
показывает, как эффективно сделать изображение с нуля:
def new_from_image value
pixel = (Vips::Image.black(1, 1) + value).cast(format)
image = pixel.embed 0, 0, width, height, extend: :copy
image.copy interpretation: interpretation, xres: xres, yres: yres,
xoffset: xoffset, yoffset: yoffset
end
Итак:
- сделать одно пиксельное черное изображение
- добавить константу
- в желаемом формате (uint8, double, et c.)
- развернуть до нужного размера
- установить метаданные, такие как разрешение, интерпретация и т. Д. c.