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 3

Recommended Posts

Aplicação de filtros a imagem

 

<?php
/**
*  Converte a imagem em escala cinza
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function grayscale( $image )
{
   imagefilter( $image, IMG_FILTER_GRAYSCALE );
   return $image;
}
/**
*  Reverte todas as cores da imagem
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function negative( $image )
{
   imagefilter( $image, IMG_FILTER_NEGATE );
   return $image;
}
/**
*  Altera o brilho da imagem
*  @param resource $image O identificador da imagem
*  @param int $level O nível de brilho
*  @return resource O identificador da imagem modificada
*/
function brightness( $image, $level )
{
   imagefilter( $image, IMG_FILTER_BRIGHTNESS, ( int ) $level );
   return $image;
}
/**
*  Altera o contraste da imagem
*  @param resource $image O identificador da imagem
*  @param int $level O nível de contraste
*  @return resource O identificador da imagem modificada
*/
function contrast( $image, $level )
{
   imagefilter( $image, IMG_FILTER_CONTRAST, ( int ) $level );
   return $image;
}
/**
*  Converte a imagem em escala definida
*  @param resource $image O identificador da imagem
*  @param int $r A quantidade de cor vermelha (de 0 a 255)
*  @param int $g A quantidade de cor verde (de 0 a 255)
*  @param int $b A quantidade de cor azul (de 0 a 255)
*  @param int $alpha Canal alfa, um valor entre 0 e 127.
*  0(zero) indica completamente opaco enquanto 127 indica completamente transparente.
*  @return resource O identificador da imagem modificada
*/
function colorize( $image, $r, $g, $b, $alpha = 0 )
{
   imagefilter( $image, IMG_FILTER_COLORIZE, ( int ) $r, ( int ) $g, ( int ) $b, ( int ) $alpha );
   return $image;
}
/**
*  Auto-detecta e realça as bordas na imagem
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function edge( $image )
{
   imagefilter( $image, IMG_FILTER_EDGEDETECT );
   return $image;
}
/**
*  Realça a imagem
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function emboss( $image )
{
   imagefilter( $image, IMG_FILTER_EMBOSS );
   return $image;
}
/**
*  Desfoca a imagem usando o método de Gauss
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function gaussianBlur( $image )
{
   imagefilter( $image, IMG_FILTER_GAUSSIAN_BLUR );
   return $image;
}
/**
*  Desfoca a imagem
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function selectiveBlur( $image )
{
   imagefilter( $image, IMG_FILTER_SELECTIVE_BLUR );
   return $image;
}
/**
*  Efeito esboço 
*  @param resource $image O identificador da imagem
*  @return resource O identificador da imagem modificada
*/
function meanRemoval( $image )
{
   imagefilter( $image, IMG_FILTER_MEAN_REMOVAL );
   return $image;
}
/**
*  Suavizar a imagem
*  @param resource $image O identificador da imagem
*  @param int $level O nível de suavidade
*  @return resource O identificador da imagem modificada
*/
function smooth( $image, $level )
{
   imagefilter( $image, IMG_FILTER_SMOOTH, ( int ) $level );
   return $image;
}
/**
*  Aplica o efeito de pixelização na imagem
*  @param resource $image O identificador da imagem
*  @param int $block_size O tamanho do quadriculado
*  @param boolean $effect Define o modo de pixelização
*  @return resource O identificador da imagem modificada
*/
function pixelate( $image, $block_size, $effect = false )
{
   imagefilter( $image, IMG_FILTER_PIXELATE, ( int ) $block_size, ( boolean ) $effect );
   return $image;
}
?>

 

Teste:

<?php

$image = pixelate( imagecreatefromjpeg( 'Chibi_Kakashi.jpg' ), 10 );

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 = pixelate( imagecreatefromjpeg( 'Chibi_Kakashi.jpg' ), 10 );
imagejpeg( $image, 'caminho/nome_da_imagem.jpg', 100 );

?>

 

Na parte 4 vamos colocar legenda na 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.