folder = $imgFolder; $this->zapWidth = $width; $this->zapHeight = $height; $this->canvasName = DIRECTORY_SEPARATOR . ZAP_CANVAS_NAME; $this->canvasName .= $_SESSION['date'] . "_nr_" . sprintf("%02d", $nr); $tmpImg = new Imagick(); $tmpAr = $tmpImg->getQuantumRange(); $this->maxRGB = $tmpAr['quantumRangeLong']; $tmpImg->destroy(); } /** * Makes a basic canvasFile from sourceImage * and saves it into imageFolder * returns imageBLOB from saved image * @param string $sourceImgName * @return void */ public function createBasicCanvas($sourceImgName) { $canvas = new Imagick($sourceImgName); $canvas = ImgTools::zoomCrop($canvas, $this->zapWidth, $this->zapHeight, TRUE); ImgIOTools::saveImg($canvas, $this->folder, $this->canvasName); if (ZAP_DELETE_SOURCE == true) { unlink($sourceImgName); } ImgIOTools::onScreen($canvas); } /** * adds processed version of $sourceImage to canvas * @param string $sourceImgName * @return void */ public function addToCanvas($sourceImgName) { $canvasUri = $this->folder . $this->canvasName . '.' . ZAP_IMG_TYPE; $canvas = new Imagick($canvasUri); $source_im = new Imagick($sourceImgName); $newCanvas_im = $this->zapToCanvas($source_im, $canvas); ImgIOTools::saveImg($newCanvas_im, $this->folder, $this->canvasName); if (ZAP_DELETE_SOURCE == true) { unlink($sourceImgName); } ImgIOTools::onScreen($newCanvas_im); } /** * @param Imagick $source_im * @param Imagick $canvas * @return Imagick Object */ private function zapToCanvas(Imagick $source_im, $canvas) { //$val = ImgTools::imgCenterValueProm($source_im, $this->maxRGB); //merge resized random transparised image on top of canvas $transparent = ImgTools::transparantRandom($source_im, $this->maxRGB); $resized = ImgTools::resize($transparent, $this->zapWidth, $this->zapHeight); $canvas->compositeImage($resized, imagick::COMPOSITE_OVER, 0, 0); return $canvas; } } ?>