在 PHP 中生成圆形图片需要用到 GD 库提供的图像处理函数。以下是一个简单的示例代码:
// 创建一个 200x200 的正方形画布
$image = imagecreatetruecolor(200, 200);
// 生成背景色为白色的正方形
$bg_color = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $bg_color);
// 定义圆心坐标和半径
$cx = 100;
$cy = 100;
$r = 80;
// 在画布上绘制一个圆形
$fg_color = imagecolorallocate($image, 255, 0, 0);
imagefilledellipse($image, $cx, $cy, $r * 2, $r * 2, $fg_color);
// 将正方形转换为圆形
for ($x=0; $x<200; $x++) {
for ($y=0; $y<200; $y++) {
$dist = sqrt(pow($x-$cx,2) + pow($y-$cy,2));
if ($dist > $r) {
imagesetpixel($image, $x, $y, $bg_color);
}
}
}
// 输出圆形图片
header('Content-type: image/png');
imagepng($image);
// 释放内存
imagedestroy($image);