mirror of
https://github.com/Makuna/NeoPixelBus.git
synced 2025-08-07 04:44:26 +02:00
`
@@ -1,22 +1,15 @@
|
||||
(under construction)
|
||||
There are three objects exposed that help manage images. They each provide a solution to managing and rendering image data onto the strip. Their internal memory storage matches the pixel layout of the NeoPixelBus which provides a fast rendering.
|
||||
|
||||
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.
|
||||
|
||||
## [NeoBuffer object](https://github.com/Makuna/NeoPixelBus/wiki/NeoBuffer-object)
|
||||
### [NeoBuffer object](https://github.com/Makuna/NeoPixelBus/wiki/NeoBuffer-object)
|
||||
The NeoBuffer 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 NeoPixelBus or other Raster objects.
|
||||
|
||||
## [NeoVerticalSpriteSheet object](https://github.com/Makuna/NeoPixelBus/wiki/NeoVerticalSpriteSheet-object)
|
||||
The NeoVerticalSpriteSheet 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 NeoPixelBus or other Raster objects.
|
||||
### [NeoVerticalSpriteSheet object](https://github.com/Makuna/NeoPixelBus/wiki/NeoVerticalSpriteSheet-object)
|
||||
The NeoVerticalSpriteSheet 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 NeoPixelBus or other Raster objects.
|
||||
|
||||
### [NeoBitmapFile](https://github.com/Makuna/NeoPixelBus/wiki/NeoBitmapFile-object)
|
||||
The NeoBitmapFile is used to "stream" parts of a bmp file to a target. It does not store image data in memory. It provides direct x,y access to get pixels along with a render method `Blt()` that will copy the image bits to the NeoPixelBus or other Raster objects.
|
||||
|
||||
|
||||
## NeoBufferMethod objects
|
||||
There are two template "Method" objects that used in the construction of the NeoBuffer and NeoVerticalSpriteSheet 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.
|
||||
|
||||
### NeoBufferMethod
|
||||
This method object will define the raster object so that it uses RAM to store the image.
|
||||
|
||||
### NeoBufferProgmemMethod
|
||||
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 image, 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). These tools will export your images into a .h file. An example image and files are present with the NeoPixelBufferCylon example.
|
||||
|
Reference in New Issue
Block a user