Documentation/Reference

Native Canvas API reference

On this page

Generated from maintained public declarations by generate_canvas.py . Usage and ownership , format profiles , fonts/text .

Signatures below are reference notation. Opaque fields are deliberately omitted. basic api supplies the compiler-checked callable catalog.

core

Source

ERROR CanvasError
    Message AS STRING
    Offset AS INTEGER=-1
    Format AS STRING=""
END ERROR
TYPE Color
    Red AS BYTE=BYTE(0)
    Green AS BYTE=BYTE(0)
    Blue AS BYTE=BYTE(0)
    Alpha AS BYTE=BYTE(255)
END TYPE
TYPE Point
    X AS DOUBLE
    Y AS DOUBLE
END TYPE
TYPE PixelRect
    X AS INTEGER
    Y AS INTEGER
    Width AS INTEGER
    Height AS INTEGER
END TYPE
OPAQUE TYPE Canvas
ENUM BlendMode
    SourceOver
    Copy
    Destination
    ClearDestination
    DestinationOver
    SourceIn
    SourceOut
    SourceAtop
    DestinationIn
    DestinationOut
    DestinationAtop
    ExclusiveOr
    PlusLighter
    Multiply
    Screen
    Overlay
    Darken
    Lighten
    ColorDodge
    ColorBurn
    HardLight
    SoftLight
    Difference
    Exclusion
END ENUM
ENUM BlendSpace
    EncodedSRGB
    LinearLight
END ENUM
ENUM Sampling
    Nearest
    Bilinear
    Area
    Bicubic
    Lanczos3
END ENUM
ENUM Antialiasing
    Off
    Standard
    High
END ENUM
ENUM LineCap
    Butt
    Round
    Square
END ENUM
TYPE Stroke
    Color AS Color
    Width AS DOUBLE=1.0
    Cap AS LineCap=LineCap.Butt
    Join AS LineJoin=LineJoin.Round
    MiterLimit AS DOUBLE=4.0
    Antialias AS Antialiasing=Antialiasing.Standard
END TYPE
FUNCTION RGBA(red AS INTEGER,green AS INTEGER,blue AS INTEGER,alpha AS INTEGER=255) AS Color FAILS CanvasError,NumericError
FUNCTION RGB(red AS INTEGER,green AS INTEGER,blue AS INTEGER) AS Color FAILS CanvasError,NumericError
FUNCTION Transparent() AS Color
FUNCTION NewCanvas(width AS INTEGER,height AS INTEGER,maxPixels AS INTEGER=16777216) AS Canvas FAILS CanvasError,NumericError,IndexError
FUNCTION CanvasFromRGBA(width AS INTEGER,height AS INTEGER,BYVAL pixels AS LIST OF BYTE,maxPixels AS INTEGER=16777216) AS Canvas FAILS CanvasError,NumericError,IndexError
FUNCTION CanvasWidth(canvas AS Canvas) AS INTEGER
FUNCTION CanvasHeight(canvas AS Canvas) AS INTEGER
FUNCTION CanvasBytes(canvas AS Canvas) AS LIST OF BYTE
FUNCTION CloneCanvas(canvas AS Canvas) AS Canvas
FUNCTION GetPixel(canvas AS Canvas,x AS INTEGER,y AS INTEGER) AS Color FAILS CanvasError,IndexError,NumericError
SUB SetPixel(BYREF canvas AS Canvas,x AS INTEGER,y AS INTEGER,color AS Color) FAILS CanvasError,IndexError,NumericError
SUB ClearCanvas(BYREF canvas AS Canvas,color AS Color) FAILS IndexError
FUNCTION CompositeColor(source AS Color,destination AS Color,opacity AS DOUBLE=1.0,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) AS Color FAILS CanvasError,NumericError

geometry

Source

FUNCTION SamplePixel(canvas AS Canvas,x AS DOUBLE,y AS DOUBLE,sampling AS Sampling=Sampling.Bilinear,space AS BlendSpace=BlendSpace.EncodedSRGB) AS Color FAILS CanvasError,IndexError,NumericError
FUNCTION ResizeCanvas(canvas AS Canvas,width AS INTEGER,height AS INTEGER,sampling AS Sampling=Sampling.Bilinear,space AS BlendSpace=BlendSpace.EncodedSRGB,maxPixels AS INTEGER=16777216,maxWorkingBytes AS INTEGER=268435456) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION CropCanvas(canvas AS Canvas,region AS PixelRect) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION FlipCanvas(canvas AS Canvas,horizontal AS BOOLEAN=TRUE,vertical AS BOOLEAN=FALSE) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION TransposeCanvas(canvas AS Canvas) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION RotateCanvas90(canvas AS Canvas,clockwiseTurns AS INTEGER=1) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION Thumbnail(canvas AS Canvas,maxWidth AS INTEGER,maxHeight AS INTEGER,allowUpscale AS BOOLEAN=FALSE,sampling AS Sampling=Sampling.Bilinear) AS Canvas FAILS CanvasError,IndexError,NumericError
SUB DrawImage(BYREF destination AS Canvas,source AS Canvas,x AS INTEGER,y AS INTEGER,opacity AS DOUBLE=1.0,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError
SUB CopyWithinCanvas(BYREF canvas AS Canvas,source AS PixelRect,x AS INTEGER,y AS INTEGER,opacity AS DOUBLE=1.0,mode AS BlendMode=BlendMode.Copy) FAILS CanvasError,IndexError,NumericError

affine

Source

TYPE AffineTransform
    XX AS DOUBLE=1.0
    XY AS DOUBLE=0.0
    YX AS DOUBLE=0.0
    YY AS DOUBLE=1.0
    X AS DOUBLE=0.0
    Y AS DOUBLE=0.0
END TYPE
ENUM ImageFit
    Contain
    Cover
    Stretch
END ENUM
FUNCTION IdentityTransform() AS AffineTransform
FUNCTION TranslationTransform(x AS DOUBLE,y AS DOUBLE) AS AffineTransform FAILS CanvasError
FUNCTION ScalingTransform(x AS DOUBLE,y AS DOUBLE) AS AffineTransform FAILS CanvasError
FUNCTION RotationTransform(degrees AS DOUBLE) AS AffineTransform FAILS CanvasError
FUNCTION TransformPoint(transform AS AffineTransform,point AS Point) AS Point FAILS CanvasError
FUNCTION ComposeTransforms(first AS AffineTransform,after AS AffineTransform) AS AffineTransform FAILS CanvasError
FUNCTION InvertTransform(transform AS AffineTransform) AS AffineTransform FAILS CanvasError
FUNCTION WarpCanvas(source AS Canvas,transform AS AffineTransform,width AS INTEGER,height AS INTEGER,sampling AS Sampling=Sampling.Bilinear,space AS BlendSpace=BlendSpace.EncodedSRGB,maxPixels AS INTEGER=16777216) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION RotateCanvas(source AS Canvas,degrees AS DOUBLE,expand AS BOOLEAN=TRUE,sampling AS Sampling=Sampling.Bilinear,space AS BlendSpace=BlendSpace.EncodedSRGB,maxPixels AS INTEGER=16777216) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION FitCanvas(source AS Canvas,width AS INTEGER,height AS INTEGER,fit AS ImageFit=ImageFit.Contain,sampling AS Sampling=Sampling.Bilinear,space AS BlendSpace=BlendSpace.EncodedSRGB,maxPixels AS INTEGER=16777216) AS Canvas FAILS CanvasError,IndexError,NumericError

drawing

Source

SUB FillRect(BYREF canvas AS Canvas,x AS DOUBLE,y AS DOUBLE,width AS DOUBLE,height AS DOUBLE,color AS Color,aa AS Antialiasing=Antialiasing.Standard,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError
SUB FillRoundedRect(BYREF canvas AS Canvas,x AS DOUBLE,y AS DOUBLE,width AS DOUBLE,height AS DOUBLE,radius AS DOUBLE,color AS Color,aa AS Antialiasing=Antialiasing.Standard) FAILS CanvasError,IndexError,NumericError
SUB FillEllipse(BYREF canvas AS Canvas,cx AS DOUBLE,cy AS DOUBLE,rx AS DOUBLE,ry AS DOUBLE,color AS Color,aa AS Antialiasing=Antialiasing.Standard) FAILS CanvasError,IndexError,NumericError
SUB FillCircle(BYREF canvas AS Canvas,cx AS DOUBLE,cy AS DOUBLE,radius AS DOUBLE,color AS Color,aa AS Antialiasing=Antialiasing.Standard) FAILS CanvasError,IndexError,NumericError
SUB DrawPolyline(BYREF canvas AS Canvas,points AS LIST OF Point,stroke AS Stroke,closed AS BOOLEAN=FALSE) FAILS CanvasError,IndexError,NumericError
SUB DrawLine(BYREF canvas AS Canvas,x0 AS DOUBLE,y0 AS DOUBLE,x1 AS DOUBLE,y1 AS DOUBLE,stroke AS Stroke) FAILS CanvasError,IndexError,NumericError
SUB DrawRect(BYREF canvas AS Canvas,x AS DOUBLE,y AS DOUBLE,width AS DOUBLE,height AS DOUBLE,stroke AS Stroke) FAILS CanvasError,IndexError,NumericError
SUB DrawCircle(BYREF canvas AS Canvas,cx AS DOUBLE,cy AS DOUBLE,radius AS DOUBLE,stroke AS Stroke) FAILS CanvasError,IndexError,NumericError
SUB DrawEllipse(BYREF canvas AS Canvas,cx AS DOUBLE,cy AS DOUBLE,rx AS DOUBLE,ry AS DOUBLE,stroke AS Stroke) FAILS CanvasError,IndexError,NumericError
SUB FillPolygon(BYREF canvas AS Canvas,points AS LIST OF Point,color AS Color,aa AS Antialiasing=Antialiasing.Standard) FAILS CanvasError,IndexError,NumericError

raster

Source

ENUM FillRule
    NonZero
    EvenOdd
END ENUM

analysis

Source

TYPE ColorHistogram
    Red AS LIST OF INTEGER
    Green AS LIST OF INTEGER
    Blue AS LIST OF INTEGER
    Alpha AS LIST OF INTEGER
END TYPE
FUNCTION Histogram(canvas AS Canvas) AS ColorHistogram FAILS IndexError
FUNCTION AverageColor(canvas AS Canvas,alphaWeighted AS BOOLEAN=FALSE) AS Color FAILS CanvasError,IndexError,NumericError
FUNCTION AlphaBounds(canvas AS Canvas,threshold AS INTEGER=0) AS OPTIONAL OF PixelRect FAILS CanvasError,IndexError,NumericError
FUNCTION AdjustedCanvas(canvas AS Canvas,brightness AS DOUBLE=1.0,contrast AS DOUBLE=1.0,saturation AS DOUBLE=1.0,gamma AS DOUBLE=1.0) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION GrayscaleCanvas(canvas AS Canvas) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION InvertedCanvas(canvas AS Canvas) AS Canvas FAILS IndexError,NumericError
FUNCTION MaskedCanvas(canvas AS Canvas,mask AS Canvas,selectedChannel AS MaskChannel=MaskChannel.Alpha,inverted AS BOOLEAN=FALSE,space AS BlendSpace=BlendSpace.EncodedSRGB) AS Canvas FAILS CanvasError,IndexError,NumericError
ENUM MaskChannel
    Alpha
    Red
    Green
    Blue
    Luminance
END ENUM
TYPE ChannelStatistics
    Count AS INTEGER
    Minimum AS INTEGER
    Maximum AS INTEGER
    Mean AS DOUBLE
    Variance AS DOUBLE
    StandardDeviation AS DOUBLE
END TYPE
TYPE ImageStatistics
    Red AS ChannelStatistics
    Green AS ChannelStatistics
    Blue AS ChannelStatistics
    Alpha AS ChannelStatistics
END TYPE
FUNCTION HistogramRegion(canvas AS Canvas,region AS PixelRect) AS ColorHistogram FAILS CanvasError,IndexError
FUNCTION AnalyzeCanvasRegion(canvas AS Canvas,region AS PixelRect) AS ImageStatistics FAILS CanvasError,IndexError
FUNCTION AnalyzeCanvas(canvas AS Canvas) AS ImageStatistics FAILS CanvasError,IndexError
FUNCTION ColorBounds(canvas AS Canvas,minimum AS Color,maximum AS Color) AS OPTIONAL OF PixelRect FAILS CanvasError,IndexError

filters

Source

FUNCTION GaussianBlurCanvas(canvas AS Canvas,sigma AS DOUBLE) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION BoxBlurCanvas(canvas AS Canvas,radius AS INTEGER=1) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION ConvolveCanvas3x3(canvas AS Canvas,kernel AS LIST OF DOUBLE,divisor AS DOUBLE=1.0,bias AS DOUBLE=0.0) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION SharpenCanvas(canvas AS Canvas) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION EdgeCanvas(canvas AS Canvas) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION EmbossCanvas(canvas AS Canvas) AS Canvas FAILS CanvasError,IndexError,NumericError

text

Source

FUNCTION MeasureBitmapText(text AS STRING,scale AS INTEGER=1) AS PixelRect FAILS CanvasError
SUB DrawBitmapText(BYREF canvas AS Canvas,text AS STRING,x AS INTEGER,y AS INTEGER,color AS Color,scale AS INTEGER=1,strictGlyphs AS BOOLEAN=FALSE) FAILS CanvasError,IndexError,NumericError

fonts

Source

OPAQUE TYPE Font
ENUM TextAlignment
    Left
    Center
    Right
END ENUM
ENUM TextAnchor
    Baseline
    Top
END ENUM
TYPE TextStyle
    Color AS Color
    Size AS DOUBLE=24.0
    Alignment AS TextAlignment=TextAlignment.Left
    Anchor AS TextAnchor=TextAnchor.Baseline
    Antialias AS Antialiasing=Antialiasing.Standard
    StrictGlyphs AS BOOLEAN=FALSE
    Kerning AS BOOLEAN=TRUE
END TYPE
TYPE FontMetrics
    Ascent AS DOUBLE
    Descent AS DOUBLE
    LineGap AS DOUBLE
    LineHeight AS DOUBLE
END TYPE
TYPE TextMetrics
    Advance AS DOUBLE
    Ascent AS DOUBLE
    Descent AS DOUBLE
    InkX AS DOUBLE
    InkY AS DOUBLE
    InkWidth AS DOUBLE
    InkHeight AS DOUBLE
END TYPE
FUNCTION FontFaceCount(bytes AS LIST OF BYTE) AS INTEGER FAILS CanvasError,IndexError
FUNCTION LoadFontBytes(BYVAL bytes AS LIST OF BYTE,maxBytes AS INTEGER=33554432,faceIndex AS INTEGER=0) AS Font FAILS CanvasError,IndexError,NumericError
FUNCTION LoadFont(path AS STRING,maxBytes AS INTEGER=33554432,faceIndex AS INTEGER=0) AS Font FAILS CanvasError,IndexError,NumericError,IoError
FUNCTION FontHasGlyph(font AS Font,scalar AS INTEGER) AS BOOLEAN FAILS CanvasError,IndexError
FUNCTION GetFontMetrics(font AS Font,size AS DOUBLE) AS FontMetrics FAILS CanvasError
FUNCTION MeasureText(font AS Font,text AS STRING,size AS DOUBLE=24.0,strictGlyphs AS BOOLEAN=FALSE,kerning AS BOOLEAN=TRUE) AS TextMetrics FAILS CanvasError,IndexError
SUB DrawText(BYREF canvas AS Canvas,font AS Font,text AS STRING,x AS DOUBLE,y AS DOUBLE,style AS TextStyle) FAILS CanvasError,IndexError,NumericError

font_kerning

Source

FUNCTION GetKerning(font AS Font,leftScalar AS INTEGER,rightScalar AS INTEGER,size AS DOUBLE=24.0) AS DOUBLE FAILS CanvasError,IndexError

text_graphemes

Source

FUNCTION GraphemeBoundaries(text AS STRING) AS LIST OF INTEGER FAILS CanvasError,IndexError

text_bidi

Source

ENUM TextDirection
    Auto
    LeftToRight
    RightToLeft
END ENUM
FUNCTION ResolveBidiLevels(text AS STRING,direction AS TextDirection=TextDirection.Auto) AS LIST OF INTEGER FAILS CanvasError,IndexError,NumericError
FUNCTION BidiVisualOrder(levels AS LIST OF INTEGER) AS LIST OF INTEGER FAILS CanvasError,IndexError

font_set

Source

OPAQUE TYPE FontSet
FUNCTION NewFontSet() AS FontSet
SUB AddFont(BYREF fonts AS FontSet,BYVAL font AS Font) FAILS CanvasError
SUB AddFontFile(BYREF fonts AS FontSet,path AS STRING,maxBytes AS INTEGER=33554432,faceIndex AS INTEGER=0) FAILS CanvasError,IndexError,NumericError,IoError
FUNCTION FontSetCount(fonts AS FontSet) AS INTEGER
FUNCTION FontSetHasGlyph(fonts AS FontSet,scalar AS INTEGER) AS BOOLEAN FAILS CanvasError,IndexError

font_catalog

Source

TYPE FontInfo
    Path AS STRING
    Family AS STRING
    Style AS STRING
    Weight AS INTEGER
    Italic AS BOOLEAN
    FaceIndex AS INTEGER
    OutlineFormat AS STRING
    Supported AS BOOLEAN
END TYPE
TYPE FontMatch
    Info AS FontInfo
    Substituted AS BOOLEAN
END TYPE
OPAQUE TYPE FontCatalog
FUNCTION ReadFontInfo(path AS STRING,maxBytes AS INTEGER=33554432,faceIndex AS INTEGER=0) AS FontInfo FAILS CanvasError,IndexError,NumericError,StringError,IoError
FUNCTION DiscoverFonts(directories AS LIST OF STRING,maxFiles AS INTEGER=10000,maxFontBytes AS INTEGER=33554432) AS FontCatalog FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION FontCatalogCount(catalog AS FontCatalog) AS INTEGER
FUNCTION FontCatalogEntry(catalog AS FontCatalog,index AS INTEGER) AS FontInfo FAILS CanvasError,IndexError
FUNCTION FontDiscoveryWarnings(catalog AS FontCatalog) AS LIST OF STRING
FUNCTION FindFont(catalog AS FontCatalog,family AS STRING,weight AS INTEGER=400,italic AS BOOLEAN=FALSE,allowSubstitution AS BOOLEAN=FALSE) AS FontMatch FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION ReadFontFaceCount(path AS STRING,maxBytes AS INTEGER=33554432) AS INTEGER FAILS CanvasError,IndexError,NumericError,IoError

platform/linux_fonts

Source

FUNCTION DiscoverSystemFonts(maxFiles AS INTEGER=10000) AS FontCatalog FAILS CanvasError,IndexError,NumericError,StringError

text_layout

Source

ENUM TextWrap
    None
    Word
    Grapheme
END ENUM
TYPE TextLayoutOptions
    Size AS DOUBLE=24.0
    Direction AS TextDirection=TextDirection.Auto
    MaxWidth AS DOUBLE=0.0
    Wrap AS TextWrap=TextWrap.Word
    Alignment AS TextAlignment=TextAlignment.Left
    LineSpacing AS DOUBLE=1.0
    TabSpaces AS INTEGER=4
    Kerning AS BOOLEAN=TRUE
    StrictGlyphs AS BOOLEAN=FALSE
    MaxOutlineEdges AS INTEGER=1048576
END TYPE
TYPE TextLine
    ScalarStart AS INTEGER
    ScalarCount AS INTEGER
    X AS DOUBLE
    Baseline AS DOUBLE
    Width AS DOUBLE
    Height AS DOUBLE
    Ascent AS DOUBLE
    Descent AS DOUBLE
END TYPE
TYPE TextGlyphInfo
    Glyph AS INTEGER
    FontIndex AS INTEGER
    ScalarStart AS INTEGER
    ScalarCount AS INTEGER
    X AS DOUBLE
    Baseline AS DOUBLE
    Advance AS DOUBLE
    RightToLeft AS BOOLEAN=FALSE
END TYPE
OPAQUE TYPE TextLayout
FUNCTION TextLayoutWidth(layout AS TextLayout) AS DOUBLE
FUNCTION TextLayoutHeight(layout AS TextLayout) AS DOUBLE
FUNCTION TextLayoutLineCount(layout AS TextLayout) AS INTEGER
FUNCTION TextLayoutLine(layout AS TextLayout,index AS INTEGER) AS TextLine FAILS CanvasError,IndexError
FUNCTION TextLayoutGlyphCount(layout AS TextLayout) AS INTEGER
FUNCTION TextLayoutGlyph(layout AS TextLayout,index AS INTEGER) AS TextGlyphInfo FAILS CanvasError,IndexError
SUB DrawTextLayout(BYREF canvas AS Canvas,layout AS TextLayout,x AS DOUBLE,y AS DOUBLE,color AS Color,aa AS Antialiasing=Antialiasing.Standard,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError
TYPE TextHit
    ScalarIndex AS INTEGER
    Trailing AS BOOLEAN
    Inside AS BOOLEAN
    Line AS INTEGER
END TYPE
TYPE TextInkBounds
    X AS DOUBLE
    Y AS DOUBLE
    Width AS DOUBLE
    Height AS DOUBLE
END TYPE
FUNCTION TextLayoutInkBounds(layout AS TextLayout) AS OPTIONAL OF TextInkBounds FAILS IndexError
FUNCTION HitTestTextLayout(layout AS TextLayout,x AS DOUBLE,y AS DOUBLE) AS TextHit FAILS CanvasError,IndexError
FUNCTION CreateTextLayout(fonts AS FontSet,text AS STRING,options AS TextLayoutOptions) AS TextLayout FAILS CanvasError,IndexError,NumericError
FUNCTION CreateTextLayout(font AS Font,text AS STRING,options AS TextLayoutOptions) AS TextLayout FAILS CanvasError,IndexError,NumericError

paths

Source

OPAQUE TYPE CanvasPath
FUNCTION NewPath() AS CanvasPath
FUNCTION ClonePath(path AS CanvasPath) AS CanvasPath
SUB MoveTo(BYREF path AS CanvasPath,x AS DOUBLE,y AS DOUBLE) FAILS CanvasError
SUB LineTo(BYREF path AS CanvasPath,x AS DOUBLE,y AS DOUBLE) FAILS CanvasError
SUB QuadraticTo(BYREF path AS CanvasPath,controlX AS DOUBLE,controlY AS DOUBLE,x AS DOUBLE,y AS DOUBLE) FAILS CanvasError
SUB CubicTo(BYREF path AS CanvasPath,firstX AS DOUBLE,firstY AS DOUBLE,secondX AS DOUBLE,secondY AS DOUBLE,x AS DOUBLE,y AS DOUBLE) FAILS CanvasError
SUB ClosePath(BYREF path AS CanvasPath) FAILS CanvasError
FUNCTION TransformPath(path AS CanvasPath,transform AS AffineTransform) AS CanvasPath FAILS CanvasError,IndexError
SUB FillPath(BYREF canvas AS Canvas,path AS CanvasPath,color AS Color,rule AS FillRule=FillRule.NonZero,aa AS Antialiasing=Antialiasing.Standard,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError
FUNCTION CreatePathMask(path AS CanvasPath,width AS INTEGER,height AS INTEGER,rule AS FillRule=FillRule.NonZero,aa AS Antialiasing=Antialiasing.Standard,maxPixels AS INTEGER=16777216) AS Canvas FAILS CanvasError,IndexError,NumericError

path_stroke

Source

ENUM LineJoin
    Round
    Bevel
    Miter
END ENUM
SUB DrawPath(BYREF canvas AS Canvas,path AS CanvasPath,stroke AS Stroke,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError
SUB DrawRoundedRect(BYREF canvas AS Canvas,x AS DOUBLE,y AS DOUBLE,width AS DOUBLE,height AS DOUBLE,radius AS DOUBLE,stroke AS Stroke) FAILS CanvasError,IndexError,NumericError
SUB DrawDashedPath(BYREF canvas AS Canvas,path AS CanvasPath,stroke AS Stroke,dashes AS LIST OF DOUBLE,dashOffset AS DOUBLE=0.0,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError
SUB DrawDashedPolyline(BYREF canvas AS Canvas,points AS LIST OF Point,stroke AS Stroke,dashes AS LIST OF DOUBLE,dashOffset AS DOUBLE=0.0,closed AS BOOLEAN=FALSE) FAILS CanvasError,IndexError,NumericError

png

Source

ENUM PNGFilter
    Adaptive
    Unfiltered
    Subtract
    Up
    Average
    Paeth
END ENUM
FUNCTION DecodePNG(data AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxEncodedBytes AS INTEGER=67108864) AS Canvas FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION EncodePNG(canvas AS Canvas,level AS INTEGER=1,filter AS PNGFilter=PNGFilter.Adaptive,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError,StringError

jpeg

Source

FUNCTION DecodeJPEG(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxEncodedBytes AS INTEGER=67108864,maxWorkingBytes AS INTEGER=268435456) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION EncodeJPEG(canvas AS Canvas,quality AS INTEGER=90,grayscale AS BOOLEAN=FALSE,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError
FUNCTION EncodeJPEGOnBackground(canvas AS Canvas,background AS Color,quality AS INTEGER=90,grayscale AS BOOLEAN=FALSE,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError

animation

Source

OPAQUE TYPE Animation
FUNCTION NewAnimation(width AS INTEGER,height AS INTEGER,plays AS INTEGER=1,maxDecodedBytes AS INTEGER=268435456) AS Animation FAILS CanvasError
FUNCTION AnimationWidth(animation AS Animation) AS INTEGER
FUNCTION AnimationHeight(animation AS Animation) AS INTEGER
FUNCTION AnimationFrameCount(animation AS Animation) AS INTEGER
FUNCTION AnimationPlays(animation AS Animation) AS INTEGER
FUNCTION AnimationFrame(animation AS Animation,index AS INTEGER) AS Canvas FAILS CanvasError,IndexError
FUNCTION AnimationDelayNumerator(animation AS Animation,index AS INTEGER) AS INTEGER FAILS CanvasError,IndexError
FUNCTION AnimationDelayDenominator(animation AS Animation,index AS INTEGER) AS INTEGER FAILS CanvasError,IndexError
FUNCTION AnimationFrameDelay(animation AS Animation,index AS INTEGER) AS Duration FAILS CanvasError,IndexError
SUB AppendAnimationFrame(BYREF animation AS Animation,canvas AS Canvas,delayNumerator AS INTEGER,delayDenominator AS INTEGER=1000) FAILS CanvasError
SUB DrawAnimationFrame(BYREF canvas AS Canvas,animation AS Animation,index AS INTEGER,x AS INTEGER=0,y AS INTEGER=0,opacity AS DOUBLE=1.0,mode AS BlendMode=BlendMode.SourceOver,space AS BlendSpace=BlendSpace.EncodedSRGB) FAILS CanvasError,IndexError,NumericError

gif

Source

FUNCTION DecodeGIF(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxFrames AS INTEGER=1000,maxDecodedBytes AS INTEGER=268435456,maxEncodedBytes AS INTEGER=67108864) AS Animation FAILS CanvasError,IndexError,NumericError,StringError

gif_encode

Source

FUNCTION EncodeGIFAnimation(animation AS Animation,quantize AS BOOLEAN=TRUE,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError
FUNCTION EncodeGIF(canvas AS Canvas,quantize AS BOOLEAN=TRUE,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError
FUNCTION FlattenCanvas(canvas AS Canvas,background AS Color,space AS BlendSpace=BlendSpace.EncodedSRGB) AS Canvas FAILS CanvasError,IndexError,NumericError

apng

Source

FUNCTION DecodeAPNG(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxFrames AS INTEGER=1000,maxDecodedBytes AS INTEGER=268435456,maxEncodedBytes AS INTEGER=67108864) AS Animation FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION EncodeAPNG(animation AS Animation,level AS INTEGER=6,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError,StringError

vp8_output

Source

FUNCTION DecodeVP8(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxWorkingBytes AS INTEGER=268435456) AS Canvas FAILS CanvasError,IndexError,NumericError

vp8l_decode

Source

FUNCTION DecodeVP8L(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxWorkingBytes AS INTEGER=268435456) AS Canvas FAILS CanvasError,IndexError,NumericError

vp8l_compress

Source

FUNCTION EncodeWebPLossless(canvas AS Canvas,maxEncodedBytes AS INTEGER=67108864,maxWorkingBytes AS INTEGER=268435456) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError

webp

Source

FUNCTION DecodeWebPAnimation(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxFrames AS INTEGER=1000,maxDecodedBytes AS INTEGER=268435456,maxEncodedBytes AS INTEGER=67108864) AS Animation FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION DecodeWebP(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxEncodedBytes AS INTEGER=67108864,maxWorkingBytes AS INTEGER=268435456) AS Canvas FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION EncodeWebP(canvas AS Canvas,maxEncodedBytes AS INTEGER=67108864,maxWorkingBytes AS INTEGER=268435456) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError
FUNCTION EncodeWebPAnimation(animation AS Animation,maxEncodedBytes AS INTEGER=67108864,maxWorkingBytes AS INTEGER=268435456) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError

bmp

Source

FUNCTION DecodeBMP(data AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxEncodedBytes AS INTEGER=67108864) AS Canvas FAILS CanvasError,IndexError,NumericError
FUNCTION EncodeBMP(canvas AS Canvas,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError
ENUM ImageFormat
    Auto
    PNG
    APNG
    BMP
    JPEG
    GIF
    WebP
    AVIF
    TIFF
END ENUM
FUNCTION CanEncodeImage(format AS ImageFormat) AS BOOLEAN
FUNCTION CanDecodeImage(format AS ImageFormat) AS BOOLEAN
FUNCTION DecodeImage(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxEncodedBytes AS INTEGER=67108864) AS Canvas FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION EncodeImage(canvas AS Canvas,format AS ImageFormat=ImageFormat.PNG) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION LoadImage(path AS STRING,maxPixels AS INTEGER=16777216,maxEncodedBytes AS INTEGER=67108864) AS Canvas FAILS CanvasError,IndexError,NumericError,StringError,IoError
SUB SaveImage(canvas AS Canvas,path AS STRING,format AS ImageFormat=ImageFormat.Auto) FAILS CanvasError,IndexError,NumericError,StringError,IoError

animation_io

Source

FUNCTION CanDecodeAnimation(format AS ImageFormat) AS BOOLEAN
FUNCTION CanEncodeAnimation(format AS ImageFormat) AS BOOLEAN
FUNCTION DecodeAnimation(bytes AS LIST OF BYTE,maxPixels AS INTEGER=16777216,maxFrames AS INTEGER=1000,maxDecodedBytes AS INTEGER=268435456,maxEncodedBytes AS INTEGER=67108864) AS Animation FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION EncodeAnimation(animation AS Animation,format AS ImageFormat=ImageFormat.APNG,maxEncodedBytes AS INTEGER=67108864) AS LIST OF BYTE FAILS CanvasError,IndexError,NumericError,StringError
FUNCTION LoadAnimation(path AS STRING,maxPixels AS INTEGER=16777216,maxFrames AS INTEGER=1000,maxDecodedBytes AS INTEGER=268435456,maxEncodedBytes AS INTEGER=67108864) AS Animation FAILS CanvasError,IndexError,NumericError,StringError,IoError
SUB SaveAnimation(animation AS Animation,path AS STRING,format AS ImageFormat=ImageFormat.Auto,maxEncodedBytes AS INTEGER=67108864) FAILS CanvasError,IndexError,NumericError,StringError,IoError

From the BASIL documentation. View source ↗

Find your way around BASIL

Type to search the manual.