ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
上代码 # 第一版 ~~~ $miniapp_path= "https://card.oss.yongtoc.com/images/4b76e36ae5b4edc20f9ee7c7d79e10ea.jpg"; $picture = "https://card.oss.yongtoc.com/images/4b76e36ae5b4edc20f9ee7c7d79e10ea.jpg"; $dst_path = $picture; // 背景图 $src_path = $miniapp_path;// 二维码图 //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); $src = imagecreatefromstring(file_get_contents($src_path)); // 把二维码图片的白色背景设为透明 imagecolortransparent($src, imagecolorallocate($src, 255, 255, 255)); list($src_w, $src_h) = getimagesize($src_path);//获取二维码图的宽高 list($dst_w, $dst_h) = getimagesize($dst_path);//获取背景图的宽高 // var_dump(getimagesize($src_path)); // var_dump(getimagesize($dst_path));die; $dst_y = $dst_h-$src_h-4; $dst_x = $dst_w-$src_w-4; //将水印图片复制到目标图片上 imagecopymerge($dst, $src, $dst_x, $dst_y, 0, 0, $src_w, $src_h, 100); //生成图片 header("Content-Type: image/png; charset=utf-8"); //第二个参数,需要保存图片的话就传路径+图片名字 imagepng($dst); //销毁 imagedestroy($dst); imagedestroy($src); exit(); ~~~ # 第二版(推荐使用这个,已经完善,二维码可以重置大小) ~~~ $miniapp_path= "https://card.oss.yongtoc.com/images/4b76e36ae5b4edc20f9ee7c7d79e10ea.jpg"; $picture = "https://card.oss.yongtoc.com/images/4b76e36ae5b4edc20f9ee7c7d79e10ea.jpg";//背景路径 $dst_path = $picture; // 背景图 $src_path = $miniapp_path;// 二维码图 //创建图片的实例 返回值Resource id #数字 $dst = imagecreatefromstring(file_get_contents($dst_path)); $src = imagecreatefromstring(file_get_contents($src_path)); /** 把二维码图片大小给重置到合适大小 s*/ //获取二维码图片的高宽信息 $src_w = imagesx($src); $src_h = imagesy($src); //创建一个空图片,设置好高宽 $qr_code = imagecreatetruecolor(200, 200); //把现有的图片,合拼到$qr_code的空图片里面 imagecopyresized($qr_code, $src, 0, 0, 0, 0,200, 200, $src_w, $src_h); /** 把二维码图片大小给重置到合适大小 e*/ // 把二维码图片的白色背景设为透明 imagecolortransparent($qr_code, imagecolorallocate($qr_code, 255, 255, 255)); //这样获取是传路径获取高宽 // list($dst_w, $dst_h) = getimagesize($dst_path);//获取背景图的宽高 //这样获取是传图片资源Resource id获取高宽 $dst_w = imagesx($dst); $dst_h = imagesy($dst); //重新获取最新改变后的二维码图片的高宽信息 $src_w = imagesx($qr_code); $src_h = imagesy($qr_code); //二维码放在背景图片上面的位置 $dst_y = $dst_h-$src_h-10; $dst_x = $dst_w-$src_w-10; //将二维码图片复制到目标背景图片上 imagecopymerge($dst, $qr_code, $dst_x, $dst_y, 0, 0, $src_w, $src_h, 100); //生成图片 header("Content-Type: image/png; charset=utf-8"); //第二个参数,需要保存图片的话就传路径+图片名字 imagepng($dst); //销毁 imagedestroy($dst); imagedestroy($src); //如果要删除文件就去掉注释 //unlink($miniapp_path); exit(); ~~~