Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHP, um das Teilen von Bildcodierungsbeispielen zu erreichen

So verwenden Sie PHP, um das Teilen von Bildcodierungsbeispielen zu erreichen

*文
*文Original
2017-12-25 14:35:012097Durchsuche

Wie verwende ich PHP, um die Bildcodierung zu implementieren? Die Bildkodierung kann mithilfe der GD-Bibliothek erfolgen. Dieser Artikel stellt hauptsächlich die Methode zur Implementierung der teilweisen Codierung von Bildern in PHP vor. Ich hoffe, dass er für alle hilfreich ist.

Prinzip:

Fügen Sie jedem Pixel des ausgewählten Bereichs im Bild eine bestimmte Breite und Höhe hinzu, um ein Rechteck zu erzeugen. Die Rechtecke jedes Pixels überlappen sich und bilden einen Mosaikeffekt.
In diesem Beispiel wird imagecolorat der GD-Bibliothek verwendet, um die Pixelfarbe zu erhalten, und imagefilledrectangle, um das Rechteck zu zeichnen.

Die Darstellung lautet wie folgt:

Der Code lautet wie folgt:

<?php  
/** 图片局部打马赛克 
* @param  String  $source 原图 
* @param  Stirng  $dest   生成的图片 
* @param  int     $x1     起点横坐标 
* @param  int     $y1     起点纵坐标 
* @param  int     $x2     终点横坐标 
* @param  int     $y2     终点纵坐标 
* @param  int     $deep   深度,数字越大越模糊 
* @return boolean 
*/  
function imageMosaics($source, $dest, $x1, $y1, $x2, $y2, $deep){  
  
    // 判断原图是否存在  
    if(!file_exists($source)){  
        return false;  
    }  
  
    // 获取原图信息  
    list($owidth, $oheight, $otype) = getimagesize($source);  
  
    // 判断区域是否超出图片  
    if($x1>$owidth || $x1<0 || $x2>$owidth || $x2<0 || $y1>$oheight || $y1<0 || $y2>$oheight || $y2<0){  
        return false;  
    }  
  
    switch($otype){  
        case 1: $source_img = imagecreatefromgif($source); break;  
        case 2: $source_img = imagecreatefromjpeg($source); break;  
        case 3: $source_img = imagecreatefrompng($source); break;  
        default:  
            return false;  
    }  
  
    // 打马赛克  
    for($x=$x1; $x<$x2; $x=$x+$deep){  
        for($y=$y1; $y<$y2; $y=$y+$deep){  
            $color = imagecolorat($source_img, $x+round($deep/2), $y+round($deep/2));  
            imagefilledrectangle($source_img, $x, $y, $x+$deep, $y+$deep, $color);  
        }  
    }  
  
    // 生成图片  
    switch($otype){  
        case 1: imagegif($source_img, $dest); break;  
        case 2: imagejpeg($source_img, $dest); break;  
        case 3: imagepng($source_img, $dest); break;  
    }  
  
    return is_file($dest)? true : false;  
  
}  
  
$source = &#39;source.jpg&#39;;  
$dest = &#39;dest.jpg&#39;;  
  
$flag = imageMosaics($source, $dest, 176, 98, 273, 197, 4);  
echo &#39;<img src="&#39;.$source.&#39;">&#39;;  
echo &#39;<img src="&#39;.$dest.&#39;">&#39;;  
?>

Verwandte Empfehlungen:

Wie öffne ich die GD-Bibliothek in PHP?

Was ist die GD-Bibliothek? Detaillierte Einführung in das Laden der GD-Bibliothek in PHP

Lösung für das von der GD-Bibliothek generierte verstümmelte Wasserzeichen

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP, um das Teilen von Bildcodierungsbeispielen zu erreichen. 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