• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何 php 在二维码上添加部分透明的logo

php 搞代码 3年前 (2022-01-23) 43次浏览 已收录 0个评论
文章目录[隐藏]

这是用的二维码

做了一张四角和中心透明的、白色边框的图片用来嵌入到二维码图片里
但是合成后原来中心黑白的位置全变成透明,如下图

这种情况如何处理,代码如下
list($qrwidth,$qrheight) = getimagesize($imgs[‘qrcode’]);
list($bowidth,$boheight) = getimagesize($imgs[‘border’]);
$QR = imagecreatefrompng($imgs[‘qrcode’]);
$border = imagecreatefrompng($imgs[‘border’]);
$logo_qr_width = $qrwidth / 5;
$scale = $logo_width/$logo_qr_width;
$logo_qr_height = $logo_height/$scale;
$from_width = ($qrwidth – $logo_qr_width) / 2;
imagesavealpha($border,true);
imagecopyresampled($QR, $border, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $bowidth, $boheight);
Header(“Content-type: image/png”);
ImagePng($QR);

回复讨论(解决方案)

这个效果?

$QR = imagecreatefrompng('http://img.bbs.gaodaima.com/upload/201601/04/1451892452_282416.jpg');$border = imagecreatefrompng('http://img.bbs.gaodaima.com/upload/201601/04/1451892077_864770.png');list($qrwidth, $qrheight) = array(imagesx($QR), imagesy($QR));list($bowidth, $boheight) = array(imagesx($border), imagesy($border));$logo_qr_width = $qrwidth / 5;$scale = $bowidth/$logo_qr_width;$logo_qr_height = $boheight/$scale;$from_width = ($qrwidth - $logo_qr_width) / 2;imagesavealpha($border,true);imagecolortransparent($border, imagecolorat($border, 1, 1));imagecopyresampled($QR,<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span> $border, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $bowidth, $boheight);ImagePng($QR);

其实直接在 $QR 上画图不是更简单?

其实直接在 $QR 上画图不是更简单?

确实是上面的效果,刚接触php的画图,还不太了解

这个效果?

$QR = imagecreatefrompng('http://img.bbs.gaodaima.com/upload/201601/04/1451892452_282416.jpg');$border = imagecreatefrompng('http://img.bbs.gaodaima.com/upload/201601/04/1451892077_864770.png');list($qrwidth, $qrheight) = array(imagesx($QR), imagesy($QR));list($bowidth, $boheight) = array(imagesx($border), imagesy($border));$logo_qr_width = $qrwidth / 5;$scale = $bowidth/$logo_qr_width;$logo_qr_height = $boheight/$scale;$from_width = ($qrwidth - $logo_qr_width) / 2;imagesavealpha($border,true);imagecolortransparent($border, imagecolorat($border, 1, 1));imagecopyresampled($QR, $border, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $bowidth, $boheight);ImagePng($QR);

好评,确实是上面的效果,刚接触php的画图,还有很多函数不太了解


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何 php 在二维码上添加部分透明的logo
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址