布拉猫 2023-03-05 20:32 采纳率: 35.3%
浏览 16

php base64图片 如何做成圆角图片

php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片?
php base64图片 如何做成圆角图片?

  • 写回答

1条回答 默认 最新

  • 陈书予 2023年6月份城市(北京)之星TOP 1 2023-03-05 21:41
    关注

    要将 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 格式的图片,你可以根据需要调整输出格式。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月5日

悬赏问题

  • ¥15 有人能看一下我宿舍管理系统的报修功能该怎么改啊?链表那里总是越界
  • ¥15 cs loadimage运行不了,easyx也下了,没有用
  • ¥15 r包runway详细安装教程
  • ¥15 Html中读取Json文件中数据并制作表格
  • ¥15 谁有RH342练习环境
  • ¥15 STM32F407 DMA中断问题
  • ¥15 uniapp连接阿里云无法发布消息和订阅
  • ¥25 麦当劳点餐系统代码纠错
  • ¥15 轮班监督委员会问题。
  • ¥20 关于变压器的具体案例分析