Ejemplo n.º 1
0
 /**
  * Save image as px in database
  * @access public
  * @param string $image
  * @return array
  */
 public function saveImage($src, $ext)
 {
     $db = new database();
     $data = new dataHandler();
     $size = getimagesize($src);
     $width = (int) $size[0];
     $height = (int) $size[1];
     if ($ext === 'png') {
         $image = imagecreatefrompng($src);
     }
     if ($ext === 'jpg' || $ext === 'jpeg') {
         $image = imagecreatefromjpeg($src);
     }
     if ($ext === 'gif') {
         $image = imagecreatefromgif($src);
     }
     if ($ext === 'bmp') {
         $image = imagecreatefromwbmp($src);
     }
     $values = '';
     for ($y = 0; $y < $height; ++$y) {
         for ($x = 0; $x < $width; ++$x) {
             $res = imagecolorat($image, $x, $y);
             $rgb1 = $res >> 16 & 0xff;
             $rgb2 = $res >> 8 & 0xff;
             $rgb3 = $res & 0xff;
             $values .= '(
                         AES_ENCRYPT("' . $rgb1 . '", "' . $db->aesKey . '"), 
                         AES_ENCRYPT("' . $rgb2 . '", "' . $db->aesKey . '"), 
                         AES_ENCRYPT("' . $rgb3 . '", "' . $db->aesKey . '"),
                         ' . $x . ',
                         ' . $y . ',
                         ' . $data->getRank($rgb1, $rgb2, $rgb3) . '
                     ),';
             if ($x % 100 == 0) {
                 $values .= '|';
             }
         }
         //end for $x
     }
     //end for $y
     $valueArray = explode('|', $values);
     $i_max = count($valueArray);
     for ($i = 0; $i < $i_max; ++$i) {
         $valueArray[$i] = substr($valueArray[$i], 0, strlen($valueArray[$i]) - 1);
         $sql = 'INSERT INTO 
                     pixel (pixelRGB1, pixelRGB2, pixelRGB3, pixelX, pixelY, pixelRank)
                 VALUES ' . $valueArray[$i];
         $db->insert($sql);
     }
     imagedestroy($image);
 }