Ir para conteúdo

POWERED BY:

Arquivado

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

  • 0
viniciussmelo

Redimensionar o tamanho da imagem em um while

Pergunta

Gostaria de saber como eu dar um tamanho de imagem padrão quando executo este while:

 

echo"
			<table id='tabela'>
				<thead>
					<tr>
						<td>Imagem da questão:	</td>
						<td>Matéria da questão:</td>
						<td>Questão :</td>
						<td>Resposta :</td>
						<td>Email de quem cadastrou: </td>
					</tr>
				</thead>
				</table>";

			while($escrever=mysql_fetch_array($res)){

						echo'<table>
						<tr>
						<td><img src="' . $escrever['imagemQuestao'] . '" width="100" height="100"/></td>
						 <td>' .  $escrever['materiaQuestao'] . '</td>
						 <td>' .  $escrever['Questao'] . '</td>
						 <td>' .  $escrever['Resposta'] . '</td>
						 <td>' .  $escrever['nomeProf'] . '</td>
						</tr>
						</table>';
			}

Com esse código está vindo o formato original apenas

Compartilhar este post


Link para o post
Compartilhar em outros sites

4 respostas a esta questão

Recommended Posts

Olá. Para de trabalhar com  imagens em Loops se todas não tiver o mesmo tamanho pode causar um sério problemas de estética e deformação do CSS, esse problema seria se você fosse exibir elas lado a lado por exemplos em colunas de 2 ou 3.
Se exibir dentro de tabelas dá para controlar a situação, desde que você faça uma tabela para imagem, e for em DIVs é complicado flutuar imagens de tamanhos distintos lado a  lado ou uma em baixo da outra de forma harmônica!

É possível controlar a largura de uma imagem para todas terem a mesma largura, e assim a altura é definida de forma automática respeitando as dimensões em duas proporções originais.

<img class="fig_home" src="endereco_imagem" alt="Ver Detalhes" width="205" border="0">

No exemplo cima, todas elas terão 205 de largura, porém cada uma terá uma altura diferente devido a proporção.
Eu numa época tentei de vária formas formatar imagens para se ajustar em linha independente do seu tamanho, mas não obtive sucesso, cheguei numa conclusão que o correto é enviar a imagem do tamanho adequado. Eu então redimenciono a largura e as alturas sendo todas iguais irá deixar a tela perfeita.

No anexo eu mostro o que acontece com imagens de alturas diferentes flutuando lado a lado!

Abraços!
 

divs.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Fábio BN disse:

Olá. Para de trabalhar com  imagens em Loops se todas não tiver o mesmo tamanho pode causar um sério problemas de estética e deformação do CSS, esse problema seria se você fosse exibir elas lado a lado por exemplos em colunas de 2 ou 3.
Se exibir dentro de tabelas dá para controlar a situação, desde que você faça uma tabela para imagem, e for em DIVs é complicado flutuar imagens de tamanhos distintos lado a  lado ou uma em baixo da outra de forma harmônica!

É possível controlar a largura de uma imagem para todas terem a mesma largura, e assim a altura é definida de forma automática respeitando as dimensões em duas proporções originais.

<img class="fig_home" src="endereco_imagem" alt="Ver Detalhes" width="205" border="0">

No exemplo cima, todas elas terão 205 de largura, porém cada uma terá uma altura diferente devido a proporção.
Eu numa época tentei de vária formas formatar imagens para se ajustar em linha independente do seu tamanho, mas não obtive sucesso, cheguei numa conclusão que o correto é enviar a imagem do tamanho adequado. Eu então redimenciono a largura e as alturas sendo todas iguais irá deixar a tela perfeita.

No anexo eu mostro o que acontece com imagens de alturas diferentes flutuando lado a lado!

Abraços!
 

divs.jpg

Tinha pensado nisso, mas não sabia como fazer.. no caso pesso para o cara anexar a imagem, e como redimensiono ela ?

//Pedindo a imagem
<input id = "fotos" onclick="mensagem()" name="fotos" type="file" size="50" >

//minha estrutura de condição para verificar o tamanho
if (!empty($foto['name'])) 
	{
		// Largura maxima em pixels
		$largura = 500;
		// Altura maxima em pixels
		$altura = 500;
		// Tamanho maximo do arquivo em bytes
		$tamanho = 1000000;
	      
    	// Verifica se o arquivo é uma imagem (extensões)
    	if(!preg_match("/^image\/(jpg|jpeg|png|gif|bmp)$/",$foto['type'])){
     	   $error[1] = "Não é uma imagem...";
   	 	} 
	
		// capturar as dimensoes da imagem
		$dimensoes = getimagesize($foto['tmp_name']);
 
		// Verifica se a altura da imagem  é maior que a altura permitida
		if($dimensoes[1] > $altura) {
			$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
		}
		
		// Verifica se o tamanho da imagem é maior que o tamanho permitido
		if($foto['size'] > $tamanho) {
   		 	$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
		}
 
		
		// Se não houver nenhum erro
		if ($error == 0) {
		
			// Pega extensao da imagem
			preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$foto['name'],$ext);
			
        	// Gera um nome unico para a imagem
        	$nome_imagem = md5(uniqid(time())).".".$ext[1];

        	// Caminho de onde ficar� a imagem
        	$caminho_imagem = "imagens/".$nome_imagem;		

			// Faz o upload da imagem para seu respectivo caminho
			move_uploaded_file($foto['tmp_name'],$caminho_imagem);
			
			$sql = "INSERT INTO cadastroquestoes (materiaQuestao, Questao, Resposta, imagemQuestao ,nomeProf) VALUES ('$materiaCad','$questaoCad', '$resposta' ,'$caminho_imagem','$emailProf')";
			
  		    $res = mysql_query($sql);

          if ($res)
      {
          echo"<script language='javascript' type='text/javascript'>
  		  alert('Questao cadastrada com Sucesso!!!');
          window.location.href='cadastroMaterias.php';</script>";
          die();
      }
      else
      {
          echo 'Falha ao gravar questao !!! ';
      }
    }
  }
  else{
	  $caminho_imagem = 'imagens/nCad.jpg';
	  $sql = "INSERT INTO cadastroquestoes (materiaQuestao, Questao, Resposta, imagemQuestao ,nomeProf) VALUES ('$materiaCad','$questaoCad', '$resposta' ,'$caminho_imagem','$emailProf')";
			
  		    $res = mysql_query($sql);

          if ($res)
      {
          echo"<script language='javascript' type='text/javascript'>
  		  alert('Questao cadastrada com Sucesso!!!');
          window.location.href='cadastroMaterias.php';</script>";
          die();
      }
      else
      {
          echo 'Falha ao gravar questao !!! ';
      }
  }
}

Mas com isso apenas da um erro do tamanho e não redimensiona ela. Alguma dica para montar o código  para redimensionar a imagem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem. Eu nunca usei Script de redimensionar, pois eu mesmo envio imagens então eu faço isso no Photoshop.

Talvez para dar certo precisaria usar algo mais avançado, algo que se assemelhe aos Scripts de redes sociais cujo consigamos pegar uma imagem não padronizada e delimitar o que queremos que sejam exposto na tela no ato do envio.

Pois se você pegar imagens de alturas distintas e tentar deixar todas do mesmo tamanho, não dá muito certo, precisaria ter um quadro de pixel fixo e adequar a imagem dentro deste quadro, não sei se existe algum recurso que faça isso. O jeito que você fez de deixar a exibição de largura e altura  fixa de 500 x 500 funciona mas deforma a imagem caso ela não seja um quadrado perfeito. 

Se você tiver exibindo imagens não lado a lado, quando você for exibir ela na página, você define apenas a largura, assim a altura entra automática e a imagem fica perfeita, só não funciona se você for exibir lado a lado, mas e for uma por linha dá certo.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 17/11/2017 at 11:59, Fábio BN disse:

Bem. Eu nunca usei Script de redimensionar, pois eu mesmo envio imagens então eu faço isso no Photoshop.

Talvez para dar certo precisaria usar algo mais avançado, algo que se assemelhe aos Scripts de redes sociais cujo consigamos pegar uma imagem não padronizada e delimitar o que queremos que sejam exposto na tela no ato do envio.

Pois se você pegar imagens de alturas distintas e tentar deixar todas do mesmo tamanho, não dá muito certo, precisaria ter um quadro de pixel fixo e adequar a imagem dentro deste quadro, não sei se existe algum recurso que faça isso. O jeito que você fez de deixar a exibição de largura e altura  fixa de 500 x 500 funciona mas deforma a imagem caso ela não seja um quadrado perfeito. 

Se você tiver exibindo imagens não lado a lado, quando você for exibir ela na página, você define apenas a largura, assim a altura entra automática e a imagem fica perfeita, só não funciona se você for exibir lado a lado, mas e for uma por linha dá certo.

Abraços!

Valeu a atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
×

Informação importante

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