Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 );
}
} 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;
} 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