Skip to main content

Operations Reference

Complete reference of all available image operations in libvips_ffi.

Resizing & Geometry​

resize​

Resize an image by width, height, or scale factor.

pipeline.resize(width: 800)              // By width
pipeline.resize(height: 600) // By height
pipeline.resize(width: 800, height: 600) // Both (may change aspect ratio)
pipeline.resize(scale: 0.5) // By scale factor

thumbnail​

Create a thumbnail with smart cropping.

pipeline.thumbnail(
width: 200,
height: 200,
crop: VipsCrop.attention, // Smart crop focusing on interesting areas
)

Crop options:

  • VipsCrop.none - No cropping
  • VipsCrop.centre - Crop from center
  • VipsCrop.attention - Focus on interesting areas
  • VipsCrop.entropy - Crop based on entropy
  • VipsCrop.low - Crop from top/left
  • VipsCrop.high - Crop from bottom/right

crop​

Extract a rectangular region.

pipeline.crop(x: 100, y: 100, width: 400, height: 300)

smartCrop​

Automatically crop to the most interesting region.

pipeline.smartCrop(
width: 400,
height: 300,
interesting: VipsInteresting.attention,
)

rotate​

Rotate the image by a specific angle.

pipeline.rotate(angle: 90)   // Rotate 90 degrees clockwise
pipeline.rotate(angle: -45) // Rotate 45 degrees counter-clockwise

autoRotate​

Auto-rotate based on EXIF orientation data.

pipeline.autoRotate()

flip​

Flip the image horizontally or vertically.

pipeline.flipHorizontal()
pipeline.flipVertical()

Color Adjustments​

brightness​

Adjust image brightness.

pipeline.brightness(factor: 1.2)  // 20% brighter
pipeline.brightness(factor: 0.8) // 20% darker

contrast​

Adjust image contrast.

pipeline.contrast(factor: 1.2)  // 20% more contrast
pipeline.contrast(factor: 0.8) // 20% less contrast

saturation​

Adjust color saturation.

pipeline.saturation(factor: 1.5)  // More saturated
pipeline.saturation(factor: 0.5) // Less saturated

grayscale​

Convert to grayscale.

pipeline.grayscale()

invert​

Invert colors (negative).

pipeline.invert()

Filters & Effects​

gaussianBlur​

Apply Gaussian blur.

pipeline.gaussianBlur(sigma: 2.0)  // Blur with sigma=2

sharpen​

Sharpen the image.

pipeline.sharpen()
pipeline.sharpen(sigma: 1.5) // Custom sigma

clamp​

Clamp pixel values to a range.

pipeline.clamp(min: 0, max: 255)

houghCircle​

Detect circles using Hough transform.

pipeline.houghCircle(
scale: 3,
minRadius: 10,
maxRadius: 100,
)

houghLine​

Detect lines using Hough transform.

pipeline.houghLine(
width: 256,
height: 256,
)

Convolution​

conv​

Apply a convolution kernel.

pipeline.conv(kernel: myKernel)

convsep​

Apply a separable convolution.

pipeline.convsep(kernel: myKernel)

compass​

Apply a compass convolution.

pipeline.compass(mask: myMask)

Composite Operations​

composite​

Composite multiple images.

pipeline.composite(
overlay: overlayImage,
mode: VipsBlendMode.over,
x: 100,
y: 50,
)

insert​

Insert an image at a position.

pipeline.insert(
image: subImage,
x: 100,
y: 100,
)

Morphology​

morph​

Apply morphological operations.

pipeline.morph(mask: myMask, morph: VipsMorph.dilate)
pipeline.morph(mask: myMask, morph: VipsMorph.erode)

rank​

Rank filter (median, min, max).

pipeline.rank(width: 3, height: 3, index: 4)  // Median 3x3

Histogram​

histFind​

Find histogram.

final hist = pipeline.histFind()

histNorm​

Normalize histogram.

pipeline.histNorm()

histEqual​

Histogram equalization.

pipeline.histEqual()

Output Formats​

See Output Formats for detailed format options.

pipeline.toJpeg(quality: 85)
pipeline.toPng(compression: 6)
pipeline.toWebp(quality: 90)
pipeline.toGif()
pipeline.toTiff()
pipeline.toDeepZoom(name: 'pyramid')