Jump to content


Photo

Imagesx()


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

#1 Fernando_Ramos

Fernando_Ramos

    Fernando Ramos

  • Usuários
  • 728 posts
  • Sexo:Não informado

Posted 01/06/2006, 08:24

Amigos,

estou usando o PHP, APACHE e MYSQL no WINDOWS XP, ta tudo funcionando certinho habilitei no PHP.INI o GD2...porém ao rodar um script que peguei pronto na internet da o seguinte erro:

Warning: imagesx(): supplied argument is not a valid Image resource in ...
a mesma coisa para o imagesy() ...etc..etc...

como eu poderia estar resolvendo isso?

abraços!
--
www.ramosinformatica.com
contato@ramosinformatica.com | @rinformatica

Hospedagem de site | Desenvolvimento de Sistemas | Informática em Geral

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 01/06/2006, 08:33

Poste a maneira que você está usando estas duas funções.

Leitura: http://br.php.net/ma...ion.imagesx.php

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Fernando_Ramos

Fernando_Ramos

    Fernando Ramos

  • Usuários
  • 728 posts
  • Sexo:Não informado

Posted 01/06/2006, 09:02

não esta mais aparecendo este erro.

agora o que acontece é o seguinte aparece isso:

?þ¹ÇRÜìv'¯ãaoß… K¢,Ë@ñŒŸ9”Sã«2„@L„Ä* ²lmlºvkÌÈÅX§Ø «š¤›¤@(Ù2šfV30Ž˜ÜN{b£LÁ*MÇŽ=±Mss®3ѹöª‰]g;]0ãzÁ;…$"K_{é™Í³ÕÙ…­•SóÕwïÝ·Üxse¶Y° ...


o script é o seguinte:

function mini($sImg, $nLargura, $nAltura)
{
$sExt = substr(strrchr($sImg, "."), 1);
$sExt = strtolower($sExt);

header ("Content-type: img");

switch ($sExt)
{
case "jpg" :
$rImg = imagecreatefromjpeg($sImg);
break;
case "jpeg" :
$rImg = imagecreatefromjpeg($sImg);
break;
case "gif" :
$rImg = imagecreatefromgif($sImg);
break;
case "png" :
$rImg = imagecreatefrompng($sImg);
}

$nImgLargura = imagesx($rImg);
$nImgAltura = imagesy($rImg);

if ($nImgLargura > $nImgAltura)
{
$nAltura = ($nLargura * $nImgAltura) / $nImgLargura;
}
elseif ($nImgAltura > $nImgLargura)
{
$nLargura = ($nAltura * $nImgLargura) / $nImgAltura;
}

$rMiniatura = imagecreatetruecolor($nLargura, $nAltura);

imagecopyresized($rMiniatura, $rImg, 0, 0, 0, 0, $nLargura, $nAltura, $nImgLargura, $nImgAltura);
imagepng($rMiniatura);
imagedestroy($rImg);
imagedestroy($rMiniatura);
}

e estou usando da seguinte forma:

<img src="<?=mini('fotos/PIC_0010.JPG',100,100);?>">


INFORMAÇÕES ADICIONAIS:
- O script fica no arquivo config.php
- Eu chamo o script no arquivo fotos.php (usei o include)

Edição feita por: Fernando_Ramos, 01/06/2006, 09:04.

--
www.ramosinformatica.com
contato@ramosinformatica.com | @rinformatica

Hospedagem de site | Desenvolvimento de Sistemas | Informática em Geral

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 01/06/2006, 13:45

Se está parecendo isso está certo. Só falta tu indicar ao navegador o mime-type do arquivo que está sendo exibido. Para isso, use a função header(). ;)

Exemplo:

header('Content-Type: image/png');
[]’s :DAté mais

#5 Fernando_Ramos

Fernando_Ramos

    Fernando Ramos

  • Usuários
  • 728 posts
  • Sexo:Não informado

Posted 02/06/2006, 09:31

Amigo,

modifiquei o script para o seguinte:

function mini($sImg, $nLargura, $nAltura)
{
$sExt = substr(strrchr($sImg, "."), 1);
$sExt = strtolower($sExt);

//header ("Content-type: img");
[b]header('Content-Type: image/png');[/b]

switch ($sExt)
{
case "jpg" :
$rImg = imagecreatefromjpeg($sImg);
break;
case "jpeg" :
$rImg = imagecreatefromjpeg($sImg);
break;
case "gif" :
$rImg = imagecreatefromgif($sImg);
break;
case "png" :
$rImg = imagecreatefrompng($sImg);
}

$nImgLargura = imagesx($rImg);
$nImgAltura = imagesy($rImg);

if ($nImgLargura > $nImgAltura)
{
$nAltura = ($nLargura * $nImgAltura) / $nImgLargura;
}
elseif ($nImgAltura > $nImgLargura)
{
$nLargura = ($nAltura * $nImgLargura) / $nImgAltura;
}

$rMiniatura = imagecreatetruecolor($nLargura, $nAltura);

imagecopyresized($rMiniatura, $rImg, 0, 0, 0, 0, $nLargura, $nAltura, $nImgLargura, $nImgAltura);
imagepng($rMiniatura);
imagedestroy($rImg);
imagedestroy($rMiniatura);
}

e a pagina onde mostra a foto esta assim:

<?php
include('config.php');
?>


<?
$arq = $_GET['cod'];
$query = "SELECT * FROM tbl_fotos WHERE id_foto = " . $arq;
$result = @mysql_query($query);
while($row = mysql_fetch_array($result)) {
$arquivo = $row['arquivo_ori'];
}

?>
<html>

	<title>Untitled Page</title>


<body>
	
	<div>
	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
		<tr>
		  <td>&nbsp;</td>
		</tr>
		<tr>
		  <td><div align="center"><img src="<?=mini("fotos/" . $arquivo,100,100)?>," /></div></td>
		</tr>
		<tr>
		  <td><div align="center" class="style21"><%=desc%></div></td>
		</tr>
		<tr>
		  <td>&nbsp;</td>
		</tr>
		<tr>
		  <td><div align="center"><a href="#" class="style21" onClick='java script:window.close()'>FECHAR</a></div></td>
		</tr>
	  </table>
	</div>
   
</body>
</html>


Porém continua aparecendo aqueles caracteres.....

abraços!
--
www.ramosinformatica.com
contato@ramosinformatica.com | @rinformatica

Hospedagem de site | Desenvolvimento de Sistemas | Informática em Geral

#6 paulojrpb_php

paulojrpb_php

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 02/06/2006, 10:09

Legal .. essa discusão caiu certinho pra mim tb! Estou precisando da mesma coisa! O negócio é que, eu creio que não é possível exibir o arquivo de imagem na mesma página em que se coloca texto, pelo que sei o include inclui o código como se fosse uma página só, então ele faz isso.

Tb gostaria de saber se tem como na hora de fazer o upload da foto gravar um nome na foto e depois fazer o up.
Vlw galeria..

"Me amarro no WEBFÓRUM"
"Não te estribes no teu próprio entendimento!!!"
Paulo Jr. PHP Development (Intermediary)

#7 Fernando_Ramos

Fernando_Ramos

    Fernando Ramos

  • Usuários
  • 728 posts
  • Sexo:Não informado

Posted 02/06/2006, 11:14

Amigos,

realmente...

eu coloquei na mesma pagina, o scrip, a conexão...tudo em PHP..apenas PHP e funciona perfeitamente...

porém se eu colocar algum HTML...dança...volta o mesmo erro dos caracteres....como eu posso fazer para resolver isso...eu não posso perder a formatação da minha página!

abraços!
--
www.ramosinformatica.com
contato@ramosinformatica.com | @rinformatica

Hospedagem de site | Desenvolvimento de Sistemas | Informática em Geral




1 user(s) are reading this topic

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

IPB Skin By Virteq