php生成艺术签名 下

现在已经有了所需的字体了。那么接下来就是把艺术字体写到背景图片上再加上二维码了。

resource imagecreatefromjpeg ( string $filename ) 从本地文件或url中获取一个新的图片资源。

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )  参数 $image 图片资源,$size字体尺寸,$angle字体写入的角度(以逆时针旋转),$x第一个字符的左下角x坐标,$y第一个字符的y坐标,$color字体的颜色,$fontfile要用到的字体的路径,$text这个就是要写进去的字符串了。

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct ) 将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0100。当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
将$src_image 图像中坐标从$src_x,$src_y,宽为为$src_width高为src_height的区域复制到dst_image图像中坐标从dst_x,dst_y,宽为dst_width高为dst_height中。(如果src的高和宽与dst的高和宽不一样的话,复制的区域则会进行相应的拉伸)在本例中此函数用于重置图像的大小。

贴一下源码

$font_bg = loadImage('./Public/img/font_bg.jpg');//获取背景

$qrcodeimg = loadImage('./Public/img/qrcode.jpg');//获取二维码
$qrcodeimg = resizeImage($qrcodeimg,160,160);//修改二维码大小

$res = imagecopyresampled($font_bg, $name, 0, 0, 0, 0, imagesx($name)*1.3, imagesy($name)*1.3, imagesx($name), imagesy($name));//写入艺术签

$res1 = imagecopymerge($font_bg, $qrcodeimg, 10, 300, 0, 0, imagesx($qrcodeimg), imagesy($qrcodeimg), 100);//加入二维码

/**
 * 改变图片大小
 * @param source $img  图片资源
 * @param int $imgwidth   要改成的宽度
 * @param int $imgheight   要改成的高度
 * @return resource  $image   返回新的图片资源
 */
function resizeImage($img, $imgwidth, $imgheight){
    $width = imagesx($img);//取得图片的宽度,高度值
    $height = imagesy($img);
    if ($width > 255) {
        $image = imagecreatetruecolor($imgwidth, $imgheight);  //创建一个彩色的底图
        $res = imagecopyresampled($image, $img, 0, 0, 0, 0, $imgwidth, $imgheight, $width, $height);
        if (!$res) {
            return false;
        } else {
            imagedestroy($img);
            return $image;
        }
    } else {
        return $img;
    }
}

imagepng($font_bg);//显示图片到网页

imagedestroy($font_bg);//从内存中销毁图片资源
imagedestroy($qrcodeimg);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值