private function combine() { if (!$this->done) { if (PHP_VERSION_ID < 50300) { clearstatcache(); } $this->checkSrcs(); if (!empty($this->src_infos)) { $this->checkSizes(); if ($this->dest_width > 20000 || $this->dest_height > 20000) { throw new Yaf_Exception('combined image size too large may cause out of memory exception'); } $this->canvas = ImageManager::createTransImage($this->dest_width, $this->dest_height); switch ($this->combine_mode) { case self::COMBINE_HORIZONTAL: $this->done = $this->combineHorizontal(); break; case self::COMBINE_VERTICAL: $this->done = $this->combineVertical(); break; } } } return $this->done; }