Advertisement
Guest User

Andrei/Imagem.cpp

a guest
Nov 29th, 2015
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include "Imagem.h"
  2. #include "Pixel.h"
  3.  
  4. srand((unsigned)time(NULL));
  5.  
  6. Imagem::Imagem(){
  7.     linhas = 0;
  8.     colunas = 0;
  9.     maxCor = 255;
  10. }
  11.  
  12. Imagem::Imagem(int l, int c, int m){
  13.     linhas = l;
  14.     colunas = c;
  15.     maxCor = m;
  16.  
  17. }
  18.  
  19. Imagem::Imagem(const Imagem &temp){
  20.     linhas = temp.linhas;
  21.     colunas = temp.colunas;
  22.     maxCor = temp.maxCor;
  23. }
  24.  
  25. Imagem::~Imagem(){
  26.     desaloca();
  27. }
  28.  
  29. void Imagem::copia(const Imagem &temp){
  30.     linhas = temp.linhas;
  31.     colunas = temp.colunas;
  32.     maxCor = temp.maxCor;
  33. }
  34.  
  35. Imagem Imagem::&operator = (const Imagem &aux){
  36.     copia(aux);
  37.     return *this;
  38. }
  39.  
  40. int Imagem::geraNumeroAleatorio(int minimo, int maximo){
  41.     int faixa = maximo - minimo;
  42.     return (rand()%(faixa))+minimo;
  43. }
  44.  
  45. void Imagem::aloca(int l, int c){
  46.     dados = new *Pixel [c];
  47.     for (int i = 0; i < l; i++){
  48.         dados[i] = new Pixel [l];
  49.     }
  50. }
  51.  
  52. void Imagem::desaloca(){
  53.     for (int i = 0; i<linhas; i++){
  54.         delete [] dados [i];
  55.     }
  56.     delete [] dados;
  57. }
  58.  
  59. void Imagem::setDado(int r, int g, int b, int l, int c){
  60.     setLinhas(l);
  61.     setColunas(c);
  62.     Pixel *p = new Pixel(r, g, b);
  63.  
  64.     setDado(p, l, c);
  65. }
  66.  
  67. void Imagem::setDado(Pixel p, int l, int c){
  68.     aloca(c, l);
  69.     dados[c][l] = p;
  70. }
  71.  
  72. Pixel Imagem::getDado(int l, int c){
  73.     Pixel p = dados[c][l];
  74.     return p;
  75. }
  76. int Imagem::getLinhas(){
  77.     return linhas;
  78. }
  79. int Imagem::getColunas (){
  80.     return colunas;
  81. }
  82. int Imagem::getMaxCor (){
  83.     return maxCor;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement