Advertisement
Guest User

Blarx

a guest
Dec 30th, 2014
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. #include "png++/png.hpp"
  3. #include <ctime>
  4.  
  5. using namespace png;
  6.  
  7. int main() {
  8.     size_t x = 10000;
  9.     size_t y = 5000;
  10.     clock_t start;
  11.     float elapsed;
  12.     image<rgb_pixel> img(x,y);
  13.     std::cout << "iterativ: ";
  14.     start = clock();
  15.     for(size_t i=0; i<y; ++i) {
  16.         for(size_t j=0; j<x; ++j) {
  17.             img[i][j].red=255;
  18.             img[i][j].green=0;
  19.             img[i][j].blue=0;
  20.         }
  21.     }
  22.     elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
  23.     std::cout << elapsed << std::endl;
  24.     img.write("test1.png");
  25.     image<rgb_pixel> img2(x,y);
  26.     std::cout << "Pointer: ";
  27.     start = clock();
  28.     rgb_pixel *pPtr;
  29.     for(size_t i=0; i<y; ++i) {
  30.         pPtr = &img2[i][0];
  31.         for(size_t j = 0; j<x; ++j) {
  32.             (*pPtr).red=0;
  33.             (*pPtr).green=255;
  34.             (*pPtr).blue=0;
  35.             ++pPtr;
  36.         }
  37.     }
  38.     elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
  39.     std::cout << elapsed << std::endl;
  40.     img2.write("test2.png");
  41.     image<rgb_pixel> img3(x,y);
  42.     std::cout << "Iterativ2: ";
  43.     start = clock();
  44.     for(size_t i=0; i<y; ++i) {
  45.         for(size_t j=0; j<x; ++j) {
  46.             img3.set_pixel(j,i,basic_rgb_pixel<byte>(0,0,255));
  47.         }
  48.     }
  49.     elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
  50.     std::cout << elapsed << std::endl;
  51.     img3.write("test3.png");
  52.     image<rgb_pixel> img4(x,y);
  53.     std::cout << "Pointer2: ";
  54.     start = clock();
  55.     rgb_pixel *pPtr2;
  56.     for(size_t i=0; i<y; ++i) {
  57.         pPtr2 = &img4[i][0];
  58.         for(size_t j=0; j<x; ++j) {
  59.             (*pPtr2)=basic_rgb_pixel<byte>(255,255,0);
  60.             ++pPtr2;
  61.         }
  62.     }
  63.     elapsed = (float)(clock() - start) / CLOCKS_PER_SEC;
  64.     std::cout << elapsed << std::endl;
  65.     img4.write("test4.png");
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement