Ir para conteúdo
Alberto Nascimento

Redimensionar exibição de imagem através de PHP

Recommended Posts

Tenho este código abaixo que inseri em meu arquivo para que possa exibir por link a imagem que encontra-se hospedada em uma pasta no meu servidor, sendo que a mesma "pega" o nome do arquivo que foi salvo anteriormente no registro específico.

echo sprintf('<a href="http://www.meusite.com.br/imagens/%s">', $rows_cursos['novonome']);
echo "".$rows_cursos['novonome']."<br>";

Porém estou com um problema. As imagens que são exibidas em uma frame, porém por serem imagens em sua maioria enormes, elas ficam "gigantes na tela". Então, seria possível "redimensionar" a um valor expecífico em pixels ou então que seja redimensionado a um percentual ou de acordo com o frame ? Existe algum código que faça redimensionar as imagens?

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Alberto Nascimento disse:

Existe algum código que faça redimensionar as imagens?

 

Ter, não tem. Mas tem como recriar outra com o tamanho específico usando a função imagecopyresampled

Porém acho que complicar com algo simples como o seu não é o caso.

//Ao invés de fazer
echo "".$rows_cursos['novonome']."<br>";

//Faça
echo "<pre>";
var_dump($rows_cursos['novonome']); // Precisamos saber como essa string é

E poste o que aparece na tela

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, Alberto Nascimento disse:

Tenho este código abaixo que inseri em meu arquivo para que possa exibir por link a imagem que encontra-se hospedada em uma pasta no meu servidor, sendo que a mesma "pega" o nome do arquivo que foi salvo anteriormente no registro específico.


echo sprintf('<a href="http://www.meusite.com.br/imagens/%s">', $rows_cursos['novonome']);
echo "".$rows_cursos['novonome']."<br>";

Porém estou com um problema. As imagens que são exibidas em uma frame, porém por serem imagens em sua maioria enormes, elas ficam "gigantes na tela". Então, seria possível "redimensionar" a um valor expecífico em pixels ou então que seja redimensionado a um percentual ou de acordo com o frame ? Existe algum código que faça redimensionar as imagens?

Tente desta forma é um jeito que eu uso aqui e veja se resolve

printf("<img src='%s/assets/empresa/%s' width='100%'>",ConfigPainel('site_url'),$dados["imagem"]);

 

onde esta width='100%' se não resolver tente com width='100px'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Alvaro Pacífico Serpa
      Olá pessoal sou novo no CSS e estou com um pequeno problema, deve ser fácil de resolver mas sou novato nessa área. Tenho uma div sidebar com float: rigth e width:300px fixo e tenho uma div responsivo com float:left e width:100%, o que eu preciso é que a div responsivo fique com 100% do lado da sidebar ocupando o máximo que puder, tipo como na imagem. Qual comando posso usar?

    • Por BrunoBit
      Fala rapaziada. 
      Queria saber, de acordo com a experiência de vocês, como faço pra redimensionar uma imagem .PNG sem perder qualidade com php?
      Pq quando eu redimensiono a imagem perde qualidade no navegador Chrome, fica levemente ofuscada, porém no firefox mantém a qualidade perfeita.
      Digo isso com relação à logos, geralmente redimensionadas pra 150/200px e originalmente com 1200px.
       
      Alguém conhece alguma solução?
       
      Desde já agradeço pessoal, abração e fiquem com Deus.
    • Por quantic2016
      ola pessoa!
      preciso de uma ajuda com um código php, eu preciso que uma imagem pega no html, seja redimensionada e ate se possível, converta para png. peço ajuda de alguém com mais experiencia, que tenha um tempo para entrar em contato comigo ou me dar algumas dicas de pesquisa.
      segue o meu código.
      $foto = $_FILES["fotouser"]; if (!empty($foto["name"])) { // Largura máxima em pixels $largura = 400; // Altura máxima em pixels $altura = 400; // Tamanho máximo do arquivo em bytes $tamanho = 10000; // Verifica se o arquivo é uma imagem // Pega as dimensões da imagem $dimensoes = getimagesize($foto["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { session_start(); $_SESSION['msg_warning'] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; echo "<script>history.go(-1)</script>"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { session_start(); $_SESSION['msg_warning'] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; echo "<script>history.go(-1)</script>"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($arquivo["size"] > $tamanho) { session_start(); $_SESSION['msg_warning'] = "A imagem deve ter no maximo ".$tamanho." bytes"; echo "<script>history.go(-1)</script>"; } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|png|jpg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = user.(md5(uniqid(time()))) . "." . $ext[1]; $caminho_imagem = "../../img/user/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); este script , renomeia perfeitamente , cria o nome para meu novo arquivo e move a imagem para o diretório perfeitamente.
      porem n consigo juntar esse código com outras dicas que vi na internet, então o jeito e pedir ajuda
      fico no aguardo, vlw pessoal.
    • Por imultimidia
      Boa noite pessoal, estou tendo uma dor de cabeça, sou iniciante.
      Tenho um arquivo que envia múltiplas imagens, só que não redimensiona.
      Inclui uma classe para redimensionar que ja uso em outros arquivos porém não em múltiplos.
      O problema é que sempre dá erro, como se o redirecionamento não estivesse recebendo as imagens. Segue o código e a classe.
      Se poderem me ajudar, desde já muito obrigado!
       
      <?php if(session_is_registered("$var_sessaor")) { ?>

      <?php
      include("FCKeditor/fckeditor.php");
      include_once ('Redimensiona.php');

      $id=$_GET['id'];
      require('saidas.php');
      if(isset($_POST['enviar']))
      {
      foreach($_FILES['foto']['name'] as $key => $arquivo)
      {
      if($arquivo!='')
      {
      //redimensiona
      $foto = $_FILES['foto'][$key];
      $redim = new Redimensiona();
      $imagem = $redim->Redimensionar($foto, 800, '../imgs/projetos_fotos/');

      //upload sem redimensionamento
      /*$hash=md5(microtime()).'.jpg';
      if(move_uploaded_file($_FILES['foto']['tmp_name'][$key],'../imgs/projetos_fotos/'.$hash))*/
      {
      $legenda=$_POST['legenda'][$key];
      mysql_query("INSERT INTO projetos_fotos (projetos,foto,legenda) VALUES ('$id','$imagem','$legenda')");
      }
      }
      }
      throw_alert('Fotos enviadas com sucesso!','?p=projetos_fotos2&id='.$id);
      }


      elseif(isset($_GET['foto']))
      {
      $fotoid=$_GET['foto'];
      $select=mysql_query("SELECT * FROM projetos_fotos WHERE id='$fotoid'");
      $vessel=mysql_fetch_array($select);
      @unlink('../imgs/projetos_fotos/'.$vessel['foto']);
      $del=mysql_query("DELETE FROM projetos_fotos WHERE id='$fotoid'");
      if($del)
      throw_alert('Foto removida com sucesso.','?p=books_fotos&id='.$vessel['books']);
      }

      ?>



      <!--GERAL-->
      <div class="panel panel-default">

      <div style="margin-top:10px; padding:5px;" class="borda">
      <h1>Fotos para o Book</h1>
      <p><a href="?p=projetos" class="btn btn-default" style="width: 115px;">Voltar</a></p>
      </div>


      <div class="panel-heading no-collapse">
      <span >Cadastrar fotos para: </span>
      <span style="font-weight:bold;">
      <?php
      $id=$_GET['id'];
      $select=mysql_query("SELECT * FROM projetos WHERE id='$id'");
      $display=mysql_fetch_array($select);
      print ''.$display['titulo'].'';
      ?>
      </span>
      </div>



      <!--form-->
      <div style="margin-top:30px; padding:10px; overflow:hidden; max-width:800px;" >


      <form name="dados" method="post" action="?p=projetos_fotos2&id=<?php print $id; ?>" enctype="multipart/form-data">
      <?php
      for($i=0;$i<6;$i+=2)
      {
      ?>
      <div style="col-lg-4">
      <div class="form-group">
      <label style="font-size:11px;">Foto</label>
      <input type="file" <?php print 'name="foto['.$i.']"'; ?> />
      </div>
      </div>

      <div style="col-lg-4">
      <div class="form-group">
      <label style="font-size:11px;">Foto</label>
      <input type="file" <?php print 'name="foto['.($i+1).']"'; ?> />
      </div>
      </div>
      <?php } ?>

      <div style="clear:both"></div>

      <input type="submit" name="enviar" value="Adicionar" class="btn btn-primary" />

      </form>


      </div>
      <!-- form-->


      <div class="panel-heading no-collapse" style="margin-top:40px;">
      <span >Fotos Cadastradas</span>
      </div>

      <!--fotos-->
      <div style="margin-top:30px; overflow:hidden;">

      <?php
      $sql = mysql_query("SELECT * FROM projetos_fotos WHERE projetos='$id' ORDER BY id DESC LIMIT 100");
      while($x = mysql_fetch_array($sql))
      {
      ?>

      <div align="center" style="width:200px; height:200px; float:left; background-color:#F4F4F4; padding:7px; margin:10px;">
      <img src="../imgs/projetos_fotos/<?=$x['foto'];?>" width="185" height="139" border="0" /><br>
      <!--<div style="font-size:11px; margin-top:10px;">'.$display['legenda'].'</div><br />-->

      <div align="center" style="margin-top:10px;">
      <a href="?p=projetos_fotos&foto=<?=$x['id'];?>" class="btn btn-default" onclick="return confirm('Deseja mesmo remover?')" >
      Excluir Foto</a>
      </div>
      </div>
      <?php } ?>
      </div>
      <!--fotos-->




      </div>
      <!--GERAL-->
      <?php } ?>
       
      ------------------------------------------------------------------------------------------------
       
      //CLASSE DE REDIMENDIONAR
       
      <?php
      class Redimensiona{

      public function Redimensionar($imagem, $largura, $pasta){

      $name = md5(uniqid(rand(),true));

      if ($imagem['type']=="image/jpeg"){
      $img = imagecreatefromjpeg($imagem['tmp_name']);
      }else if ($imagem['type']=="image/gif"){
      $img = imagecreatefromgif($imagem['tmp_name']);
      }else if ($imagem['type']=="image/png"){
      $img = imagecreatefrompng($imagem['tmp_name']);
      }
      $x = imagesx($img);
      $y = imagesy($img);
      $autura = ($largura * $y)/$x;

      $nova = imagecreatetruecolor($largura, $autura);
      imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $autura, $x, $y);

      if ($imagem['type']=="image/jpeg"){
      $local="$pasta/$name".".jpg";
      $imagemName = $name.".jpg";
      imagejpeg($nova, $local);
      }else if ($imagem['type']=="image/gif"){
      $local="$pasta/$name".".gif";
      $imagemName = $name.".gif";
      imagegif($nova, $local);
      }else if ($imagem['type']=="image/png"){
      $local="$pasta/$name".".png";
      $imagemName = $name.".png";
      imagepng($nova, $local);
      }

      imagedestroy($img);
      imagedestroy($nova);

      return $imagemName;
      }
      }
      ?>
×

Informação importante

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