Updated Raster Image Support (markdown)

Michael Miller
2016-04-16 13:56:32 -07:00
parent 83931f0c39
commit ed7782c4cc

@@ -1 +1,22 @@
(under construction)
(under construction)
Currently there are two primary objects exposed that help manage images. They each provide a solution to managing and rendering image data onto the strip. They both require a template 'Method' class that defines where and how the memory is managed. Their internal memory storage matches the pixel layout of the NeoPixelBus which provides a fast rendering.
## NeoPixelBuffer object
The NeoPixelBuffer is basic image storage object. It can store the image data in RAM or reference image data stored in PROGMEM. It provides direct x,y access to set and get pixels along with a render method `Blt()` that will copy bits to the NeoPixelStrip or other Raster objects.
## NeoPixelVerticalSpriteSheet object
The NeoPixelVerticalSpriteSheet is used to abstract that the image actually contains a series of sprites of the same size. It can store the image data in RAM or reference image data stored in PROGMEM. It provides direct sprite,x,y access to set and get pixels along with a render method `Blt()` that will copy a sprite to the NeoPixelStrip or other Raster objects.
## NeoPixelBufferMethod objects
There are two template "Method" objects that used in the construction of the NeoPixelBuffer and NeoPixelVerticalSpriteSheet that define where the data for the image is stored. There is no need to call these objects directly and they should just be used to construct the two raster objects.
### NeoPixelBufferMethod
This method object will define the raster object so that it uses RAM to store the image.
### NeoPixelBufferProgmemMethod
This method object will define the raster object so that it uses PROGMEM to store the image.
## Image Plug In
To create the PROGMEM data structure that contains your images, you can use the [free Paint.Net](http://www.getpaint.net/download.html) program with the [Arduino NeoPixel Sketch Exporter Paint.Net plugin](http://forums.getpaint.net/index.php?/topic/107921-arduino-neopixel-sketch-exporter/?p=515063). When used it will export your images into a .h file.