/** * Redimentsiona uma imagem * @param int $w * @param int $h * @param string $arquivo * @param string $resizeType * @param int $qualidade * @param uint $color * @return boolean */ static function redimensionaImg($w, $h, $pasta, $arquivo, $resizeType = 'crop', $qualidade = 100, $color = '#FFFFFF', $pastaResize = 'miniatura') { $arquivo = str_replace(['\\', '/'], DIRECTORY_SEPARATOR, $arquivo); $pastaArquivo = dirname($arquivo); if (in_array($pastaArquivo, ['.', '/', '\\']) or !$pastaArquivo) { $pastaArquivo = ''; } else { $pastaArquivo .= DIRECTORY_SEPARATOR; } $arquivo = basename($arquivo); $pasta = str_replace(['\\', '/'], DIRECTORY_SEPARATOR, $pasta) . DIRECTORY_SEPARATOR; $fullDir = "{$pasta}{$pastaArquivo}{$arquivo}"; if (is_dir($fullDir)) { $arquivo = 'default.jpg'; $resizeType = 'preenchimento'; } else { if (!file_exists($fullDir)) { $arquivo = "default.jpg"; $resizeType = 'preenchimento'; } } # Arquivo default.jpg if ($arquivo == 'default.jpg' and !file_exists("{$pasta}{$pastaArquivo}default.jpg")) { trigger_error('O Arquivo default.jpg não foi criado na pasta de imagens.'); } $fullDir = "{$pasta}{$pastaArquivo}{$arquivo}"; if (file_exists($fullDir)) { $extension = self::getFileExtension($arquivo); if (!file_exists("{$pasta}{$pastaArquivo}{$pastaResize}")) { mkdir("{$pasta}{$pastaArquivo}{$pastaResize}"); } $fileName = preg_replace("/(.*)(\\..*)/", "\$1-" . sha1(str_replace('#', '', strtolower("{$w}-{$h}-{$qualidade}-{$resizeType}-{$color}"))) . "\$2", basename($arquivo)); $fileName = $pastaArquivo . $pastaResize . DIRECTORY_SEPARATOR . $fileName; $newFile = "{$pasta}{$fileName}"; if (!file_exists($newFile)) { $img = new IMGCanvas($fullDir); $img->hexa($color)->redimensiona($w, $h, $resizeType)->grava($newFile, $qualidade); } return base_url_images(str_replace('\\', '/', $fileName)); } return null; }
function getSource($Host = false) { return $Host ? base_url_images($this->Source) : $this->Source; }