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

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
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: Yesterday

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Dependencies

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