<? Php <br/>/** <br/> * watermarks images (applies to PNG, JPG, and GIF formats) <br/> * @ author flynetcn <br/> * @ Param $ srcimg original image <br/> * @ Param $ waterimg watermark image <br/> * @ Param $ savepath save path <br/> * @ Param $ savename save name <br/> * @ Param $ positon watermark position <br/> * 1: top left, 2: top right, 3: Center, 4: bottom left, 5: bottom right <br/> * @ Param $ Alpha transparency -- 0: completely transparent, 100: completely opaque <br/> * @ return success -- the new image address after the watermark is added <br/> * failed ---1: the original file does not exist, -2: The watermark image does not exist, -3: failed to create the image object of the original file <br/> *-4: failed to create the image object of the watermark file-5: failed to save the new image after adding the watermark <br/> */<br/> function img_water_mark ($ srcimg, $ waterimg, $ savepath = NULL, $ savename = NULL, $ positon = 5, $ alpha = 30) <br/>{< br/> $ temp = pathinfo ($ srcimg ); <br/> $ name = $ temp ['basename']; <br/> $ Path = $ temp ['dirname']; <br/> $ exte = $ temp ['extension']; <br/> $ savename = $ savename? $ Savename: $ name; <br/> $ savepath = $ savepath? $ Savepath: $ path; <br/> $ SaveFile = $ savepath. '/'. $ savename; <br/> $ srcinfo = @ getimagesize ($ srcimg); <br/> If (! $ Srcinfo) {<br/> return-1; // the original file does not exist <br/>}< br/> $ waterinfo = @ getimagesize ($ waterimg ); <br/> If (! $ Waterinfo) {<br/> return-2; // The watermark image does not exist <br/>}< br/> $ srcimgobj = image_create_from_ext ($ srcimg ); <br/> If (! $ Srcimgobj) {<br/> return-3; // original file image object creation failed <br/>}< br/> $ waterimgobj = image_create_from_ext ($ waterimg ); <br/> If (! $ Waterimgobj) {<br/> return-4; // watermark file image object creation failed <br/>}< br/> switch ($ positon) {<br/> // 1 top left <br/> case 1: $ x = $ y = 0; break; <br/> // 2 Top-right corner <br/> case 2: $ x = $ srcinfo [0]-$ waterinfo [0]; $ y = 0; break; <br/> // 3 center <br/> case 3: $ x = ($ srcinfo [0]-$ waterinfo [0])/2; $ Y = ($ srcinfo [1]-$ waterinfo [1])/2; break; <br/> // 4 bottom left <br/> case 4: $ x = 0; $ Y = $ srcinfo [1]-$ waterinfo [1]; break; <br/> // 5 bottom right <br/> case 5: $ x = $ srcinfo [0]-$ waterinfo [0]; $ Y = $ srcinfo [1]-$ waterinfo [1]; break; <br/> default: $ x = $ y = 0; <br/>}< br/> imagecopymerge ($ srcimgobj, $ waterimgobj, $ X, $ y, 0, 0, $ waterinfo [0], $ waterinfo [1], $ alpha); <br/> switch ($ srcinfo [2]) {<br/> case 1: imagegif ($ srcimgobj, $ SaveFile); break; <br/> case 2: imagejpeg ($ srcimgobj, $ SaveFile); break; <br/> case 3: imagepng ($ srcimgobj, $ SaveFile); break; <br/> default: Return-5; // failed to save <br/>}< br/> imagedestroy ($ srcimgobj ); <br/> imagedestroy ($ waterimgobj); <br/> return $ SaveFile; <br/>}< br/> function image_create_from_ext ($ imgfile) <br/>{< br/> $ info = getimagesize ($ imgfile); <br/> $ im = NULL; <br/> switch ($ info [2]) {<br/> case 1: $ im = imagecreatefromgif ($ imgfile); break; <br/> case 2: $ im = imagecreatefromjpeg ($ imgfile); break; <br/> case 3: $ im = imagecreatefrompng ($ imgfile); break; <br/>}< br/> return $ im; <br/>}
Unknown Fragment Art
Fractal art network
Eternal love of science