Home >Backend Development >PHP Tutorial >Complete collection of php image processing functions_PHP tutorial

Complete collection of php image processing functions_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:16:37915browse

PHP image processing code sharing, including scaling, cropping, zooming, flipping, rotating, transparency, sharpening, etc. Friends in need can refer to it ​

1. Create image resources
imagecreatetruecolor(width,height);
imagecreatefromgif(image name);
imagecreatefrompng(image name);
imagecreatefromjpeg(picture name); draw various images imagegif(picture resource, save path);
imagepng()
imagejpeg();

2. Get image attributes
imagesx(res//width
imagesy(res//height
getimagesize(file path)
Returns an array with four elements. Index 0 contains the pixel values ​​for the width of the image, and index 1 contains the pixel values ​​for the height of the image. Index 2 is the tag of the image type: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. These tags correspond to the new IMAGETYPE constant added in PHP 4.3.0. Index 3 is a text string with the content "height="yyy" width="xxx"" and can be used directly in the IMG tag.
Destroy image resources
imagedestroy(image resource);

3. Transparent processing
The transparent colors of PNG and jpeg are normal, only gif is abnormal
imagecolortransparent(resource image [,int color])//Set a color to a transparent color
imagecolorstotal()
imagecolorforindex();

4. Cropping of pictures
imagecopyresized()
imagecopyresampled();

5. Add watermark (text, picture)
String encoding conversion string iconv ( string $in_charset , string $out_charset , string $str )

6. Image rotation
imagerotate(); // Image flip at specified angle

7. Flip of pictures
Flip along the X-axis along the Y-axis

8. Sharpening
imagecolorsforindex()
imagecolorat()
Draw graphics on images $img=imagecreatefromgif("./images/map.gif");

Copy code The code is as follows:
/**
* Image sharpening
​*/
$red= imagecolorallocate($img, 255, 0, 0);

imageline($img, 0, 0, 100, 100, $red);
imageellipse($img, 200, 100, 100, 100, $red);
imagegif($img, "./images/map2.gif");
imagedestroy($img);
Picture normal zoom
The code is as follows:

$filename="./images/hee.jpg";
$per=0.3;
list($width, $height)=getimagesize($filename);
$n_w=$width*$per;
$n_h=$width*$per;
$new=imagecreatetruecolor($n_w, $n_h);
$img=imagecreatefromjpeg($filename);
//Copy part of the image and adjust it
imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
//Image output new image, save as
imagejpeg($new, "./images/hee2.jpg");
imagedestroy($new);
imagedestroy($img);

The image is scaled proportionally and transparent color is not processed
The code is as follows:
function thumn($background, $width, $height, $newfile) {
list($s_w, $s_h)=getimagesize($background);//Get the original image height and width
if ($width && ($s_w < $s_h)) {
$width = ($height / $s_h) * $s_w;
} else {
$height = ($width / $s_w) * $s_h;
}
$new=imagecreatetruecolor($width, $height);
$img=imagecreatefromjpeg($background);
imagecopyresampled($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h);
imagejpeg($new, $newfile);
imagedestroy($new);
imagedestroy($img);
}
thumn("images/hee.jpg", 200, 200, "./images/hee3.jpg");

gif transparent color processing
The code is as follows:
function thumn($background, $width, $height, $newfile) {
list($s_w, $s_h)=getimagesize($background);
if ($width && ($s_w < $s_h)) {
$width = ($height / $s_h) * $s_w;
} else {
$height = ($width / $s_w) * $s_h;
}
$new=imagecreatetruecolor($width, $height);
$img=imagecreatefromgif($background);
$otsc=imagecolortransparent($img);
if($otsc >=0 && $otst < imagecolorstotal($img)){//Judge index color
$tran=imagecolorsforindex($img, $otsc);//Index color value
$newt=imagecolorallocate($new, $tran["red"], $tran["green"], $tran["blue"]);
imagefill($new, 0, 0, $newt);
imagecolortransparent($new, $newt);
}
imagecopyresized($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h);
imagegif($new, $newfile);
imagedestroy($new);
imagedestroy($img);
}
thumn("images/map.gif", 200, 200, "./images/map3.gif");


Image Cropping

Copy code The code is as follows:
/**
* Image cropping processing
*edit by www.jbxue.com
*/
function cut($background, $cut_x, $cut_y, $cut_width, $cut_height, $location){
$back=imagecreatefromjpeg($background);
$new=imagecreatetruecolor($cut_width, $cut_height);
imagecopyresampled($new, $back, 0, 0, $cut_x, $cut_y, $cut_width, $cut_height,$cut_width,$cut_height);
imagejpeg($new, $location);
imagedestroy($new);
imagedestroy($back);
}
cut("./images/hee.jpg", 440, 140, 117, 112, "./images/hee5.jpg");
?>


Image watermark Text watermark

Copy code The code is as follows:
/**
*
* Add text watermark to pictures
​*/

function mark_text($background, $text, $x, $y){
$back=imagecreatefromjpeg($background);
$color=imagecolorallocate($back, 0, 255, 0);
imagettftext($back, 20, 0, $x, $y, $color, "simkai.ttf", $text);
imagejpeg($back, "./images/hee7.jpg");
imagedestroy($back);
}
mark_text("./images/hee.jpg", "Details of PHP", 150, 250);
//Image watermark
function mark_pic($background, $waterpic, $x, $y){
$back=imagecreatefromjpeg($background);
$water=imagecreatefromgif($waterpic);
$w_w=imagesx($water);
$w_h=imagesy($water);
imagecopy($back, $water, $x, $y, 0, 0, $w_w, $w_h);
imagejpeg($back,"./images/hee8.jpg");
imagedestroy($back);
imagedestroy($water);
}
mark_pic("./images/hee.jpg", "./images/gaolf.gif", 50, 200);


Image rotation

Copy code The code is as follows:
/**
* Image rotation
​*/
$back=imagecreatefromjpeg("./images/hee.jpg");

$new=imagerotate($back, 45, 0);
imagejpeg($new, "./images/hee9.jpg");
?>


Flip the image horizontally and vertically

Copy code The code is as follows:


/**
* Flip the picture horizontally Flip vertically
​*/
function turn_y($background, $newfile){
$back=imagecreatefromjpeg($background);
$width=imagesx($back);
$height=imagesy($back);
$new=imagecreatetruecolor($width, $height);
for($x=0; $x < $width; $x++){
imagecopy($new, $back, $width-$x-1, 0, $x, 0, 1, $height);
}
imagejpeg($new, $newfile);
imagedestroy($back);
imagedestroy($new);
}
function turn_x($background, $newfile){
$back=imagecreatefromjpeg($background);
$width=imagesx($back);
$height=imagesy($back);
$new=imagecreatetruecolor($width, $height);
for($y=0; $y < $height; $y++){
imagecopy($new, $back,0, $height-$y-1, 0, $y, $width, 1);
}
imagejpeg($new, $newfile);
imagedestroy($back);
imagedestroy($new);
}
turn_y("./images/hee.jpg", "./images/hee11.jpg");
turn_x("./images/hee.jpg", "./images/hee12.jpg");
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/372531.htmlTechArticlePHP image processing code sharing, including scaling, cropping, zooming, flipping, rotating, transparency, sharpening, etc. Friends in need can refer to the next step 1. Create image resources imagecreatetruecolor(wi...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn