Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bacati

Renderizar

Recommended Posts

Não sei se estou na area certa, ou seria java, ...mas teria alguma forma de fazer com que a janela do navegador se renderize automaticamente,assim sendo, quando o usuário abrir uma foto, independente do tamanho da foto a janela, pop up, se renderiza de acordo :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem pelo que eu entendi, você quer que a janela se dimensione ao tamanho da imagem? é isso?se for isso é em Javascript!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php$largura = imagex($imagem);$altura = imagey($imagem);?><a href="#" onclick="window.open('imagem.php?imagem=<?php echo $imagem;?>', '', 'width=<?php echo $largura;?>, height=<?php echo $altura;?>');">Abre pop-up</a>
Acredito que dê certo!
Ok, é essa a idéia, porém tmferreira está dando erro na linha

$largura = imagex($imagem);

$altura = imagey($imagem);

 

pode estar desabilitado algo no meu server, ou algum erro de cod ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops!! Faltou um 's'.

 

imagesx($imagem);

imagesy($imagem)

Warning: imagesx(): supplied argument is not a valid Image resource in C:\Quimera\teste\t.php on line 20

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando o tópico....

 

pesquisei no manual... e fiz mais ou menos assim...

 

<?php$imagem = "fotos/teste1.jpg";$img = ImageCreateFromJpeg($imagem);$largura = imagesx($img);$altura = imagesy($img);?><a href="#" onClick="window.open('imagem.php?imagem=<?php echo $imagem;?>', '', 'width=<?php echo $largura;?>, height=<?php echo $altura;?>');">Abre pop-up</a><?php$imagem2 = "fotos/teste2.jpg";$img2 = ImageCreateFromJpeg($imagem2);$largura2 = imagesx($img2);$altura2 = imagesy($img2);?><br /><a href="#" onClick="window.open('imagem.php?imagem=<?php echo $imagem2;?>', '', 'width=<?php echo $largura2;?>, height=<?php echo $altura2;?>');">Abre pop-up2</a><br /><?php echo $imagem . "<br />" . $imagem2;

só que não sei se ficou certo.... ficou uns espaços em branco na janela aberta (na foto de 800x600) não fica tão perceptivel... mas na de 90x67 já ficou um espaço maior......... link

e a imagem.php

<?php$imagem = $_GET["imagem"];?><img src="<?=$imagem?>" />

edit... ah... tem como deixar essa janela que abre.. sem poder redimensionar??

 

vlw Thiago....

 

off... Thiago..... você leu o manual todo do php?? hehehe queria achar uma versão para impressão.. prefiro ler no papel mesmo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw de novo Thiago....... tinha pensado sobre tamanho minimo mas como eu consegui diminuir ela manualmente pensei que era outra coisa....

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais uma dúvida sobre isso....se eu gravar a imagem num campo blob do banco.. e não o caminho dela... tem como eu recuperar para usar esta função??vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem algum exemplo?? hehe....tipo... esse banco não é meu... é do rapaz q trabalha comigo.. q gostou desse "renderizar" que você deu a idéia... só que como o banco dele guarda a imagem em si... eu não consegui fazer para criar a imagem......... "mesmo eu pedindo para ele guardar o caminho ao invés da foto.. mas o cara é cabeça dura. eheh".....pq pelo que ei vi.. ele "chama" a imagem mais ou menos assim... echo $campodoblobvlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom... ainda sobre isso.... estou pensando em... ao abrir a nova janela com a foto, criar uma paginação para clicar em anterior e próxima... até aí tudo bem... só que... ao clicar em próxima... quero que fique na mesma janela... só que este seja redimensionada para o tamanho da próxima foto... e assim por diante......eu faria isso por js ou por php? acho que deve ser por js... mas não tenho certeza.... pq ao clicar no "Proximo" irá "refazer" o código acima.. pegando o tamanho da nova imagem que será exibida.... mas não sei como "enviar" a largura e a altura para a janela que já está aberta.... deve ser mesmo por js.. com um comando do tipo... resize.. heehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei assim...

 

echo " | <a href=\"$url\" target='_self' onClick='window.open('width= $largura, height= $altura')';>Próxima</a>";

mas não altera.. pelo firebug dá erro de sintax no window.open... o que fiz errado nele? tudo?? hehe

 

como não pus nada antes que ele pede.. urls e name... aí dá erro será? teria que por '', '', para depois por os valores de largura e altura?

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas ali no seu exemplo, ele não vai literalmente abriu outra janela?

eu não quero abrir outra janela... quero que continue na mesma.... só que ao ao clicar no link da foto que tá na paginação ele redimensione a janela....

 

eu sempre me embola com "" e ' dentro do echo... por isso que qndo começa a embananar ainda mais eu tido do echo ehehe

vou postar o código da janela que abre com o primeiro windo.open lá de cima.... o imagem.php

<?php	session_start();?><style type="text/css"><!--body {	margin-left: 0px;	margin-top: 0px;	margin-right: 0px;	margin-bottom: 0px;}--></style><?php		include ("config.php");	if (isset($_GET["imagem"])) {		$imagem	 = $_GET["imagem"];		$comentario = $_GET["comentario"];		$foto	   = $_GET["codigo"];		$album	  = $_GET["album"];		$subalbum   = $_GET["subalbum"];			$_SESSION["album"] = $album;		$_SESSION["subalbum"] = $subalbum;	} else {		$album = $_SESSION["album"];		$subalbum = $_SESSION["subalbum"];	}	$consulta_total = mysql_query("SELECT count(*) as total FROM fotos where album = $album and SubAlbum = $subalbum");		$total = mysql_result($consulta_total, 0, "total");		$pagina = $foto - 1;		if(isset($_GET["pagina"])) {			$pagina = $_GET["pagina"];		}		$limite = 1;		$paginas = ceil($total / $limite);		$inicio = $pagina * $limite;		$sql = mysql_query("SELECT * FROM fotos where album = $album and SubAlbum = $subalbum ORDER by Codigo ASC LIMIT $inicio, $limite");		$conta = mysql_num_rows($sql);		while($linha = mysql_fetch_array($sql))	{			$thumbs = $linha["Thumb"];			$codigo = $linha["Codigo"];			$comentario = $linha["Comentario"];			$imagem = $linha["Local"];						$img = ImageCreateFromJpeg($imagem);			$largura = imagesx($img);			$altura = imagesy($img) + 40;						echo "<img src=\"$imagem\" alt='$comentario' border = 0 /></a>";		}		echo "<br /><center>" . $comentario . "<br />";		if($pagina > 0)	{			$menos = $pagina - 1;			$url = $_SERVER["PHP_SELF"]."?pagina=".$menos;			echo "<a href=\"$url\" target='_self'>Anterior</a>";		}		for($i = 0;$i < $paginas; $i++)	{			$pag = $i + 1;			$url = $_SERVER["PHP_SELF"]."?pagina=".$i;			echo " | <a href=\"$url\" target='_self'>$pag</a>";		}		if($pagina < $paginas - 1) {			$mais = $pagina + 1;			$url = $_SERVER["PHP_SELF"]."?pagina=".$mais;			echo " | <a href=\"$url\" target='_self' onClick='window.open('', '', 'width= $largura, height= $altura')';>Próxima</a>";		}		echo "</center>";	?>

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom alterei o códig para isso.....

<?php	session_start();?><style type="text/css"><!--body {	margin-left: 0px;	margin-top: 0px;	margin-right: 0px;	margin-bottom: 0px;}--></style><?php		include ("config.php");	if (isset($_GET["imagem"])) {		$imagem	  = $_GET["imagem"];		$comentario = $_GET["comentario"];		$foto	   = $_GET["codigo"];		$album	  = $_GET["album"];		$subalbum   = $_GET["subalbum"];			$_SESSION["album"] = $album;		$_SESSION["subalbum"] = $subalbum;	} else {		$album = $_SESSION["album"];		$subalbum = $_SESSION["subalbum"];	}	$consulta_total = mysql_query("SELECT count(*) as total FROM fotos where album = $album and SubAlbum = $subalbum");		$total = mysql_result($consulta_total, 0, "total");		$pagina = $foto - 1;		if(isset($_GET["pagina"])) {			$pagina = $_GET["pagina"];		}		$limite = 1;		$paginas = ceil($total / $limite);		$inicio = $pagina * $limite;		$sql = mysql_query("SELECT * FROM fotos where album = $album and SubAlbum = $subalbum ORDER by Codigo ASC LIMIT $inicio, $limite");		$conta = mysql_num_rows($sql);		while($linha = mysql_fetch_array($sql))	{									$codigo = $linha["Codigo"];			$comentario = $linha["Comentario"];						$imagem = $linha["Local"];			$sql_proxima = "select * from fotos where Album = $album and SubAlbum = $subalbum and Codigo = $codigo + 1";			$consulta_proxima = mysql_query($sql_proxima);			$linha_proxima = mysql_fetch_array($consulta_proxima);			$proxima_imagem = $linha_proxima["Local"];			$proxima_img = ImageCreateFromJpeg($proxima_imagem);			$proxima_largura = imagesx($proxima_img);						$proxima_altura = imagesy($proxima_img) + 40;			echo "<img src=\"$imagem\" alt='$comentario' border = 0 /></a>";		}		echo "<br /><center>" . $comentario . "<br />";		if($pagina > 0)	{			$menos = $pagina - 1;			$url = $_SERVER["PHP_SELF"]."?pagina=".$menos;			echo "<a href=\"$url\" target='_self'>Anterior</a>";		}		for($i = 0;$i < $paginas; $i++)	{			$pag = $i + 1;			$url = $_SERVER["PHP_SELF"]."?pagina=".$i;			echo " | <a href=\"$url\" target='_self'>$pag</a>";		}		if($pagina < $paginas - 1) {			$mais = $pagina + 1;			$url = $_SERVER["PHP_SELF"]."?pagina=".$mais;?>			 | <a href="<?=$url?>" target="_self" onClick="window.open('<?=$url?>', '', 'width=<?=$proxima_largura;?>, height=<?=$proxima_altura;?>');">Próxima</a>			 <?php		}		echo "</center>";	?>

O que acontence.... deixando do jeito que está... ele vai para a próxima foto na janela atual sem redimensionar a mesma.. e abre ao mesmo tempo um nova janela com o tamanho certo, e com a paginação funcionando certinho.... alterando o window.open colocando um nome para a janela ali no segundo campo.... ele fica não abre uma outra janela, vai para a próxima foto normalmente mas não redimensiona a janela.....

 

to quase chegando lá... hehe

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom. Thiago, se puder acessar o site, fica mais fácil você ver.... site logue como imasters e senha imasters e acesse o álbum Pedro Antônio na Praia...... e clique na penúltima foto (a do cachorro).. que tem uma resolução.. e clique em próxima para ir para última que tem resolução diferente....

 

mas vou explicar aqui também...

 

1 - Pagina inicial, o usuário vai em Fotos - álbuns - e escolhe um sub álbum para ver as fotos...

2 - agora, é mostrado as thumb das fotos com paginação... ao clicar em uma foto abre uma nova janela com o tamanho correto da imagem mais um espaço a mais na altura para colocar o comentário da foto e também a paginação interna das imagens grandes...

3 - nessa nova janela, mostro a foto que o usuário clicou em tamanho grande e tem a paginação para não precisar fechar a imagem grande e clicar em outra tumb para visualizar... aqui que queria ao passar de uma imagem grande de uma resolução X para outra de Y que redimensiona a janela......

 

Acho que expliquei tudo... heheh... mas a didática ainda corre de mim... ehehh

 

Ah.... o logout só tá lá para decoração ainda... ehhehehe

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

mudei para isso dentro do pop-up....

| <a href="<?=$url?>&width=<?=$proxima_largura;?>&height=<?=$proxima_altura;?>" target="_self">Próxima</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi a sua lógica aqui... mas não entendi pq não funcionou... dei um echo $width e $height para ver se realmente tava passando algum valor, mas está ok... só não mudou a largura e altura da janela.....Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe agora ficou doido... redimensionou... mas para a tela cheia....off.: tem algum lugar que eu pesquise sobre estas funções... window.open, window.resizeBy e demais... como o manual do PHP??Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... pesquisei no google.... e vi que...ResizeBy, irá aumentar o tamanho da janela com os parâmetros passados....aí mudei para ResizeTo... que assim redimensiona para o tamanho correto.Para quem não sabia como eu....ResizeBy

Resizes the current window by a certain amount.

ResizeTo

Dynamically resizes window.

Vlw Thiago! http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif Agora só tenho que mudar o query string da altura para + 40, pois tava pegando apenas o tamanho da foto em si e colocar as variáveis nos demais links (anterior e i)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.