• Stars
    star
    528
  • Rank 83,941 (Top 2 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

image2cpp

Use this tool online at http://javl.github.io/image2cpp/ image2cpp is a simple tool to change images into byte arrays (or your array back into an image) for use with (monochrome) displays suchs as OLEDs, like those from Adafruit or Sparkfun. While searching for a way to generate these arrays, I mostly found links to a piece of Windows software. Both the flakey results and the hassle of having to boot a virtual machine just to convert an image lead to me writing this pure html + javascript solution.

Alternatively you can also enter a byte array as input to turn it back into an image. This might be useful for debugging, or when you want to write the byte array yourself. I don't know.

Did you find this tool useful? Feel free to support my open source software:

GitHub Sponsor

Running the tool

You don't need any special dependencies / internet connection; all the necessary parts sit in a single .html file. So just open this index.html page in a (recent) browser to run the tool. Or you can use the online version at http://javl.github.io/image2cpp/

Example Arduino code

You can find a simple Arduino example sketch over here in the repository.

Screen types

I wrote the code with my 128x64 pixel monochrome OLED display in mind, but it should work with most similar displays. You might need to change some export settings; those are explained in the tool.

Credit

Initial code by javl with aditional code by (in alphabetical order):

The example sketch is based on code by Adafruit. Dithering code from stellar-L3N-etag.

License

image2cpp is released under GPL v3. This means you can use the project in any way you want (use, adapt, distribute, etc.) as long as you share any changes and link back to this repo. See LICENSE.md for more info.