PHP Image Watermarking implementation method,
This document describes how to add watermarks to PHP images. We will share this with you for your reference. The details are as follows:
<? Phpecho img_water_mark ("2008112023204423477802.gif"," copyImg.png ", $ savepath = null, $ savename =" 123.gif", $ positon = 2, $ alpha = 60 ); /*** watermarks images (for png, jpg, and gif formats) ** @ author flynetcn ** @ param $ srcImg original image * @ param $ waterImg watermark image * @ param $ savepath save path * @ param $ savename save name * @ param $ positon watermark location * 1: top left, 2: top right, 3: Center, 4: bottom left, 5: bottom right * @ param $ alpha transparency -- 0: completely transparent, 100: completely opaque ** @ return success-New after Watermarking Image address * failed ---1: the original file does not exist,-2: The watermark image does not exist,-3: The original file image object creation failed-4: The watermark file image object creation failed, -5: failed to save the new image after adding the watermark */function img_water_mark ($ srcImg, $ waterImg, $ savepath = null, $ savename = null, $ positon = 5, $ alpha = 30) {$ temp = pathinfo ($ srcImg); $ name = $ temp ['basename']; $ path = $ temp ['dirname']; $ exte = $ temp ['extension']; $ savename = $ savename? $ Savename: $ name; $ savepath = $ savepath? $ Savepath: $ path; $ savefile = $ savepath. '/'. $ savename; $ srcinfo = @ getimagesize ($ srcImg); if (! $ Srcinfo) {return-1; // the original file does not exist} $ waterinfo = @ getimagesize ($ waterImg); if (! $ Waterinfo) {return-2; // The watermark image does not exist} $ srcImgObj = image_create_from_ext ($ srcImg); if (! $ SrcImgObj) {return-3; // failed to create the original file image object} $ waterImgObj = image_create_from_ext ($ waterImg); if (! $ WaterImgObj) {return-4; // failed to create the watermark file image object} switch ($ positon) {// 1 top left case 1: $ x = $ y = 0; break; // 2 Top-Right case 2: $ x = $ srcinfo [0]-$ waterinfo [0]; $ y = 0; break; // 3 center case 3: $ x = ($ srcinfo [0]-$ waterinfo [0])/2; $ y = ($ srcinfo [1]-$ waterinfo [1])/2; break; // 4 bottom center left case 4: $ x = 0; $ y = $ srcinfo [1]-$ waterinfo [1]; break; // 5 bottom center right case 5: $ x = $ srcinfo [0]-$ waterinfo [0]; $ y = $ srcinfo [1]-$ waterinfo [1]; break; Default: $ x = $ y = 0;} imagecopymerge ($ srcImgObj, $ waterImgObj, $ x, $ y, 0, 0, $ waterinfo [0], $ waterinfo [1], $ alpha); switch ($ srcinfo [2]) {case 1: imagegif ($ srcImgObj, $ savefile); break; case 2: imagejpeg ($ srcImgObj, $ savefile); break; case 3: imagepng ($ srcImgObj, $ savefile); break; default: return-5; // save Failed} imagedestroy ($ srcImgObj); imagedestroy ($ waterImgObj); return $ savefile;} function image_c Reate_from_ext ($ imgfile) {$ info = getimagesize ($ imgfile); $ im = null; switch ($ info [2]) {case 1: $ im = imagecreatefromgif ($ imgfile); break; case 2: $ im = imagecreatefromjpeg ($ imgfile); break; case 3: $ im = imagecreatefrompng ($ imgfile); break ;} return $ im ;}?>