Swiftpack.co -  Package - LuizZak/swift-blend2d
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
LuizZak/swift-blend2d
Experimental Swift bindings for Blend2D
.package(url: "https://github.com/LuizZak/swift-blend2d.git", from: "0.5.0")

SwiftBlend2D

Platform Build Status
macOS Build Status
Linux Build Status

Work-in-progress Swift bindings for Blend2D. This project makes use of the original source code of Blend2D and is in no way associated or supported by Blend2D.

For a brief report of what APIs are available in Swift, please check the status page.

Sample usage

Taken from sample1 from the samples library.

let img = BLImage(width: 480, height: 480, format: .prgb32)

// Attach a rendering context into `img`.
let ctx = BLContext(image: img)!

// Clear the image.
ctx.compOp = .sourceCopy
ctx.fillAll()

// Fill some path.
let path = BLPath()

path.moveTo(x: 26, y: 31)
path.cubicTo(x1: 642, y1: 132, x2: 587, y2: -136, x3: 25, y3: 464)
path.cubicTo(x1: 882, y1: 404, x2: 144, y2: 267, x3: 27, y3: 31)

ctx.compOp = .sourceOver
ctx.setFillStyleRgba32(0xFFFFFFFF)
ctx.fillPath(path)

// Detach the rendering context from `img`.
ctx.end()

// Let's use some built-in codecs provided by Blend2D.
let codec = BLImageCodec(builtInCodec: .bmp)

try img.writeToFile("bl-getting-started-1.bmp", codec: codec)

This should create an image in the current working directory like so:

Sample 1

There are more examples that reproduce each sample from Blend2D's homepage within that file.

License

The source code for SwiftBlend2D is distributed under the MIT license.

The incorporated source code from Blend2D is licensed under the zlib license.

GitHub

link
Stars: 5
Last commit: 4 days ago

Dependencies

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco