Jump to content


Imagesx(): Imagejpeg():


  • Faça o login para participar
4 replies to this topic

#1 fabiano.froes

fabiano.froes
  • Visitantes

Posted 11/09/2003, 17:37

Warning: imagesx(): supplied argument is not a valid Image resource in /home/fourway/public_html/noticias/admin/paginas/imaddp.php on line 25

Warning: imagesy(): supplied argument is not a valid Image resource in /home/fourway/public_html/noticias/admin/paginas/imaddp.php on line 25

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/fourway/public_html/noticias/admin/paginas/imaddp.php on line 25

Warning: imagejpeg(): Unable to open 'imagem/not.jpg' for writing in /home/fourway/public_html/noticias/admin/paginas/imaddp.php on line 28

deu esse erro quando eu fui criar uma thumbnail alguem pode me ajudar? :unsure:

#2 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 11/09/2003, 18:34

Oi, Fabiano! Td bem?

Olha só... Vou te contar o q está acontecendo, mas infelizmente não dá pra te ajudar assim, por alto, sem saber o código (neste caso é necessário).

Todas as msgs d erro aí estão se referindo a funções que trabalham em cima de imagens. Vou pegar um exemplo dos erros pra te explicar...

A função imagesx() funciona assim: vc informa pra ela em qual variável está armazenada a imagem e a função te fala qual é a largura (em pixels) da imagem. Por exemplo:

$largura = imagesx($imagem);

Neste caso eu estou guardando na variável $largura a largura da imagem guardada na variável $imagem. No entanto, a variável $imagem precisa estar definida, ou seja, ela precisa ter uma imagem dentro dela. Existem duas formas d se guardar uma imagem dentro de uma variável. Uma é vc criando livremente a imagem com a função imagecreate(). Por exemplo:

$imagem = imagecreate(200, 300);

Isto fará com q se crie uma imagem de 200px de largura e 300px de altura, e esta imagem fique guardada dentro da variável $imagem. Uma variante desta função imagecreate() é a função imagecreatetruecolor(), que faz a mesma coisa, mas cria uma imagem com uma paleta de cores maior. Não vou entrar em detalhes pra não extender mto o assunto.

O outro jeito de se guardar uma imagem dentro de uma variável é usando uma função pra abrir algum arquivo de imagem. As funções variam, pois tem função pra abrir uma imagem em GIF, outra pra abrir uma imagem em JPEG, etc. Por exemplo:

$imagem1 = imagecreatefromjpeg("c:\foto1.jpg");
$imagem2 = imagecreatefromgif("c:\foto2.gif");

Pq estou te explicando isto? Bem... Pelo seguinte: o erro q aparece pra vc tá informando que a variável de imagem passada para as funções em questão não é válida! Por exemplo: a linha 25 do arquivo /noticias/admin/paginas/imaddp.php está bem confusa, pois na mesma linha o programador usou 3 funções, então o código pode estar um pouco bagunçado nesta linha, mas pode procurar q vc vai achar algo do tipo:

imagesx($img);

Eu não sei o que tem antes disto ou o q tem depois, mas sei q isto está na linha 25, e tb não sei se a variável informada é $img, mas sei q tem uma variável dentro daqueles parênteses. E vou supor que esta variável é $img.

O erro está informando q esta variável não é uma imagem válida, e deveria... Então, se vc procurar um pouco mais acima, vc deve encontrar no código uma tentativa de se guardar uma imagem dentro desta variável. E esta tentativa vai ser em um daqueles jeitos q eu citei ali em cima... Pode ser um destes casos:

$img = imagecreate(200, 300);

ou

$img = imagecreatetruecolor(200, 300);

ou

$img = imagecreatefromjpeg("nomedoarquivo.jpg");

Ou qquer outro jeito. No entanto, esta tentativa de criação de imagem foi falha! Eu lhe dou quase q toda a certeza d q não foi nenhum dos dois primeiros casos citados aí em cima, pois nunca vi dar algum erro com a função imagecreate() ou com a imagecreatetruecolor(). O q deve ter acontecido é na linha estar informado $img = imagecreatefromTIPO($arquivo);, sendo TIPO o tipo da imagem (jpeg, gif, tiff, ou qquer outro), e este $arquivo informado não existe. Então a variável $img passa a não ser uma imagem válida, obviamente. Verifique isto no seu código... Verifique se o arquivo informado na função existe, ou então simplesmente mande o código para avaliarmos.

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#3 fabiano.froes

fabiano.froes
  • Visitantes

Posted 12/09/2003, 14:23

Oi, Fabiano! Td bem?

Olha só... Vou te contar o q está acontecendo, mas infelizmente não dá pra te ajudar assim, por alto, sem saber o código (neste caso é necessário).

Todas as msgs d erro aí estão se referindo a funções que trabalham em cima de imagens. Vou pegar um exemplo dos erros pra te explicar...

A função imagesx() funciona assim: vc informa pra ela em qual variável está armazenada a imagem e a função te fala qual é a largura (em pixels) da imagem. Por exemplo:

$largura = imagesx($imagem);

Neste caso eu estou guardando na variável $largura a largura da imagem guardada na variável $imagem. No entanto, a variável $imagem precisa estar definida, ou seja, ela precisa ter uma imagem dentro dela. Existem duas formas d se guardar uma imagem dentro de uma variável. Uma é vc criando livremente a imagem com a função imagecreate(). Por exemplo:

$imagem = imagecreate(200, 300);

Isto fará com q se crie uma imagem de 200px de largura e 300px de altura, e esta imagem fique guardada dentro da variável $imagem. Uma variante desta função imagecreate() é a função imagecreatetruecolor(), que faz a mesma coisa, mas cria uma imagem com uma paleta de cores maior. Não vou entrar em detalhes pra não extender mto o assunto.

O outro jeito de se guardar uma imagem dentro de uma variável é usando uma função pra abrir algum arquivo de imagem. As funções variam, pois tem função pra abrir uma imagem em GIF, outra pra abrir uma imagem em JPEG, etc. Por exemplo:

$imagem1 = imagecreatefromjpeg("c:\foto1.jpg");
$imagem2 = imagecreatefromgif("c:\foto2.gif");

Pq estou te explicando isto? Bem... Pelo seguinte: o erro q aparece pra vc tá informando que a variável de imagem passada para as funções em questão não é válida! Por exemplo: a linha 25 do arquivo /noticias/admin/paginas/imaddp.php está bem confusa, pois na mesma linha o programador usou 3 funções, então o código pode estar um pouco bagunçado nesta linha, mas pode procurar q vc vai achar algo do tipo:

imagesx($img);

Eu não sei o que tem antes disto ou o q tem depois, mas sei q isto está na linha 25, e tb não sei se a variável informada é $img, mas sei q tem uma variável dentro daqueles parênteses. E vou supor que esta variável é $img.

O erro está informando q esta variável não é uma imagem válida, e deveria... Então, se vc procurar um pouco mais acima, vc deve encontrar no código uma tentativa de se guardar uma imagem dentro desta variável. E esta tentativa vai ser em um daqueles jeitos q eu citei ali em cima... Pode ser um destes casos:

$img = imagecreate(200, 300);

ou

$img = imagecreatetruecolor(200, 300);

ou

$img = imagecreatefromjpeg("nomedoarquivo.jpg");

Ou qquer outro jeito. No entanto, esta tentativa de criação de imagem foi falha! Eu lhe dou quase q toda a certeza d q não foi nenhum dos dois primeiros casos citados aí em cima, pois nunca vi dar algum erro com a função imagecreate() ou com a imagecreatetruecolor(). O q deve ter acontecido é na linha estar informado $img = imagecreatefromTIPO($arquivo);, sendo TIPO o tipo da imagem (jpeg, gif, tiff, ou qquer outro), e este $arquivo informado não existe. Então a variável $img passa a não ser uma imagem válida, obviamente. Verifique isto no seu código... Verifique se o arquivo informado na função existe, ou então simplesmente mande o código para avaliarmos.

Um abraço,
Thales Medeiros.

function cria_thumbnail($file,$thumb_name,$ext){

$nova_largura = 50;
$nova_altura = 50;
$qualidade = 75;

if($ext="jpg") $img_origem = @imagecreatefromjpeg($file);
elseif($ext="gif") $img_origem = @imagecreatefromgif($file);
elseif($ext="png") $img_origem = @imagecreatefrompng($file);
elseif($ext="bmp") $img_origem = @imagecreatefromwbmp($file);

$img_destino = imagecreate($nova_largura, $nova_altura);
imagecopyresampled($img_destino,$img_origem,0,0,0,0,$nova_largura,$nova_altura,imagesx($img_origem),imagesy($img_origem));


if($ext="jpg") imagejpeg($img_destino,$thumb_name,$qualidade);
elseif($ext="gif") imagegif($img_destino,$thumb_name,$qualidade);
elseif($ext="png") imagepng($img_destino,$thumb_name,$qualidade);
elseif($ext="bmp") imagewbmp($img_destino,$thumb_name,$qualidade);
else echo "Tipo de imagem inválido!!";

imagedestroy($img_destino);

}

essa é a função que eu estou usando!!!

#4 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 12/09/2003, 15:26

Vou modificá-la um pouco, para q possamos achar o erro!

function cria_thumbnail($file,$thumb_name,$ext){

$nova_largura = 50; 
$nova_altura = 50; 
$qualidade = 75;

if (!file_exists($file)) {echo "Arquivo inexistente: $file";return;}

if($ext="jpg") $img_origem = @imagecreatefromjpeg($file)
or die("Arquivo corrompido ou não é um JPG: $file");
elseif($ext="gif") $img_origem = @imagecreatefromgif($file)
or die("Arquivo corrompido ou não é um GIF: $file");
elseif($ext="png") $img_origem = @imagecreatefrompng($file)
or die("Arquivo corrompido ou não é um PNG: $file");
elseif($ext="bmp") $img_origem = @imagecreatefromwbmp($file)
or die("Arquivo corrompido ou não é um BMP: $file");
else {echo "$ext é uma extensão não suportada!";return;}

$img_destino = imagecreate($nova_largura, $nova_altura); 
imagecopyresampled($img_destino,$img_origem,0,0,0,0,$nova_largura,$nova_altura,imagesx($img_origem),imagesy($img_origem));


if($ext="jpg") imagejpeg($img_destino,$thumb_name,$qualidade);
elseif($ext="gif") imagegif($img_destino,$thumb_name,$qualidade);
elseif($ext="png") imagepng($img_destino,$thumb_name,$qualidade);
elseif($ext="bmp") imagewbmp($img_destino,$thumb_name,$qualidade);

imagedestroy($img_destino); 

}

Rode isto e depois diga qual erro apareceu!

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#5 cko

cko

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:RS

Posted 24/08/2010, 18:21

opa, sou novo aqui no forum, mas me deparei com um problema parecido com um ja ocorrido
bom

meu codigo é esse

thumbs.php


<?
header("Content-type: image/jpeg");
$im = imagecreatefromjpeg($_GET['imagem']); // Cria uma nova imagem a partir de um arquivo ou URL

$wid = (int)$_GET["w"];
$hei = (int)$_GET["h"];


$w = imagesx($im);
$h = imagesy($im);

$w1 = $w / $wid;
if ($hei == 0)
{
$h1 = $w1;
$hei = $h / $w1;
}
else
{
$h1 = $h / $hei;
}
// echo "$h1 - $w1";
$min = min($w1,$h1);

$xt = $min * $wid;
$x1 = ($w - $xt) / 2;
$x2 = $w - $x1;

$yt = $min * $hei;
$y1 = ($h - $yt) / 2;
$y2 = $h - $y1;

$x1 = (int) $x1;
$x2 = (int) $x2;
$y1 = (int) $y1;
$y2 = (int) $y2;

$img = NULL;

$img = imagecreatetruecolor($wid, $hei);
//$background = imagecolorallocate($img, 50, 50, 50);
imagecolorallocate($img,255,255,255);

$c = imagecolorallocate($img,255,255,255);
$c1 = imagecolorallocate($img,0,0,0);

for ($i=0;$i<=$hei;$i++)
{
imageline($img,0,$i,$wid,$i,$c);
}

imagecopyresampled($img,$im,0,0,$x1,$y1,$wid,$hei,$x2-$x1,$y2-$y1);

imagejpeg($img, '', 95)
?>



e ta me voltando esses erros

PHP Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /home/th33508/public_html/thumbs.php on line 44

PHP Warning: imagesx(): supplied argument is not a valid Image resource in /home/th33508/public_html/thumbs.php on line 9

PHP Warning: imagesy(): supplied argument is not a valid Image resource in /home/th33508/public_html/thumbs.php on line 10

vlw desde ja a ajuda




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq