/** * 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); }