Heim  >  Artikel  >  Backend-Entwicklung  >  Vollständige Sammlung von PHP-Bildverarbeitungsfunktionen

Vollständige Sammlung von PHP-Bildverarbeitungsfunktionen

不言
不言Original
2018-06-06 09:18:195837Durchsuche

Dieser Artikel stellt hauptsächlich die vollständige Sammlung von PHP-Bildverarbeitungsfunktionen vor, die einen gewissen Referenzwert haben. Jetzt können Freunde in Not darauf verweisen

Freigabe von PHP-Bildverarbeitungscode, einschließlich Skalieren, Zuschneiden, Zoomen, Spiegeln, Drehen, Transparenz, Schärfen usw.
1. Bildressourcen erstellen
imagecreatetruecolor(width,height);
imagecreatefromgif(picture name);
imagecreatefrompng(bildname);
imagecreatefromjpeg(bildname); verschiedene Bilder zeichnen imagegif(bildressource, Pfad speichern);
imagepng( )
imagejpeg();
2. Bildattribute abrufen
imagesx(res//width
imagesy(res//height
getimagesize(file path)
Gibt ein Array mit vier Zellen zurück. Index 0 enthält den Pixelwert der Bildbreite, Index 1 enthält Der Pixelwert der Bildhöhe. Index 2 ist ein Tag für den Bildtyp: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (Intel-Byte-Reihenfolge) , 8 = TIFF (Motorola-Byte-Reihenfolge), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. Diese Tags sind neu mit PHP 4.3. 0. IMAGETYPE-Konstante entspricht. Index 3 ist eine Textzeichenfolge mit dem Inhalt „height="yyy" width="xxx"", die direkt für IMG-Tags
verwendet werden kann, um Bildressourcen zu zerstören. >imagedestroy (Bildressource);

3. Transparenzverarbeitung
Transparente PNG- und JPEG-Farben sind normal, nur GIF ist abnormal
imagecolortransparent(resource image [,int color])//Stellen Sie eine Farbe auf transparent ein
imagecolorstotal()
imagecolorforindex() ;

4. Bildzuschnitt
imagecopyresized()
imagecopyresampled();

5. Wasserzeichen hinzufügen (Text, Bild)
String-Kodierungskonvertierungszeichenfolge iconv ( string $in_charset , string $out_charset , string $str )
6. Bilddrehung
imagerotate(); // Bildspiegelung in einem bestimmten Winkel

7. Bildspiegelung
Entlang der X-Achse entlang der Y-Achse spiegeln

8. )

Grafiken auf das Bild zeichnen $img=imagecreatefromgif("./images/map.gif");


  1. <?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);

  2. Normale Bildskalierung


  1. <?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);

  2. Das Bild wird proportional skaliert und die transparente Farbe wird nicht verarbeitet


  1. <?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");

  2. gif transparente Farbverarbeitung


  1. <?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");

  2. Bild zuschneiden


  1. <?php
    /**
    * 图片裁剪处理
    * 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");
    ?>

  2. Bild-Wasserzeichen-Text-Wasserzeichen


  1. <?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);

    图片旋转

    1. <?PHP
       /**
       * 图片旋转
       */
       $back=imagecreatefromjpeg("./images/hee.jpg");
       $new=imagerotate($back, 45, 0);
       imagejpeg($new, "./images/hee9.jpg");
       ?>

    图片水平翻转垂直翻转

    点击(此处)折叠或打开

    1. <?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");
       ?>
      相关推荐:
    2. php 实用函数,php函数

    3. (转)PHP常用函数,php函数

Das obige ist der detaillierte Inhalt vonVollständige Sammlung von PHP-Bildverarbeitungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn