<?php 
 
require_once '../../tulipIP/tulipIP.class.php'; 
 
/** 
 * Optional : 
 * extend the the time limit so avoid time out 
 */ 
set_time_limit(0); 
 
 
/** 
 * apply filter for part of the given gd resource 
 *  
 * Note: 
 * ===== 
 * tulipIP has 2 extended methods of every filter make it able to 
 * to do it's work in part of the given gd resource 
 * example: 
 * tulip has filter named (gray) to add grayscale effect for the given gd resource 
 * also has : 
 * method named (gray_part) to apply gray filter for the selected area 
 * of the given gd resource only . 
 * also has : 
 * method named (gray_invert) to apply gray filter for the given gd resource 
 * except the selected area 
 * 
 * and so on 
 * 
 *      Filter            Extended Part         Extended Invert 
 *      ========          ===============       ======================= 
 *      gray()            gray_part()           gray_invert() 
 *      negate()          negate_part()         negate_invert() 
 *      brightness()      brightness_part()     brightness_invert() 
 *      contrast()        contrast_part()       contrast_invert() 
 *      colorize()        colorize_part()       colorize_invert() 
 *      Gblur()           Gblur_part()          Gblur_invert() 
 *      gamma()           gamma_part()          gamma_invert() 
 *      edge()            edge_part()           edge_invert() 
 *      emboss()          emboss_part()         emboss_invert() 
 *      light()           light_part()          light_invert() 
 *      flip()            flip_part()           flip_invert() 
 * 
 *  All (Extended Part) And (Extended Invert) Methods 
 *  share the params : 
 *  1- virtual_image -> gd resource 
 *  2- $x -> x coordinate to start point 
 *  3- $y -> y coordinate to start point 
 *  4- $width -> end x coordinate 
 *  5- $height -> end y coordinate 
 *  
 */ 
/** 
 * Load The Image From Source File 
 */ 
$path = "../../src.jpg"; 
$image = tulipIP::loadImage($path); 
 
/** 
 * Appley gray filter for the second half of the gd resource ($image) only 
 */ 
$dest = "./"; 
 
$x = floor(tulipIP::getWidth($image) / 2); 
$y = 0; 
$width = tulipIP::getWidth($image); 
$height = tulipIP::getHeight($image); 
 
$copy = tulipIP::gdClone($image); 
tulipIP::gray_part($copy, $x, $y, $width, $height); 
tulipIP::saveImage($dest, $copy, TIP_PNG, 'gray_part'); 
imagedestroy($copy); 
 
/** 
 * apply gray filter for the given gd resource except the selected area 
 * where selected area is Square (100*100) in the top left corner of the image 
 */ 
$copy = tulipIP::gdClone($image); 
tulipIP::gray_invert($copy, 0, 0, 100, 100); 
tulipIP::saveImage($dest, $copy, TIP_PNG, 'gray_invertr'); 
imagedestroy($copy); 
 
// destroy the source 
imagedestroy($image); 
?> 
 
 |