<?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); ?>
|