C++ library for streaming images (png/jpg/bmp)
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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Joshua Moerman f9e67a8437 added description 12 years ago
ImageStreams added another example 12 years ago
ImageStreams.xcodeproj Made the design more consistent, made it work and did already some documentation 12 years ago
README.md added description 12 years ago

README.md

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

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.