akshay2211 / DrawBox

DrawBox is a multi-purpose tool to draw anything on canvas, written completely on jetpack compose.
https://ak1.io/DrawBox/
Apache License 2.0
303 stars 41 forks source link
android android-canvas android-library canvas composable compose drawing-app drawing-library drawing-on-canvas hacktoberfest jepackcompose kotlin kotlin-android kotlin-library signature-pad

DrawBox

Android Weekly Android Arsenal Kotlin Weekly Maven Central Google Dev Library

DrawBox is a multi-purpose tool to draw anything on canvas, written completely on jetpack compose.

Features

Demo

Usage

 val controller = rememberDrawController()

 DrawBox(drawController = controller, modifier = Modifier.fillMaxSize().weight(1f, true))

With multiple methods in DrawController

* setStrokeColor(color: Color)
* setStrokeWidth(width: Float)
* unDo()
* reDo()
* reset()
* getDrawBoxBitmap()    // gives the result bitmap from canvas
* importPath(path)
* exportPath()

Download

Download or grab via Gradle:

include in app level build.gradle

 repositories {
    mavenCentral()
 }
 implementation  'io.ak1:drawbox:1.0.3'

or Maven:

<dependency>
  <groupId>io.ak1</groupId>
  <artifactId>drawbox</artifactId>
  <version>1.0.3</version>
  <type>pom</type>
</dependency>

or ivy:

<dependency org='io.ak1' name='drawbox' rev='1.0.3'>
  <artifact name='drawbox' ext='pom' ></artifact>
</dependency>

Thanks to

RangVikalp for the beautiful color picker used in DrawBox

License

Licensed under the Apache License, Version 2.0, click here for the full license.

Author & support

This project was created by Akshay Sharma.

If you appreciate my work, consider buying me a cup of :coffee: to keep me recharged :metal: by PayPal

I love using my work and I'm available for contract work. Freelancing helps to maintain and keep my open source projects up to date!