SdevLab – Exemplo de Código | Como redimensionar imagem em PHP

Fala galera!

Este post já devia ter saído faz tempo, mas como só lembrei dele agora, vai agora mesmo! Digo que deveria ter saído há um tempo porque eu tive que estudar manipulação de imagens em php, e como vocês podem perceber, saiu uma levada de posts aqui no blog sobre manipulação, menos este que ensina a redimensionar imagem…então lá vai!

boa leitura!

Como redimensionar imagem em PHP

Como a função não é minha (heehehe) e eu não lembro o site de origem, não vou comentar muito ela, mas garanto que já testei e funcionou direitinho!

Segue o código:


<?php
function redimensiona($origem,$destino,$maxlargura=100,$maxaltura=100,$qualidade=80)
{
if(!strstr($origem,"http") && !file_exists($origem)){
echo("Arquivo de origem da imagem inexistente");
return false;
}
$ext = strtolower(end(explode('.', $origem)));
if($ext == "jpg"|| $ext == "jpeg"){
$img_origem = @imagecreatefromjpeg($origem);
}
elseif ($ext == "gif"){
$img_origem = @imagecreatefromgif($origem);
}
elseif ($ext == "png"){
$img_origem = @imagecreatefrompng($origem);
}
if(!$img_origem){
echo("Erro ao carregar a imagem, talvez formato nao suportado");
return false;
}
$alt_origem = imagesy($img_origem);
$lar_origem = imagesx($img_origem);
$escala = min($maxaltura/$alt_origem, $maxlargura/$lar_origem);
if($escala < 1){
$alt_destino = floor($escala*$alt_origem);
$lar_destino = floor($escala*$lar_origem);
// Cria imagem de destino
$img_destino = imagecreatetruecolor($lar_destino,$alt_destino);
// Redimensiona
imagecopyresampled($img_destino, $img_origem, 0, 0, 0, 0, $lar_destino, $alt_destino, $lar_origem, $alt_origem);
imagedestroy($img_origem);
}
else {
$img_destino = $img_origem;
}
$ext = strtolower(end(explode(".", $destino)));
if($ext == "jpg" || $ext == "jpeg"){
imagejpeg($img_destino,$destino,$qualidade);
return true;
}
elseif ($ext == "gif"){
imagepng($img_destino,$destino);
return true;
}
elseif ($ext == "png"){
imagepng($img_destino,$destino);
return true;
}
else {
echo("Formato de destino nao suportado");
return false;
}
}
?>

Para utilizar a função, faça desta maneira:


$origem = "imagem.jpg";
$destino = "imagem1.jpg";
redimensiona($origem,$destino,$maxlargura=100,$maxaltura=100,$qualidade=80)

Até a próxima!
😉

SdevLab – Exemplo de Código | Como copiar e renomear um arquivo em PHP

Fala Galera!

Este post nasceu de uma necessidade de um projeto, que era copiar e renomear automaticamente um arquivo (no caso uma imagem jpg) usando linhas de código, PHP no caso. Embora este post seja para copiar e renomear imagens, a mesma idéia se aplica a qualquer tipo de arquivo com este mesmo código.

 Como copiar e renomear um arquivo em PHP

Uma outra saída que eu tinha pensado era usar ShellScript, mas como eu queria mesmo era saber se com PHP era possível fazer isto, aqui estamos trabalhando neste post!

Na verdade fazer isto é muito simples, o difícil foi perguntar pro google do jeito certo! Segue o código:


<?php
$origem = 'pasta1/pasta2/imgsanoj.jpg';
$destino = 'pasta1/pasta2/imgsanoj1.jpg';
copy($origem, $destino);
?>

Veja que este código está bem simples, ele somente copia a imagem “imgsanoj.jpg” e a renomeia para “imgsanoj1.jpg”.
Agora as considerações:

  • Utilize o path do arquivo correto, caso contrário vai dar erro
  • A pasta de destino vai precisar de acesso de escrita para o APACHE, muito importante!

Até a próxima!
😉

Fonte: www.codigofonte.net

SdevLab – Tutorial | Imagem em HTML

Eae galera!
O tutorial de hoje é a sequência do tutorial anterior, que dava continuidade à uma série de tutorias sobre HTML. Se você já tem uma noção básica não faz diferença a sequência, porém, se você deseja aprender na ordem correta, siga para a página que direciona o aprendizado básico.
Boa leitura!

ATUALIZAÇÃO (06/08/2015): Este post foi escrito com base nos tutoriais do W3C para HTML 4.1. O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para o tutorial de HTML 5, logo não é mais válido. O conteúdo está correto, mas não é sobre a versão mais atual!

Imagem em HTML

Trabalhar com imagens em html é bastante simples, existem poucas tags e podemos interagir pouco com elas.

Para inserir uma imagem em um arquivo, faça como no trecho de código abaixo:


<img src="minha_imagem.jpg">
<img src="www.site.com.br/imagens/imagem.jpg">

As duas maneiras estão corretas, porém na primeira, se sua imagem estiver em um diretório diferente do diretório de sua página, ela não será exibida.

Alinhando imagens

Para alinhar uma imagem, utilize o atributo align com o argumento bottom, middle ou top, e sua imagem ficará alinhada nas respectivas posições em relação ao texto. Segue abaixo trechos de código para exemplificar:

<img src="minha_imagem.jpg" align="bottom">
<img src="minha_imagem.jpg" align="middle">
<img src="minha_imagem.jpg" align="top">

Atributo Alt

O atributo alt é utilizado para colocar uma “legenda” interna na foto. Interna porque ela só será exibida se o usuário passar o mouse sobre a imagem (existem alguns navegadores que não suportam).
Os sites validadores de código, ou seja, que verificam se você escreveu seu site com a semântica correta avaliam uma imagem sem o atributo alt como não correta, isto é, ela não está errada, mas vale uma advertência, pois alguns sistemas de navegação para deficientes se valem da legenda da imagem.
Segue trecho de codigo exemplificando o atributo:

<img src="imagem.jpeg" alt="Minha Imagem é legal">

Ajustando as dimensões da imagem

Para ajustar as dimensões de uma imagem, basta usar os atributos width e height como no exemplo abaixo:

<img src="imagem.jpg" width="50" height-"50">

Tome cuidado com este atributo, pois dependendo das alterações que você fizer, a imagem pode sair distorcida.

Colocando um link na imagem

Para inserir um link em uma imagem, faça como no exemplo abaixo:

<a href="http://www.site.com.br">
     <img src="imagem.jpg" alt="Clique na imagem para seguir para o site." border="0">
</a>

Note que foi inserido outro atribudo dentro da tag <img>, que é o atributo border. Este atributo define (assim como nas tabelas) a expessura da borda da imagem. No exemplo escolhemos uma imagem sem borda, colocando para isso border=”0″.

Este foi o tutorial de imagens, até a próxima!
😉

Os códigos deste post estão disponíveis em:
https://github.com/jonasvm/sdevlab-cursos/tree/master/sdevlab-html41
Contribua!