You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
885 B
27 lines
885 B
12 years ago
|
ImageStreams
|
||
|
============
|
||
|
|
||
|
Motivation
|
||
|
----------
|
||
|
Some time ago I had a project where I rendered something to a high quality buffer, which I wanted to export as a png. I used libpng++ for that, the downside was that this library allocated the image again (in a different format). But the only thing I wanted to do is convert my format to another format (pixel by pixel), so this allocation seemed redundant. That's why I wanted a image stream library.
|
||
|
|
||
|
Features
|
||
|
--------
|
||
|
* Output streams for bmp and png image files
|
||
|
* Grayscale and color
|
||
|
* Low memory usage (because it streams)
|
||
|
* Easy to use
|
||
|
|
||
|
Uasge
|
||
|
-----
|
||
|
```C++
|
||
|
png::gray_ostream image(1024, 768, "test.png");
|
||
|
for(int y = 0; y < 768; ++y){
|
||
|
for(int x = 0; x < 1024; ++x){
|
||
|
image << png::gray_ostream::pixel(some_generation(x,y));
|
||
|
}
|
||
|
}
|
||
|
// done, image is automatically saved (wtih RAII)
|
||
|
```
|
||
|
|
||
|
There are more examples in the main.cpp file.
|