setSize($qrSize); $writer = new PngWriter(); $qrImage = $writer->write($qrCode); // 将二维码转换为 GD 图像资源 $qrImageResource = imagecreatefromstring($qrImage->getString()); // 计算二维码的放置位置 $qrX = ($backgroundWidth - $qrSize) / 2; $qrY = ($backgroundHeight - $qrSize) * 0.78; // 将二维码绘制到背景图上 imagecopy($backgroundImage, $qrImageResource, $qrX, $qrY, 0, 0, $qrSize, $qrSize); // 创建一个临时的内存文件,保存合成后的图片 ob_start(); imagepng($backgroundImage); // 输出图像为PNG格式 $imageData = ob_get_contents(); ob_end_clean(); // 释放图像资源 imagedestroy($backgroundImage); imagedestroy($qrImageResource); // 返回合成后的图片的字节数据 return $imageData; } }