summaryrefslogtreecommitdiff
path: root/example_decode.cpp
diff options
context:
space:
mode:
authorLode <lvandeve@gmail.com>2015-02-16 22:55:55 +0100
committerLode <lvandeve@gmail.com>2015-02-16 22:55:55 +0100
commitbf2aa0a46fc8c1d398604cd384bc2c583774cc1f (patch)
tree08a444bab7d70c828f158608a9a2849b86b133c1 /example_decode.cpp
parent9eaef3d1764f0e1e0234362824d30fc2df51af4d (diff)
move examples to examples directory
Diffstat (limited to 'example_decode.cpp')
-rw-r--r--example_decode.cpp95
1 files changed, 0 insertions, 95 deletions
diff --git a/example_decode.cpp b/example_decode.cpp
deleted file mode 100644
index 4eee6b8..0000000
--- a/example_decode.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-LodePNG Examples
-
-Copyright (c) 2005-2012 Lode Vandevenne
-
-This software is provided 'as-is', without any express or implied
-warranty. In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
-
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
-
- 3. This notice may not be removed or altered from any source
- distribution.
-*/
-
-#include "lodepng.h"
-#include <iostream>
-
-/*
-3 ways to decode a PNG from a file to RGBA pixel data (and 2 in-memory ways).
-*/
-
-//g++ lodepng.cpp example_decode.cpp -ansi -pedantic -Wall -Wextra -O3
-
-
-//Example 1
-//Decode from disk to raw pixels with a single function call
-void decodeOneStep(const char* filename)
-{
- std::vector<unsigned char> image; //the raw pixels
- unsigned width, height;
-
- //decode
- unsigned error = lodepng::decode(image, width, height, filename);
-
- //if there's an error, display it
- if(error) std::cout << "decoder error " << error << ": " << lodepng_error_text(error) << std::endl;
-
- //the pixels are now in the vector "image", 4 bytes per pixel, ordered RGBARGBA..., use it as texture, draw it, ...
-}
-
-//Example 2
-//Load PNG file from disk to memory first, then decode to raw pixels in memory.
-void decodeTwoSteps(const char* filename)
-{
- std::vector<unsigned char> png;
- std::vector<unsigned char> image; //the raw pixels
- unsigned width, height;
-
- //load and decode
- lodepng::load_file(png, filename);
- unsigned error = lodepng::decode(image, width, height, png);
-
- //if there's an error, display it
- if(error) std::cout << "decoder error " << error << ": " << lodepng_error_text(error) << std::endl;
-
- //the pixels are now in the vector "image", 4 bytes per pixel, ordered RGBARGBA..., use it as texture, draw it, ...
-}
-
-//Example 3
-//Load PNG file from disk using a State, normally needed for more advanced usage.
-void decodeWithState(const char* filename)
-{
- std::vector<unsigned char> png;
- std::vector<unsigned char> image; //the raw pixels
- unsigned width, height;
- lodepng::State state; //optionally customize this one
-
- lodepng::load_file(png, filename); //load the image file with given filename
- unsigned error = lodepng::decode(image, width, height, state, png);
-
- //if there's an error, display it
- if(error) std::cout << "decoder error " << error << ": "<< lodepng_error_text(error) << std::endl;
-
- //the pixels are now in the vector "image", 4 bytes per pixel, ordered RGBARGBA..., use it as texture, draw it, ...
- //State state contains extra information about the PNG such as text chunks, ...
-}
-
-int main(int argc, char *argv[])
-{
- const char* filename = argc > 1 ? argv[1] : "test.png";
-
- decodeOneStep(filename);
-}
-