Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoas eu tenho o seguinte codigo abaixo que apresentando o erro
Fatal error: Call to undefined function: imagecreatefrompng() in /var/www/www.balletcristianapacker.com.br/includes/func_images.php on line 107
<?php
//função que faz upload de imagem para um determinado local com um novo nome e a recimencinando para um novo tamanho.
function copy_image($global_file, $dest, $new_name, $new_ext, $new_dim_x=0, $new_dim_y=0) {
$class_image = new image;
$ckeck_file = upload_file($global_file, $dest.$global_file['name'], "image", false);
$orig = $global_file['tmp_name'];
$type = get_file_type($global_file['name']);
$name = get_file_name($global_file['name']);
if ($ckeck_file===true) { //Verifica se deu algum problema com o arquivo
if ($class_image->create_image_from_url($orig, $type)) { //Cria e verifica (se é uma imagem valida) o arquivo de imagem.
if ($new_dim_x!=0 && $new_dim_y!=0) {
$class_image->resize($new_dim_x,$new_dim_y);
}
$class_image->save($new_name, $dest, $new_ext);
return true;
}
else {
$ckeck_file[0] = "Tipo de imagem inválida.";
}
}
elseif ($ckeck_file===false) {
$ckeck_file[0] = "Erro ao copiar imagem.";
}
return $ckeck_file;
}
class image {
//Cria imagem de um derminado tipo de acordo com um URL de outra imagem
function create_image_from_url($imageURL, $type='') {
if (!file_exists($imageURL)){
return false;
}
$this->$tipo = $type;
if (!$type) {
$this->$tipo = get_file_type($imageURL);
}
switch($this->$tipo) {
case "jpg":
$img = imagecreatefromjpeg($imageURL);
$this->image = $img;
break;
case "png":
$img = imagecreatefrompng($imageURL);
$this->image = $img;
break;
case "gif":
$img = imagecreatefromgif($imageURL);
$this->image = $img;
break;
case "bmp":
$img = imagecreatefromwbmp($imageURL);
$this->image = $img;
break;
default:
$img = imagecreatefromjpeg($imageURL);
$this->image = @imagecreatefromjpeg($imageURL);
break;
}
if (!$img) {
return false;
}
$this->largura = @imagesx($this->image);
$this->altura = @imagesy($this->image);
return true;
}
//Redimenciona a imagem criada para as dimenssões passadas
function resize($w, $h, $constain = 0) {
if($constain) {
if($w > $h) {
$prop = $this->altura / $this->largura;
$h = $prop * $w;
} else {
$prop = $this->largura / $this->altura;
$w = $prop * $h;
}
}
if($w < 1 && $h < 1)
die("Tamanho inválido para redimencionamento");
$imNew = imagecreatetruecolor($w, $h);
imagecopyresized($imNew, $this->image, 0, 0, 0, 0, $w, $h, $this->largura, $this->altura);
$this->image = $imNew;
$this->largura = $w;
$this->altura = $h;
unset($imNew, $w, $h);
}
//Salva a imagem. O parametro extensão determina qual será o tipo da imagem.
function save($nome, $pasta = "", $extensao = "") {
if(!$extensao) $extensao = $this->$tipo;
if ($nome) {
$caminho = "{$pasta}{$nome}.{$extensao}";
}
else {
$caminho = $pasta;
}
switch($extensao) {
case "jpg":
imagejpeg($this->image, $caminho);
imagedestroy($this->image);
break;
case "tmp":
imagejpeg($this->image, $caminho);
imagedestroy($this->image);
break;
case "png":
imagepng($this->image, $caminho);
imagedestroy($this->image);
break;
case "gif":
imagegif($this->image, $caminho);
imagedestroy($this->image);
break;
case "bmp":
imageWBMP($this->image, $caminho);
imagedestroy($this->image);
break;
default:
return false;
}
unset($caminho);
}
//Destroi a imagem
function destroy() {
imagedestroy($this->image);
}
}
?>Carregando comentários...