Php image application-generate an image with a watermark text-generate an image with a watermark icon-generate a thumbnail (// For the annotation content, without affecting File Execution ),
<? Php
//// // Start of the watermark text function //////////////////
Function watertext ($ I, $ t = 'copyright holder ', $ s = 20, $ c = 'white', $ p = 9 ){
$ Img = imagecreatefromjpeg ($ I); // imagecreatefromjpeg-creates a new image from a file or URL.
$ Cc = '';
/////// Switch cycle, cycle watermark text color start //////
Switch ($ c ){
Case 'white ':
$ Cc = imagecolorallocatealpha ($ img, 255,255,255, 50 );
Break;
Case 'red ':
$ Cc = imagecolorallocatealpha ($ img, 0 );
Break;
Case 'green ':
$ Cc = imagecolorallocatealpha ($ img, 0,255 );
Break;
Case 'blue ':
$ Cc = imagecolorallocatealpha ($ img );
Break;
Default:
$ Cc = imagecolorallocatealpha ($ img, mt_rand (0,255), mt_rand (0,255), mt_rand (0,255), mt_rand (0,100 ));
Break;
}
/////// Switch loop, the color of the circular watermark text ends //////
// Imagecolorallocatealpha-assign color + alpha to an image
$ C = imagecolorallocatealpha ($ img, 255,255,255, 80 );
// Define the font of the watermark text
$ Font = dirname (_ FILE _). '/h. ttf'; // dirname-directory part of the returned path
// Imagettfbbox-get the text range using the TrueType font
$ R = imagettfbbox ($ s, 0, $ font, iconv ('gbk', 'utf-8', $ t ));
$ Ttfw = $ r [2]-$ r [0] + 10;
$ Ttfh = $ r [1] + 10;
$ X = imagesx ($ img)-$ ttfw; // imagesx-Get Image Width
$ Y = imagesy ($ img)-$ ttfh; // imagesy-Get Image Height
// Imagettftext-use the TrueType font to write text to the image
Imagettftext ($ img, $ s, 0, $ x, $ y, $ cc, $ font, iconv ('gbk', 'utf-8', $ t ));
Imagejpeg ($ img, $ I); // imagejpeg-outputs an image to a browser or file.
Imagedestroy ($ img); // imagedestroy-destroy an image
}
//// // Define the end Of the watermark text function //////////////////
//// // Define the watermark icon function start //////////////////
Function watericon ($ I ){
$ Img = imagecreatefromjpeg ($ I); // imagecreatefromjpeg-creates a new image from a file or URL.
// Find the watermark icon file created in a folder
$ L = dirname (_ FILE _). '/logo.png'; // dirname-directory part of the returned path
$ Logo = imagecreatefrompng ($ l); // imagecreatefrompng-create a new image from a file or URL.
$ Xx = imagesx ($ logo); // imagesx-get the watermark image width
$ Yy = imagesy ($ logo); // imagesy-watermark image height
$ X = imagesx ($ img)-$ xx-15; // define the x coordinate of the watermark icon in the image
$ Y = imagesy ($ img)-$ yy-15; // defines the y coordinate of the watermark icon in the image
Imagecopy ($ img, $ logo, $ x, $ y, $ xx, $ yy); // imagecopy-copy part of the image
Imagejpeg ($ img, $ I); // imagejpeg-outputs an image to a browser or file.
Imagedestroy ($ img); // imagedestroy-destroy an image
Imagedestroy ($ logo); // imagedestroy-destroy an image
}
// A.jpg s_a.jpg
/// // Define the watermark icon function end //////////////////
/////// Define the thumbnail function to start //////////
Function thumd ($ I, $ w = 170, $ h = 0) {// The default width is 170, with a high ratio.
$ Ww = $ w;
$ Hh = $ h;
$ Img = imagecreatefromjpeg ($ I); // imagecreatefromjpeg-creates a new image from a file or URL.
$ Iw = imagesx ($ img); // imagesx-obtain the watermark image width
$ Ih = imagesy ($ img); // imagesy-watermark image height
// If the height is 0, the system automatically calculates the value based on the ratio of the height.
If ($ h = 0 ){
$ Hh = $ w/$ iw * $ ih;
}
$ New = imagecreatetruecolor ($ ww, $ hh); // imagecreatetruecolor-create a true color image
// Imagecopyresampled-copy part of the image and resize it
Imagecopyresampled ($ new, $ img, 0, 0, 0, $ ww, $ hh, $ iw, $ ih );
// Pathinfo-returned file path information
$ Path = pathinfo ($ I, PATHINFO_DIRNAME). '/s _'. pathinfo ($ I, PATHINFO_BASENAME );
Imagejpeg ($ new, $ path); // imagejpeg-outputs an image to a browser or file.
Imagedestroy ($ new); // imagedestroy-destroy an image
Imagedestroy ($ img); // imagedestroy-destroy an image
}
/////// Define the thumbnail function end //////////