Swiftpack.co - LuizZak/swift-blend2d as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by LuizZak.
LuizZak/swift-blend2d 0.5.0
Experimental Swift bindings for Blend2D
⭐️ 7
🕓 2 weeks ago
linux windows android
.package(url: "https://github.com/LuizZak/swift-blend2d.git", from: "0.5.0")

SwiftBlend2D

Platform Build Status
macOS Build Status
Linux Build Status
Windows 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: 7
Last commit: 2 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Dependencies

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