Cet article présente principalement la collection complète de fonctions de traitement d'images PHP, qui a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
.
Partage de code de traitement d'image PHP, y compris la mise à l'échelle, le recadrage, le zoom, le retournement, la rotation, la transparence, la netteté, etc.
1. Créer des ressources d'image
imagecreatetruecolor(width,height);
imagecreatefromgif(picture name);
imagecreatefrompng(nom de l'image);
imagecreatefromjpeg(nom de l'image); dessiner diverses images imagegif(ressource d'image, chemin d'enregistrement);
imagepng( )
imagejpeg();
2. Obtenir les attributs de l'image
imagesx(res//width
imagesy(res//height
getimagesize(file path)
Renvoie un tableau avec quatre cellules. L'index 0 contient la valeur en pixels de la largeur de l'image, l'index 1 contient la valeur en pixels de la hauteur de l'image. L'index 2 est une balise pour le type d'image : 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (ordre des octets Intel). , 8 = TIFF (ordre des octets motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM Ces balises sont nouvelles avec PHP 4.3. 0. La constante IMAGETYPE correspond. L'index 3 est une chaîne de texte avec le contenu "height="yyy" width="xxx"", qui peut être utilisée directement pour les balises IMG
pour détruire les ressources d'image. >imagedestroy (ressource d'image);
3. Traitement de la transparence
Les couleurs transparentes PNG et jpeg sont normales, seul le gif est anormal
imagecolortransparent(resource image [,int color])//Définir une couleur pour qu'elle soit transparente
imagecolorstotal()
imagecolorforindex() ;
4. Recadrage d'image
imagecopyresized()
imagecopyresampled();
5. Ajouter un filigrane (texte, image)
Icône de chaîne de conversion d'encodage de chaîne ( string $in_charset , string $out_charset , string $str )
6. Rotation de l'image
imagerotate(); // Retournement de l'image à un angle spécifié
7. Retournement de l'image
Retourner le long de l'axe X le long de l'axe Y
8. Aiguiser
imagecolorsforindex()
imagecolorat( )
Dessinez des graphiques sur l'image $img=imagecreatefromgif("./images/map.gif");
1 2 3 4 5 6 7 8 9 | <?PHP
$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 );
|
Copier après la connexion
Mise à l'échelle normale des images
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php
$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 );
imagecopyresized( $new , $img ,0, 0,0, 0, $n_w , $n_h , $width , $height );
imagejpeg( $new , "./images/hee2.jpg" );
imagedestroy( $new );
imagedestroy( $img );
|
Copier après la connexion
L'image est mise à l'échelle proportionnellement et la couleur transparente n'est pas traitée
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php
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 =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" );
|
Copier après la connexion
traitement des couleurs transparentes gif
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
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 )){
$tran =imagecolorsforindex( $img , $otsc );
$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" );
|
Copier après la connexion
Recadrage d'image
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php
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" );
?>
|
Copier après la connexion
Filigrane de texte en filigrane d'image
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?PHP
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" , "细说PHP" , 150, 250);
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);
|
Copier après la connexion
图片旋转
1 2 3 4 5 6 7 8 | <?PHP
$back =imagecreatefromjpeg( "./images/hee.jpg" );
$new =imagerotate( $back , 45, 0);
imagejpeg( $new , "./images/hee9.jpg" );
?>
|
Copier après la connexion
图片水平翻转垂直翻转
点击(此处)折叠或打开
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php
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" );
?>
|
Copier après la connexion
相关推荐:
php 实用函数,php函数
(转)PHP常用函数,php函数
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!