Source of: conv_filter.php


<?php
extract
($_GETEXTR_SKIP|EXTR_PREFIX_ALL|EXTR_REFS'');

function 
relief($im)
{
    
$filter=imlib_create_filter();
    
    
$c=IMLIB_CHANNEL_RED|IMLIB_CHANNEL_GREEN|IMLIB_CHANNEL_BLUE;
      
imlib_filter_set_red   ($filter, -1, -10, -1, -1, -1);
      
imlib_filter_set_red   ($filter,  0,  00,  1,  1,  1);
      
imlib_filter_set_green ($filter, -1, -10, -1, -1, -1);
      
imlib_filter_set_green ($filter,  0,  00,  1,  1,  1);
      
imlib_filter_set_blue  ($filter, -1, -10, -1, -1, -1);
      
imlib_filter_set_blue  ($filter,  0,  00,  1,  1,  1);
      
imlib_filter_constants ($filter0768768768);
      
imlib_filter_divisors  ($filter0,   6,   6,   6);

    
imlib_image_filter($im,$filter);

    
imlib_free_filter($filter);
}

function 
edge_detect($im)
{
    
$filter=imlib_create_filter();

      
imlib_filter_set_red  ($filter, -1, -10, -1, -1, -1);
      
imlib_filter_set_red  ($filter, -1,  00, -3, -3, -3);
      
imlib_filter_set_red  ($filter, -1,  10, -1, -1, -1);
      
imlib_filter_set_red  ($filter,  0, -10, -3, -3, -3);
      
imlib_filter_set_red  ($filter,  0,  00161616);
      
imlib_filter_set_red  ($filter,  0,  10, -3, -3, -3);
      
imlib_filter_set_red  ($filter,  1, -10, -1, -1, -1);
      
imlib_filter_set_red  ($filter,  1,  00, -3, -3, -3);
      
imlib_filter_set_red  ($filter,  1,  10, -1, -1, -1);

      
imlib_filter_set_green($filter, -1, -10, -1, -1, -1);
      
imlib_filter_set_green($filter, -1,  00, -3, -3, -3);
      
imlib_filter_set_green($filter, -1,  10, -1, -1, -1);
      
imlib_filter_set_green($filter,  0, -10, -3, -3, -3);
      
imlib_filter_set_green($filter,  0,  00161616);
      
imlib_filter_set_green($filter,  0,  10, -3, -3, -3);
      
imlib_filter_set_green($filter,  1, -10, -1, -1, -1);
      
imlib_filter_set_green($filter,  1,  00, -3, -3, -3);
      
imlib_filter_set_green($filter,  1,  10, -1, -1, -1);

      
imlib_filter_set_blue ($filter, -1, -10, -1, -1, -1);
      
imlib_filter_set_blue ($filter, -1,  00, -3, -3, -3);
      
imlib_filter_set_blue ($filter, -1,  10, -1, -1, -1);
      
imlib_filter_set_blue ($filter,  0, -10, -3, -3, -3);
      
imlib_filter_set_blue ($filter,  0,  00161616);
      
imlib_filter_set_blue ($filter,  0,  10, -3, -3, -3);
      
imlib_filter_set_blue ($filter,  1, -10, -1, -1, -1);
      
imlib_filter_set_blue ($filter,  1,  00, -3, -3, -3);
      
imlib_filter_set_blue ($filter,  1,  10, -1, -1, -1);

      
imlib_filter_divisors ($filter0,   3,   3,   3);

    
imlib_image_filter($im,$filter);

    
imlib_free_filter($filter);
}

function 
emboss($im)
{
    
$filter=imlib_create_filter();

      
imlib_filter_set($filter, -1, -1,  0,  1,  1,  1);
      
imlib_filter_set($filter,  0, -1,  0,  1,  1,  1);

      
imlib_filter_set($filter, -1,  0,  0,  1,  1,  1);
      
imlib_filter_set($filter,  0,  0,  0,  1,  1,  1);
      
imlib_filter_set($filter,  1,  0,  0, -1, -1, -1);

      
imlib_filter_set($filter,  0,  1,  0, -1, -1, -1);
      
imlib_filter_set($filter,  1,  1,  0, -1, -1, -1);
    
    
imlib_image_filter($im,$filter);

    
imlib_free_filter($filter);
}

$im imlib_load_image('test.jpg');

if (
$_type==1emboss($im);
if (
$_type==2relief($im);
if (
$_type==3edge_detect($im);

Header('Content-type: image/jpeg');

imlib_dump_image($im);
imlib_free_image($im);

?>