BlurHash support for iOS, Android and JVM via Kotlin Multiplatform

blurhash

A Kotlin Multiplatform library to use blurhash in your Android App, iOS / Mac App & JVM Backend.

Android iOS JVM

Why?

If you’ve tried using blurhash, you qickly stumple upon the main repository. They provide sources for Swift, Typescript, Python, Kotlin and C. However:

  • Implementations produce different hashes for the same picture
  • There are no artifacts to consume i.e. no Cocoa Pod or Maven dependency
  • Not all implementations provide both encoding and decoding support
  • Sample apps for all Android, iOS & JVM with consistent images and blur hashes

The goal of this library is to unify all of the above and provide a common API.

Usage

From Kotlin Multiplatform:

kotlin {
  sourceSets {
    val commonMain by getting {
      dependencies {
        implementation("com.vanniktech:blurhash:0.1.0")
      }
    }
  }
}

From Android / JVM Multiplatform:

dependencies {
  implementation("com.vanniktech:blurhash:0.1.0")
}

From iOS:

pod 'BlurHash', :git => 'https://github.com/vanniktech/blurhash', :branch => "master"

API

Use com.vanniktech.blurhash.BlurHash directly in your platform specific code to encode as well as decode:

Thanks

Without them this would not exist!

License

Copyright (C) 2022 – Niklas Baudy

Licensed under the MIT License

GitHub

View Github