Add Chinese and image watermark codes for php images. $ Ico_pic is the watermark image you want to add a watermark to the image. other parameters are described in detail, if you look for this type of code, you can download and save it as a php file. then, the caller $ ico_pic mentioned later is the watermark image you want to add a watermark to the image. other parameters are described in detail, if you look for such code, you can download and save it as a php file, and then use the call method described later to call the watermark image generation code in this document.
$ Ico_pic is the watermark image you want to add a watermark to the image. other parameters are described in detail, if you look for this type of code, you can download and save it as a php Tutorial file and use the call method described later to call the watermark image generation code in this document.
*/
Class smallpic {
Private $ src_pic; // source image
Private $ ico_pic = "003.png"; // watermark image
Private $ ico_text = "watermark"; // watermark text
Private $ small_width; // The width of the thumbnail.
Private $ small_height; // The height of the thumbnail.
Private $ is_ico_pic = true; // whether to add an image watermark
Private $ is_text = true; // whether to add a text watermark
Private $ src_x = 20; // the x coordinate of the watermark in the source image
Private $ src_y = 20; // y coordinate of the watermark in the source image
Private $ ut = "UTF-8"; // text encoding
Private $ font_color = "#990000"; // text watermark color
Private $ samll_pic_name = "smallpic"; // The name of the thumbnail.
Private $ big_pic_name = "bigpic"; // name of the big chart
Function _ construct ($ src_pic, $ small_width, $ small_height ){
$ This-> checkfile ($ src_pic );
$ This-> checkfile ($ this-> ico_pic );
$ This-> src_pic = $ src_pic;
$ This-> small_width = $ small_width;
$ This-> small_height = $ small_height;
}
Private function _ get ($ property_name ){
Return $ this-> $ property_name;
}
Private function _ set ($ property_name, $ value ){
Return $ this-> $ property_name = $ value;
}
/**
* Obtain basic information about the image. the type is array.
*/
Function getimageinfo ($ image ){
Return @ getimagesize ($ image );
}
/**
* Load the image to php.
* $ Images
*/
Function getimage ($ image ){
$ Image_info = $ this-> getimageinfo ($ image );
Switch ($ image_info [2]) {
Case 1:
$ Img = @ imagecreatefromgif ($ image );
Break;
Case 2:
$ Img = @ imagecreatefromjpeg ($ image );
Break;
Case 3:
$ Img = @ imagecreatefrompng ($ image );
Break;
}
Return $ img;
}
Function createimageforsuffix ($ big_pic, $ new_pic ){
$ Image_info = $ this-> getimageinfo ($ this-> src_pic );
Switch ($ image_info [2]) {
Case 1:
// Output a large image
@ Imagegif ($ big_pic, $ this-> big_pic_name. ". gif ");
// Output the thumbnail
@ Imagegif ($ new_pic, $ this-> samll_pic_name. ". gif ");
Break;
Case 2:
// Output a large image
@ Imagejpeg ($ big_pic, $ this-> big_pic_name. ". jpg ");
// Output the thumbnail
@ Imagejpeg ($ new_pic, $ this-> samll_pic_name. ". jpg ");
Break;
Case 3:
// Output a large image
@ Imagepng ($ big_pic, $ this-> big_pic_name. ". png ");
// Output the thumbnail
@ Imagepng ($ new_pic, $ this-> samll_pic_name. ". png ");
Break;
}
}
Function checkfile ($ file ){
If (! File_exists ($ file )){
Die ("image:". $ file. "does not exist! ");
}
}
Function createsmallimage (){
$ Big_pic = $ this-> getimage ($ this-> src_pic );
$ Big_pic_info = $ this-> getimageinfo ($ this-> src_pic );
$ New_pic = $ this-> getimage ($ this-> ico_pic );
$ New_pic_info = $ this-> getimageinfo ($ this-> ico_pic );
$ Rgb = $ this-> convcolor ();
// Determine whether to scale in width or in high proportion
If ($ big_pic_info [0]> $ big_pic_info [1]) {
$ Ratio = $ this-> small_width/(int) $ big_pic_info [0];
$ Small_pic_width = $ this-> small_width;
$ Small_pic_height = (int) ($ big_pic_info [1] * $ ratio );
} Else {
$ Ratio = $ this-> small_height/(int) $ big_pic_info [1];
$ Small_pic_height = $ this-> small_height;
$ Small_pic_width = (int) ($ big_pic_info [0] * $ ratio );
}
// Echo $ small_pic_width = (int) ($ big_pic_info [0] * $ ratio );
// Echo $ small_pic_height = (int) ($ big_pic_info [1] * $ ratio );
// Whether to watermark the image
If ($ this-> is_ico_pic ){
// Watermark the image
@ Imagecopy ($ big_pic, $ new_pic, $ this-> src_x, $ this-> src_y, 0,0, $ new_pic_info [0], $ new_pic_info [1]);
}
// Whether to add a text watermark
If ($ this-> is_text ){
// Set the text color
$ Text_color = @ imagecolorallocate ($ big_pic, $ rgb [0], $ rgb [1], $ rgb [2]);
// Convert the text encoding
$ Text = @ iconv ($ this-> ut, "UTF-8", $ this-> ico_text );
// Add a text watermark
@ Imagettftext ($ big_pic, 12, 0, $ this-> src_x, $ this-> src_y, $ text_color, "simkai_0.ttf", $ text );
}
// Create a canvas for a new image
$ New_pic = @ imagecreatetruecolor ($ small_pic_width, $ small_pic_height );
// Generate a thumbnail
@ Imagecopyresized ($ new_pic, $ big_pic, 0, 0, 0, $ small_pic_width, $ small_pic_height, $ big_pic_info [0], $ big_pic_info [1]);
// Output diagram
$ This-> createimageforsuffix ($ big_pic, $ new_pic );
}
/**
* Functions inside the class convert #000000 to 255,255,255
*/
Private function convcolor (){
$ Rgb = array ();
$ Color = preg_replace ("/#/", "", $ this-> font_color );
$ C = hexdec ($ color );
$ R = ($ c> 16) & 0xff;
$ G = ($ c> 8) & 0xff;
$ B = $ c & 0xff;
$ Rgb [0] = $ r;
$ Rgb [1] = $ g;
$ Rgb [2] = $ B;
Return $ rgb;
}
}
// Call method
$ Pic = new smallpic ("002.jpg", 600,300 );
$ Pic-> is_text = true;
$ Pic-> is_ico_pic = true;
$ Pic-> ico_pic = "./images/004.png ";
$ Pic-> ico_text = "happy new year! ";
// $ Pic-> src_x = 80;
$ Pic-> src_y = 80;
$ Pic-> ut = "UTF-8 ";
$ Pic-> font_color = "#0521f8 ";
$ Pic-> samll_pic_name = "hslsamll ";
$ Pic-> big_pic_name = "hslbig ";
$ Pic-> createsmallimage ();
?>
Watermark is the watermark image you want to add a watermark to the image. other parameters are described in detail, if you look for this kind of code, you can download and save it as a php file and use the called party mentioned later...