Reference
Comprehensive reference for all image manipulation functions in BoxLang.
Complete alphabetical reference for all image manipulation Built-In Functions (BIFs).
Fluent Builder
The BoxLang Image Manipulation module provides a modern, fluent API through the BoxImage class. This chainable interface makes image manipulation code more readable and maintainable.
The Fluent API is the recommended approach for all new image manipulation code in BoxLang.
🔄 Quick Reference: BIF vs Fluent API
Here's how common BIF patterns translate to the modern Fluent API:
ImageNew("photo.jpg")
Image("photo.jpg") or ImageNew("photo.jpg")
ImageResize(img, 800, 600)
img.resize(800, 600)
ImageScaleToFit(img, 400)
img.scaleToFit(400)
ImageCrop(img, 10, 10, 200, 200)
img.crop(10, 10, 200, 200)
ImageRotate(img, 90)
img.rotate(90)
ImageFlip(img, "horizontal")
img.flipHorizontal()
ImageAddBorder(img, 5, "black")
img.addBorder(5, "black")
ImageSetDrawingColor(img, "red")
img.setDrawingColor("red")
ImageDrawText(img, "Hello", 10, 50)
img.drawText("Hello", 10, 50)
ImageBlur(img, 3)
img.blur(3)
ImageSharpen(img, 0.5)
img.sharpen(0.5)
ImageGrayscale(img)
img.grayscale()
ImageNegative(img)
img.negative()
ImageWrite(img, "output.jpg")
img.write("output.jpg")
ImageGetWidth(img)
img.getWidth()
ImageGetHeight(img)
img.getHeight()
Chaining Example
BIF Approach - Verbose and Procedural:
img = ImageNew("photo.jpg");
ImageResize(img, 800, 600);
ImageRotate(img, 90);
ImageAddBorder(img, 10, "black");
ImageSetDrawingColor(img, "white");
ImageDrawText(img, "© 2025", 10, 50, { font: "Arial", size: 14 });
ImageWrite(img, "output.jpg");Fluent API - Concise and Chainable:
Image("photo.jpg")
.resize(800, 600)
.rotate(90)
.addBorder(10, "black")
.setDrawingColor("white")
.drawText("© 2025", 10, 50, { font: "Arial", size: 14 })
.write("output.jpg");📋 Method Categories
🎨 Creation & Loading
Image()/ImageNew()- Create/load images from file, URL, base64, or create blank canvasImageReadBase64()- Load image from base64 string
✂️ Transformations
resize()- Resize to specific dimensionsscaleToFit()- Scale proportionally to fit within boundscrop()- Extract a rectangular regionrotate()- Rotate by angleflipHorizontal()- Flip horizontallyflipVertical()- Flip verticallytranspose()- Transpose (swap X/Y axes)shear()- Apply shear transformation
🎨 Effects & Filters
blur()- Apply blur effectsharpen()- Sharpen the imagegrayscale()- Convert to grayscalenegative()- Create negativeoverlay()- Overlay another imagepaste()- Paste image at position
🖌️ Drawing
setDrawingColor()- Set drawing colorsetDrawingStroke()- Set stroke stylesetDrawingTransparency()- Set transparencysetAntialiasing()- Enable/disable antialiasingdrawText()- Draw textdrawLine()- Draw linedrawRect()- Draw rectangledrawRoundRect()- Draw rounded rectangledrawOval()- Draw oval/circledrawArc()- Draw arcdrawPoint()- Draw pointclearRect()- Clear rectangle area
🎀 Decorations
addBorder()- Add border around imagesetBackground()- Set background color
💾 Output
write()- Write to filewriteToBrowser()- Output to HTTP responsewriteBase64()- Export as base64 stringgetBufferedImage()- Get Java BufferedImage
ℹ️ Information
getWidth()- Get image widthgetHeight()- Get image heightinfo()- Get comprehensive image info
🚀 Complete Example
Here's a real-world example showing the power of method chaining:
// Create a thumbnail with watermark
Image("products/large-photo.jpg")
.scaleToFit(400)
.addBorder(2, "##cccccc")
.setDrawingColor("white")
.setDrawingTransparency(70)
.drawRect(0, getHeight() - 30, getWidth(), 30, true)
.setDrawingColor("##333333")
.setDrawingTransparency(0)
.drawText("© MyCompany 2025", 10, getHeight() - 10, {
font: "Arial",
size: 12,
style: "bold"
})
.write("products/thumbnails/photo-thumb.jpg");BIF Quick Reference Table
GetReadableImageFormats()
Utilities
N/A
Get array of readable image formats
GetWriteableImageFormats()
Utilities
N/A
Get array of writeable image formats
ImageAddBorder()
Transformations
img.addBorder()
Add border to image
ImageBlur()
Filters
img.blur()
Apply Gaussian blur
ImageClearRect()
Drawing
img.clearRect()
Clear rectangular area
ImageCopy()
Creation
img.copy()
Create copy of image
ImageCrop()
Transformations
img.crop()
Crop image to region
ImageDrawArc()
Drawing
img.drawArc()
Draw arc or pie slice
ImageDrawBeveledRect()
Drawing
img.drawBeveledRect()
Draw beveled rectangle
ImageDrawCubicCurve()
Drawing
img.drawCubicCurve()
Draw cubic Bézier curve
ImageDrawLine()
Drawing
img.drawLine()
Draw straight line
ImageDrawLines()
Drawing
img.drawLines()
Draw multiple connected lines
ImageDrawOval()
Drawing
img.drawOval()
Draw oval or circle
ImageDrawPoint()
Drawing
img.drawPoint()
Draw single point
ImageDrawQuadraticCurve()
Drawing
img.drawQuadraticCurve()
Draw quadratic Bézier curve
ImageDrawRect()
Drawing
img.drawRect()
Draw rectangle
ImageDrawRoundRect()
Drawing
img.drawRoundRect()
Draw rounded rectangle
ImageDrawText()
Drawing
img.drawText()
Draw text string
ImageFlip()
Transformations
img.flip()
Flip image vertically/horizontally
ImageGetBlob()
Properties
img.getBytes()
Get image as byte array
ImageGetBufferedImage()
Properties
img.getBufferedImage()
Get Java BufferedImage
ImageGetExifMetadata()
Metadata
img.getExifMetadata()
Get all EXIF metadata
ImageGetExifTag()
Metadata
img.getExifTag()
Get specific EXIF tag
ImageGetHeight()
Properties
img.getHeight()
Get image height
ImageGetIPTCMetadata()
Metadata
img.getIPTCMetadata()
Get all IPTC metadata
ImageGetIPTCTag()
Metadata
img.getIPTCTag()
Get specific IPTC tag
ImageGetWidth()
Properties
img.getWidth()
Get image width
ImageGrayScale()
Filters
img.grayScale()
Convert to grayscale
ImageInfo()
Properties
img.info()
Get comprehensive image info
ImageNegative()
Filters
img.negative()
Invert colors
ImageNew()
Creation
N/A
Create new image
ImageOverlay()
Compositing
img.overlay()
Blend two images
ImagePaste()
Compositing
img.paste()
Paste image at position
ImageRead()
Creation
N/A
Read image from file
ImageReadBase64()
Creation
N/A
Read image from Base64
ImageResize()
Transformations
img.resize()
Resize to dimensions
ImageRotate()
Transformations
img.rotate()
Rotate by angle
ImageRotateDrawingAxis()
Drawing
img.rotateDrawingAxis()
Rotate coordinate system
ImageScaleToFit()
Transformations
img.scaleToFit()
Scale to fit dimensions
ImageSetAntiAliasing()
Configuration
img.setAntialiasing()
Enable/disable antialiasing
ImageSetBackgroundColor()
Configuration
img.setBackgroundColor()
Set background color
ImageSetDrawingColor()
Configuration
img.setDrawingColor()
Set drawing color
ImageSetDrawingStroke()
Configuration
img.setDrawingStroke()
Set stroke properties
ImageSetDrawingTransparency()
Configuration
img.setDrawingTransparency()
Set transparency level
ImageSharpen()
Filters
img.sharpen()
Sharpen image
ImageShear()
Transformations
img.shear()
Shear/skew image
ImageShearDrawingAxis()
Drawing
img.shearDrawingAxis()
Shear coordinate system
ImageTranslate()
Transformations
img.translate()
Move image position
ImageTranslateDrawingAxis()
Drawing
img.translateDrawingAxis()
Move coordinate system
ImageWrite()
Output
img.write()
Write image to file
ImageWriteBase64()
Output
img.writeBase64()
Convert to Base64 string
IsImage()
Validation
N/A
Check if variable is image
IsImageFile()
Validation
N/A
Check if file is valid image
Last updated
Was this helpful?
