php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 要将 PHP 中的 base64 图片转换为圆角图片,可以使用 imagecreatefromstring() 和 imagecopyresampled() 函数来处理。以下是一个实现例子:
// 要处理的 base64 图片 $base64_img = "data:image/jpeg;base64,/9j/4AAQSkZJRgA..."; // 从 base64 字符串中创建图像资源 $img = imagecreatefromstring(base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $base64_img))); // 获取图片宽度和高度 $width = imagesx($img); $height = imagesy($img); // 创建一个与原图等大的空白画布 $canvas = imagecreatetruecolor($width, $height); // 定义圆角的大小 $radius = 50; // 在画布上绘制圆角矩形 imagefilledrectangle($canvas, 0, 0, $width, $height, 0xFFFFFF); imagefilledellipse($canvas, $radius, $radius, $radius * 2, $radius * 2, 0x000000); imagefilledellipse($canvas, $width - $radius, $radius, $radius * 2, $radius * 2, 0x000000); imagefilledellipse($canvas, $radius, $height - $radius, $radius * 2, $radius * 2, 0x000000); imagefilledellipse($canvas, $width - $radius, $height - $radius, $radius * 2, $radius * 2, 0x000000); imagefilledrectangle($canvas, 0, $radius, $width, $height - $radius, 0x000000); imagefilledrectangle($canvas, $radius, 0, $width - $radius, $height, 0x000000); // 将原图绘制到圆角矩形中 imagecopyresampled($canvas, $img, $radius, $radius, 0, 0, $width - $radius * 2, $height - $radius * 2, $width, $height); // 输出处理后的图片 header('Content-type: image/png'); imagepng($canvas);
上述代码中,我们首先使用 imagecreatefromstring() 函数从 base64 字符串中创建图像资源。然后,创建一个与原图等大的空白画布,并使用 imagefilledellipse() 和 imagefilledrectangle() 函数在画布上绘制一个圆角矩形。最后,使用 imagecopyresampled() 函数将原图绘制到圆角矩形中,并输出处理后的图片。需要注意的是,这里我们输出的是 PNG 格式的图片,你可以根据需要调整输出格式。
解决 1无用
悬赏问题
- ¥15 有人能看一下我宿舍管理系统的报修功能该怎么改啊?链表那里总是越界
- ¥15 cs loadimage运行不了,easyx也下了,没有用
- ¥15 r包runway详细安装教程
- ¥15 Html中读取Json文件中数据并制作表格
- ¥15 谁有RH342练习环境
- ¥15 STM32F407 DMA中断问题
- ¥15 uniapp连接阿里云无法发布消息和订阅
- ¥25 麦当劳点餐系统代码纠错
- ¥15 轮班监督委员会问题。
- ¥20 关于变压器的具体案例分析