12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
编程知识 时间:2024-12-18 17:10:58
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
今天我们要介绍的是PHP中的一个常用函数:imagecopy()。imagecopy()函数可以将一张图片的某一部分复制到另一张图片上。但是,在实际开发中,我们可能会遇到需要将图片剪切成圆形
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
今天我们要介绍的是PHP中的一个常用函数:imagecopy()。
imagecopy()函数可以将一张图片的某一部分复制到另一张图片上。但是,在实际开发中,我们可能会遇到需要将图片剪切成圆形的需求。
于是,我们就可以使用imagecopy()函数来完成这个任务。
function circleImg($imgPath) {// 打开图片$srcImg = imagecreatefromstring(file_get_contents($imgPath));// 取得图片宽度和高度$srcWidth = imagesx($srcImg);$srcHeight = imagesy($srcImg);// 创建一个白色圆形图片$dstImg = imagecreatetruecolor($srcWidth, $srcHeight);$white = imagecolorallocate($dstImg, 255, 255, 255);imagefill($dstImg, 0, 0, $white);$circle = imagecolorallocate($dstImg, 0, 0, 0);imagefilledellipse($dstImg, $srcWidth / 2, $srcHeight / 2, $srcWidth, $srcHeight, $circle);// 设置圆形的透明度imagecolortransparent($dstImg, $white);// 生成圆形图片imagecopy($dstImg, $srcImg, 0, 0, 0, 0, $srcWidth, $srcHeight);imagedestroy($srcImg);return $dstImg;}
代码中的“circleImg”函数接收一个图片路径,然后使用imagecreatefromstring()函数将其打开。接下来,通过imagesx()和imagesy()函数获取图片的宽度和高度。
然后,创建一个宽和高分别为原图片宽度和高度的白色圆形图片。利用imagefilledellipse()函数将圆形图片填充为黑色圆形。然后使用imagecolortransparent()函数设置白色为透明色。
最后,使用imagecopy()函数将原图片复制到新建的圆形图片上,生成一个新的圆形图片。
我们可以用下面的代码来调用这个函数:
$imgPath = 'image.jpg';$dstImg = circleImg($imgPath);header('Content-Type: image/png');imagepng($dstImg);imagedestroy($dstImg);
这段代码会将指定图片路径的图片剪切成圆形,并显示在浏览器中。
通过imagecopy()函数,我们可以轻松地将一张图片剪切成任何形状。如果你有同样的需求,不妨试试吧。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19