Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verarbeitet das Bild in abgerundete Ecken

PHP verarbeitet das Bild in abgerundete Ecken

不言
不言Original
2018-04-13 14:32:213193Durchsuche

Der Inhalt dieses Artikels ist, dass PHP Bilder in abgerundete Ecken verarbeitet. Jetzt kann ich ihn mit allen teilen, die ihn benötigen


        /**
	 * 处理成圆图片,如果图片不是正方形就取最小边的圆半径,从左边开始剪切成圆形
	 * @param  string $imgpath [description]
	 * @return [type]          [description]
	 */
	function yj_img($imgpath = './yj.jpg') {
		$ext     = pathinfo($imgpath);
		$src_img = null;
		switch ($ext['extension']) {
		case 'jpg':
			$src_img = imagecreatefromjpeg($imgpath);
			break;
		case 'png':
			$src_img = imagecreatefrompng($imgpath);
			break;
		}
		$wh  = getimagesize($imgpath);
		$w   = $wh[0];
		$h   = $wh[1];
		$w   = min($w, $h);
		$h   = $w;
		$img = imagecreatetruecolor($w, $h);
		//这一句一定要有
		imagesavealpha($img, true);
		//拾取一个完全透明的颜色,最后一个参数127为全透明
		$bg = imagecolorallocatealpha($img, 255, 255, 255, 127);
		imagefill($img, 0, 0, $bg);
		$r   = $w / 2; //圆半径
		$y_x = $r; //圆心X坐标
		$y_y = $r; //圆心Y坐标
		for ($x = 0; $x < $w; $x++) {
			for ($y = 0; $y < $h; $y++) {
				$rgbColor = imagecolorat($src_img, $x, $y);
				if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
					imagesetpixel($img, $x, $y, $rgbColor);
				}
			}
		}
		return $img;
	}




Das obige ist der detaillierte Inhalt vonPHP verarbeitet das Bild in abgerundete Ecken. 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