Ir para conteúdo

POWERED BY:

Arquivado

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

Kakashi_Hatake

Manipulando e redimensionando imagens com PHP - Parte 1

Recommended Posts

Script para virar uma imagem horizontalmente ou verticalmente

 

<?php
/**
*  Verifica se é um resource identificador da imagem
*  @param resource $image O identificador da imagem
*  @return void
*/
function error_image( $image )
{    
   if( ! is_resource( $image ) )
   {
       trigger_error( sprintf( '%s is not an image resource identifier!', $image ), E_USER_ERROR );
   }   
}
/**
*  Inverte uma imagem verticalmente
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada 
*/
function flip_vertical( $image )
{
   error_image( $image );
   $width  = imagesx( $image );
   $height = imagesy( $image );
   $temp   = imagecreatetruecolor( $width, $height );

   for( $y = 0; $y < $height; $y++ )
   {
       imagecopy( $temp, $image, 0, $y, 0, ( $height - $y - 1 ), $width, 1 );
   }

   return $temp;
}
/**
*  Inverte uma imagem horizontalmente
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada 
*/
function flip_horizontal( $image )
{
   error_image( $image );
   $width  = imagesx( $image );
   $height = imagesy( $image );
   $temp   = imagecreatetruecolor( $width, $height );

   for( $x = 0; $x < $width; $x++ )
   {
       imagecopy( $temp, $image, $x, 0, ( $width - $x - 1 ) , 0, 1, $height );
   }

   return $temp;
}
?>

 

Teste:

<?php

$image = flip_horizontal( imagecreatefromjpeg( 'Chibi_Kakashi.jpg' ) );

header( 'Content-type: image/jpg' );
imagejpeg( $image, null, 100 );
imagedestroy( $image );
exit;

?>

 

Outra coisa, essas funções vão te retornar apenas o resource, se você quiser salvar a imagem alterada vai ter que usar:

:seta: imagejpeg

:seta: imagepng

:seta: imagegif

 

Exemplo de uso:

<?php

$image = flip_horizontal( imagecreatefromjpeg( 'Chibi_Kakashi.jpg' ) );
imagejpeg( $image, 'caminho/nome_da_imagem.jpg', 100 );

?>

 

Na parte 2 veremos como redimensionar e rotacionar uma imagem

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.