Skip to content

About

cli tool to create jetpack compose ImageVector from vector XML files and SVG files in Android

Resources

Stars

38 stars

Watchers

1 watching

Forks

Repository files navigation

Note

For a more feature rich experience head over to ComposeGears/Valkyrie. This project will exist to have a quick ImageVector generator on web available

vec2compose

Github Actions Status codecov

random logo showing svg and xml logo pointing to jetpack compose logo

A CLI tool to create ImageVector from Android vector XML and SVG.

Setup

CLI

Clone this repository and run ./gradlew assembleCli to generate the native binary to the dist folder.

Usage

There are two options to create the ImageVector. The first option is to create a Kotlin file.

vec2compose -i ic_done.xml -o DoneIcon.kt

The second option is to print the ImageVector to the console.

vec2compose -i ic_done.xml
ImageVector.Builder(
    name = "ic_done",
    defaultWidth = 24.dp,
    defaultHeight = 24.dp,
    viewportWidth = 24f,
    viewportHeight = 24f
).path(
    fill = SolidColor(Color.Black),
    fillAlpha = 1f,
    stroke = null,
    strokeAlpha = 1f,
    strokeLineWidth = 1f,
    strokeLineCap = StrokeCap.Butt,
    strokeLineJoin = StrokeJoin.Bevel,
    strokeLineMiter = 1f,
    pathFillType = PathFillType.NonZero
) {
    moveTo(9.0f, 16.2f)
    lineTo(4.8f, 12.0f)
    lineToRelative(-1.4f, 1.4f)
    lineTo(9.0f, 19.0f)
    lineTo(21.0f, 7.0f)
    lineToRelative(-1.4f, -1.4f)
    lineTo(9.0f, 16.2f)
    close()
}.build()

Desktop

Clone this repository and run ./gradlew desktopRun -DmainClass=MainKt --quiet.

Motivation

This is a project to play around with CLI tools and support the Jetpack Compose development. A custom icon set can be generated as the material icon set without adding XML resources.

About

cli tool to create jetpack compose ImageVector from vector XML files and SVG files in Android

Resources

Stars

38 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages