PHP adds watermark & amp; proportional thumbnails & amp; fixed height & amp; fixed width jump
// File name: image_process.class.phptypeList = array (1 => 'GIF', 2 => 'jpg ', 3 => 'PNG'); $ ginfo = getimagesize ($ source ); $ this-> source_width = $ ginfo [0]; $ this-> source_height = $ ginfo [1]; $ this-> source_type_id = $ ginfo [2]; $ this-> orign_url = $ source; $ this-> orign_name = basename ($ source); $ this-> orign_dirname = dirname ($ source);} // judge and process, returns the PHP identifiable code public function judgeType ($ type, $ source) {if ($ type = 1) {return I MageCreateFromGIF ($ source); // gif} else if ($ type = 2) {return ImageCreateFromJPEG ($ source); // jpg} else if ($ type = 3) {return ImageCreateFromPNG ($ source); // png} else {return false ;}// generate the watermark image public function watermarkImage ($ logo) {$ linfo = getimagesize ($ logo); $ logo_width = $ linfo [0]; $ logo_height = $ linfo [1]; $ logo_type_id = $ linfo [2]; $ sourceHandle = $ this-> judgeType ($ this-> source_type_id, $ this-> or Ign_url); $ logoHandle = $ this-> judgeType ($ logo_type_id, $ logo); if (! $ SourceHandle |! $ LogoHandle) {return false;} $ x = $ this-> source_width-$ logo_width; $ y = $ this-> source_height-$ logo_height; ImageCopy ($ sourceHandle, $ logoHandle, $ x, $ y, 0, 0, $ logo_width, $ logo_width) or die ("fail to combine"); $ newPic = $ this-> orign_dirname. '\ water _'. time (). '. '. $ this-> typeList [$ this-> source_type_id]; if ($ this-> saveImage ($ sourceHandle, $ newPic) {imagedestroy ($ sourceHandle ); imagedestroy ($ logoHandle) ;}/// fix width // height = true fixed top height // width = true fixed top width public function fixSizeImage ($ width, $ height) {if ($ width> $ this-> source_width) $ this-> source_width; if ($ height> $ this-> source_height) $ this-> source_height; if ($ width = false) {$ width = floor ($ this-> source_width/($ this-> source_height/$ height ));} if ($ height = false) {$ height = floor ($ this-> source_height/($ this-> source_width/$ width ));} $ this-> tinyImage ($ width, $ height);} // proportional scaling // $ scale public function scaleImage ($ scale) {$ width = floor ($ this-> source_width * $ scale); $ height = floor ($ this-> source_height * $ scale); $ this-> tinyImage ($ width, $ height);} // Create a thumbnail private function tinyImage ($ width, $ height) {$ tinyImage = imagecreatetruecolor ($ width, $ height ); $ handle = $ this-> judgeType ($ this-> source_type_id, $ this-> orign_url); if (function_exists ('imagecopyresampled ') {imagecopyresampled ($ tinyImage, $ handle, 0, 0, 0, $ width, $ height, $ this-> source_width, $ this-> source_height);} else {imagecopyresized ($ tinyImage, $ handle, 0, 0, 0, $ width, $ height, $ this-> source_width, $ this-> source_height);} $ newPic = time (). '_'. $ width. '_'. $ height. '. '. $ this-> typeList [$ this-> source_type_id]; $ newPic = $ this-> orign_dirname. '\ thumb _'. $ newPic; if ($ this-> saveImage ($ tinyImage, $ newPic) {imagedestroy ($ tinyImage); imagedestroy ($ handle );}} // save the image private function saveImage ($ image, $ url) {if (ImageJpeg ($ image, $ url) {return true ;}}}
2.
[Code][PHP] code
// Use watermarkImage ($ logo); $ s-> scaleImage (0.8); $ s-> fixSizeImage (200, false); sleep (1 );}