小程序码更换中间logo--php生成函数

public function makeimg()
{
$path_1 = 'uploads/seven.png';
$path_2 = 'http://wx.qlogo.cn/mmopen/PiajxSqBRaEJibOmQsOZ3fUUNscz3v592BKwCjnC3HYHHnMibuQ5pGo1KrsPruYNMmmZKiaKNoV7cp7biciarqWBQreA/0';
if(!file_exists("uploads/wxcode/")) {
mkdir("uploads/wxcode/", 0755, true);
}
$file_name = "uploads/wxcode/".time().".png";
$codeimg = imagecreatefromstring(file_get_contents($path_1));
$src_img = imagecreatefromstring(file_get_contents($path_2));
$w = $h = min(imagesx($src_img), imagesy($src_img));
$newwidth = $newheight = 192;
$img = imagecreatetruecolor($w, $h);
imagesavealpha($img, true);
$bg = imagecolorallocatealpha($img, 255, 255, 255, 127);
imagefill($img, 0, 0, $bg);
$r = $w / 2;
for ($x = 0; $x < $w; $x++) {
for ($y = 0; $y < $h; $y++) {
$rgbColor = imagecolorat($src_img, $x, $y);
if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
imagesetpixel($img, $x, $y, $rgbColor);
}
}
}
$newimg = imagecreatetruecolor($newwidth, $newheight);
imagesavealpha($newimg, true);
$color = imagecolorallocatealpha($newimg, 255, 255, 255, 127);
//$color = imagecolorallocate($newimg,255,255,255);
imagefill($newimg, 0, 0, $color);
imageColorTransparent($newimg, $color);
imagecopyresampled($newimg, $img, 0, 0, 0, 0, $newwidth, $newheight, imagesx($img), imagesy($img));
imagecopymerge($codeimg, $newimg, 119, 119, 0, 0, imagesx($newimg), imagesy($newimg), 100);
imagepng($codeimg,$file_name);
response_ok($file_name);
}

#PHP# #GD# #小程序码#

评论0

  • 没有任何评论
评论请先登录

最近热帖

  1. 基于 Harbor 搭建 Docker 私有镜像仓库 317577
  2. PPS代理节点池 192471
  3. PPS代理节点池② 110071
  4. PPS代理节点池③ 73378
  5. 订阅池记录 64713
  6. V2ray免费账号 11514
  7. WEB代理地址 2838
  8. 全栈开发笔记 2611
  9. 百度的无刷新搜索之PJAX 1942
  10. GITHUB项目 1826

近期热议

  1. GITHUB项目 55
  2. PPS代理节点池 50
  3. WEB代理地址 43
  4. 全栈开发笔记 42
  5. ROBOT机器人之路 31
  6. PPS代理节点池③ 26
  7. PPS代理节点池② 20
  8. C++回归之路 19
  9. OCR识别探索 16
  10. 错误笔记本 14