npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lv_img_conv

v0.4.0

Published

Image converter for LVGL

Downloads

154

Readme

Image converter for LVGL

How to install

  1. Make sure Node.js is installed.
  2. Not always needed, but recommended: ensure the necessary native dependencies for canvas are installed.
  3. Clone this repository.
  4. Run npm install to install needed dependencies.

NOTE: For Docker instructions skip ahead

Extra steps for Windows

  1. Run 'npm install -g typescript'
  2. Move to 'lib' folder 'cd lib'
  3. Run 'npm install -g ts-node'

Note: The converter might fail on Windows if the file path containes multiple byte characters (Chinese/Japanese/Korean characters etc.). It's recommended to rename these files before passing them to the converter, or you can switch on enable Beta:Use Unicode UTF-8 for worldwide language support options.

Example usage:

For Linux:

# C format
./lv_img_conv.js logo_lvgl.png -f -c CF_TRUE_COLOR_ALPHA
# Binary format (RGB565)
./lv_img_conv.js logo_lvgl.png -f -c CF_TRUE_COLOR_ALPHA -t bin --binary-format 565
# C format with dither algoritm
./lv_img_conv.js logo_lvgl.png -f -d true -c CF_TRUE_COLOR_ALPHA

For Windows:

# C format
ts-node cli.ts logo_lvgl.png -f -c CF_TRUE_COLOR_ALPHA
# Binary format (RGB565)
ts-node cli.ts logo_lvgl.png -f -c CF_TRUE_COLOR_ALPHA -t bin --binary-format 565
# C format with dither algoritm
ts-node cli.ts logo_lvgl.png -f -d true -c CF_TRUE_COLOR_ALPHA

A file called logo_lvgl.c will be created in the same directory.

Example usage with Docker:

Building locally

docker build -t lv_img_conv .

Run lv_img_conv.js directly

docker run --rm \
    -u 1000:1000 \
    -v /path/to/project:/usr/src/proj \
    lv_img_conv \
    <lv_img_conv.js arguments>

Run interactive shell

docker run -it --rm \
    -u 1000:1000 \
    -v /path/to/project:/usr/src/proj \
    lv_img_conv

lv_img_conv.js is in the $PATH and callable from the interactive shell.

Parameters

| Parameter | Function | | --- | --- | | -u 1000:1000 | Set to your host user's UID/GID, unless you don't mind root ownership on output files | | -v /path/to/project:/usr/src/proj | Change /path/to/project to directory with image(s) to convert |

Attribution

This converter was originally created by @embeddedt as an attempt to solve some of the common issues experienced with the PHP converter, such as running out of memory on large images or failing to read certain PNGs correctly.

Much of the actual conversion logic remains unchanged from the previous implementation, which can be found at https://github.com/lvgl/lv_utils/blob/b298fe71675e9c12016adabcc8889394b477b89b/img_conv_core.php.