Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "png++/png.hpp"
- #include <ctime>
- using namespace png;
- int main() {
- size_t x = 10000;
- size_t y = 5000;
- clock_t start;
- float elapsed;
- image<rgb_pixel> img(x,y);
- std::cout << "iterativ: ";
- start = clock();
- for(size_t i=0; i<y; ++i) {
- for(size_t j=0; j<x; ++j) {
- img[i][j].red=255;
- img[i][j].green=0;
- img[i][j].blue=0;
- }
- }
- elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
- std::cout << elapsed << std::endl;
- img.write("test1.png");
- image<rgb_pixel> img2(x,y);
- std::cout << "Pointer: ";
- start = clock();
- rgb_pixel *pPtr;
- for(size_t i=0; i<y; ++i) {
- pPtr = &img2[i][0];
- for(size_t j = 0; j<x; ++j) {
- (*pPtr).red=0;
- (*pPtr).green=255;
- (*pPtr).blue=0;
- ++pPtr;
- }
- }
- elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
- std::cout << elapsed << std::endl;
- img2.write("test2.png");
- image<rgb_pixel> img3(x,y);
- std::cout << "Iterativ2: ";
- start = clock();
- for(size_t i=0; i<y; ++i) {
- for(size_t j=0; j<x; ++j) {
- img3.set_pixel(j,i,basic_rgb_pixel<byte>(0,0,255));
- }
- }
- elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
- std::cout << elapsed << std::endl;
- img3.write("test3.png");
- image<rgb_pixel> img4(x,y);
- std::cout << "Pointer2: ";
- start = clock();
- rgb_pixel *pPtr2;
- for(size_t i=0; i<y; ++i) {
- pPtr2 = &img4[i][0];
- for(size_t j=0; j<x; ++j) {
- (*pPtr2)=basic_rgb_pixel<byte>(255,255,0);
- ++pPtr2;
- }
- }
- elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
- std::cout << elapsed << std::endl;
- img4.write("test4.png");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement