> 16 ) & 0xFF; $blurG = ( $blurP >> 8 ) & 0xFF; $blurB = $blurP & 0xFF; $blurF = 1.0; for ( $f = 1; $f < $intSize; $f++ ) { if ( ( $x + $f ) < $intWidth ) { $blurP = imageColorAt( $srcImage, $x + $f, $y ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } if ( ( $x - $f ) >= 0 ) { $blurP = imageColorAt( $srcImage, $x - $f, $y ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } } $red = $blurR / $blurF; $green = $blurG / $blurF; $blue = $blurB / $blurF; imageSetPixel( $tmpImage, $x, $y, ( $red << 16 ) | ( $green << 8 ) | $blue ); } } for ( $y = 0; $y < $intHeight; $y++ ) { for ( $x = 0; $x < $intWidth; $x++ ) { $blurP = imageColorAt( $tmpImage, $x, $y ); $blurR = ( $blurP >> 16 ) & 0xFF; $blurG = ( $blurP >> 8 ) & 0xFF; $blurB = $blurP & 0xFF; $blurF = 1.0; for ( $f = 1; $f < $intSize; $f++ ) { if ( ( $y + $f ) < $intHeight ) { $blurP = imageColorAt( $tmpImage, $x, $y + $f ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } if ( ( $y - $f ) >= 0 ) { $blurP = imageColorAt( $tmpImage, $x, $y - $f ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } } $red = $blurR / $blurF; $green = $blurG / $blurF; $blue = $blurB / $blurF; imageSetPixel( $srcImage, $x, $y, ( $red << 16 ) | ( $green << 8 ) | $blue ); } } imageDestroy( $tmpImage ); } // // Sharpen // function imageFilterSharpen( &$srcImage, $intSize = 2 ) { $intWidth = imageSX( $srcImage ); $intHeight = imageSY( $srcImage ); for ( $i = 0; $i < 768; $i++ ) { if ( $i < 255 ) { $arrLUT[ $i ] = 0; } else if ( $i < 512 ) { $arrLUT[ $i ] = $i - 256; } else { $arrLUT[ $i ] = 255; } } $tmpImage = imageCreateTruecolor( $intWidth, $intHeight ); for ( $y = 0; $y < $intHeight; $y++ ) { for ( $x = 0; $x < $intWidth; $x++ ) { $blurP = imageColorAt( $srcImage, $x, $y ); $blurR = ( $blurP >> 16 ) & 0xFF; $blurG = ( $blurP >> 8 ) & 0xFF; $blurB = $blurP & 0xFF; $blurF = 1.0; for ( $f = 1; $f < $intSize; $f++ ) { if ( ( $x + $f ) < $intWidth ) { $blurP = imageColorAt( $srcImage, $x + $f, $y ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } if ( ( $x - $f ) >= 0 ) { $blurP = imageColorAt( $srcImage, $x - $f, $y ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } } $red = $blurR / $blurF; $green = $blurG / $blurF; $blue = $blurB / $blurF; imageSetPixel( $tmpImage, $x, $y, ( $red << 16 ) | ( $green << 8 ) | $blue ); } } for ( $y = 0; $y < $intHeight; $y++ ) { for ( $x = 0; $x < $intWidth; $x++ ) { $blurP = imageColorAt( $tmpImage, $x, $y ); $blurR = ( $blurP >> 16 ) & 0xFF; $blurG = ( $blurP >> 8 ) & 0xFF; $blurB = $blurP & 0xFF; $blurF = 1.0; for ( $f = 1; $f < $intSize; $f++ ) { if ( ( $y + $f ) < $intHeight ) { $blurP = imageColorAt( $tmpImage, $x, $y + $f ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } if ( ( $y - $f ) >= 0 ) { $blurP = imageColorAt( $tmpImage, $x, $y - $f ); $blurR += ( ( $blurP >> 16 ) & 0xFF ); $blurG += ( ( $blurP >> 8 ) & 0xFF ); $blurB += ( $blurP & 0xFF ); $blurF += 1.0; } } $origP = imageColorAt( $srcImage, $x, $y ); $origR = ( $origP >> 16 ) & 0xFF; $origG = ( $origP >> 8 ) & 0xFF; $origB = $origP & 0xFF; $red = $origR + ( $origR - $blurR / $blurF ); $green = $origG + ( $origG - $blurG / $blurF ); $blue = $origB + ( $origB - $blurB / $blurF ); imageSetPixel( $srcImage, $x, $y, ( $arrLUT[ 256 + $red ] << 16 ) | ( $arrLUT[ 256 + $green ] << 8 ) | $arrLUT[ 256 + $blue ] ); } } imageDestroy( $tmpImage ); } ?>