背景图使用1080*1920为准进行编写,单看效果请使用1080*1920大小的背景图进行测试,其他图片大小不限大小


// 加载背景图片
        $background = imagecreatefromjpeg('public/poster/job/1.jpg');
        $backgroundWidth = imagesx($background);
        $backgroundHeight = imagesy($background);
        // 创建白色图层
        $whiteLayerWidth = $backgroundWidth * 0.9;
        $whiteLayerHeight = 380;
        $whiteLayer = imagecreatetruecolor($whiteLayerWidth, $whiteLayerHeight);
        $white = imagecolorallocate($whiteLayer, 255, 255, 255);
        imagefill($whiteLayer, 0, 0, $white);
        // 白色图层上绘制圆角
        $roundedCorners = 50; // 设置圆角的大小
        // 绘制左上角圆角
        imagefilledellipse($whiteLayer, $roundedCorners, $roundedCorners, $roundedCorners * 2, $roundedCorners * 2, imagecolorallocatealpha($whiteLayer, 0, 0, 0, 127));
        // 绘制右上角圆角
        imagefilledellipse($whiteLayer, $whiteLayerWidth - $roundedCorners, $roundedCorners, $roundedCorners * 2, $roundedCorners * 2, imagecolorallocatealpha($whiteLayer, 0, 0, 0, 127));
        // 绘制左下角圆角
        imagefilledellipse($whiteLayer, $roundedCorners, $whiteLayerHeight - $roundedCorners, $roundedCorners * 2, $roundedCorners * 2, imagecolorallocatealpha($whiteLayer, 0, 0, 0, 127));
        // 绘制右下角圆角
        imagefilledellipse($whiteLayer, $whiteLayerWidth - $roundedCorners, $whiteLayerHeight - $roundedCorners, $roundedCorners * 2, $roundedCorners * 2, imagecolorallocatealpha($whiteLayer, 0, 0, 0, 127));
        // 职位名称
        $textColor = imagecolorallocate($whiteLayer, 0, 0, 0); // 黑色文字
        $fontFile = 'public/poster/font.ttf'; //
        $text = '跟单文员';
        $textSize = 30; // 文字大小
        $textX = 50;// 位于白色配图层的文字Y坐标
        $textY = 100;// 位于白色配图层的文字X坐标
        imagettftext($whiteLayer, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        $textColor = imagecolorallocate($whiteLayer, 239, 153, 113); // 橙色文字
        $text = '4.5K~5.5K';
        $textSize = 30; // 文字大小
        $textX = $whiteLayerWidth - 250;// 位于白色配图层的文字Y坐标
        $textY = 100;// 位于白色配图层的文字X坐标
        imagettftext($whiteLayer, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        // 职位基础需求
        $textColor = imagecolorallocate($whiteLayer, 106, 106, 106); // 灰色文字
        $text = '全职 | 大专 | 经验不限';
        $textSize = 30; // 文字大小
        $textX = 50;// 位于白色配图层的文字Y坐标
        $textY = 170;// 位于白色配图层的文字X坐标
        imagettftext($whiteLayer, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        // 加载并调整logo图片大小
        $logo = imagecreatefromjpeg('public/poster/empty_logo.jpg');
        $logoWidth = imagesx($logo);
        $logoHeight = imagesy($logo);
        // 创建一个新的图像资源给logo使用
        $logoDstW = 150;
        $logoDstH = 150;
        $resizedLogo = imagecreatetruecolor($logoDstW, $logoDstH);
        // 调整logo图片大小
        imagecopyresampled($resizedLogo, $logo, 0, 0, 0, 0, $logoDstW, $logoDstH, $logoWidth, $logoHeight);
        // 销毁原始logo资源
        imagedestroy($logo);
        $logoX = 50;
        $logoY = 200;
        imagecopy($whiteLayer, $resizedLogo, $logoX, $logoY, 0, 0, $logoDstW, $logoDstH);
        // 企业名称
        $textColor = imagecolorallocate($whiteLayer, 0, 0, 0); // 黑色文字
        $fontFile = 'public/poster/font.ttf'; //
        $text = '远创人力资源管理集...';
        $textSize = 35; // 文字大小
        $textX = 210;// 位于白色配图层的文字Y坐标
        $textY = 250;// 位于白色配图层的文字X坐标
        imagettftext($whiteLayer, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        // 企业地址
        $textColor = imagecolorallocate($whiteLayer, 106, 106, 106); // 灰色文字
        $text = '安徽/合肥/瑶海区';
        $textSize = 25; // 文字大小
        $textX = 210;// 位于白色配图层的文字Y坐标
        $textY = 310;// 位于白色配图层的文字X坐标
        imagettftext($whiteLayer, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        // 加载并调整二维码图片大小
        $qrCode = imagecreatefrompng('public/poster/qr.png');
        $qrCodeWidth = imagesx($qrCode);
        $qrCodeHeight = imagesy($qrCode);
        // 创建一个新的图像资源给qrCode使用
        $qrCodeDstW = 200;
        $qrCodeDstH = 200;
        $resizedLogo = imagecreatetruecolor($qrCodeDstW, $qrCodeDstH);
        // 调整qrCode图片大小
        imagecopyresampled($resizedLogo, $qrCode, 0, 0, 0, 0, $qrCodeDstW, $qrCodeDstH, $qrCodeWidth, $qrCodeHeight);
        // 销毁原始qrCode资源
        imagedestroy($qrCode);
        $qrCodeX = $whiteLayerWidth - 250;
        $qrCodeY = 120;
        imagecopy($whiteLayer, $resizedLogo, $qrCodeX, $qrCodeY, 0, 0, $qrCodeDstW, $qrCodeDstH);
        // 扫码二维码文字
        $textColor = imagecolorallocate($whiteLayer, 106, 106, 106); // 灰色文字
        $text = '长按识别二维码';
        $textSize = 20; // 文字大小
        $textX = $whiteLayerWidth - 250;// 位于白色配图层的文字Y坐标
        $textY = 355;// 位于白色配图层的文字X坐标
        imagettftext($whiteLayer, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        // 将白色图层合并到背景图片上
        $yPosition = $backgroundHeight - $whiteLayerHeight - 100; // 底部留出100像素
        imagecopy($background, $whiteLayer, ($backgroundWidth - $whiteLayerWidth) / 2, $yPosition, 0, 0, $whiteLayerWidth, $whiteLayerHeight);
        // 在底部加上网站名称
        $textColor = imagecolorallocate($whiteLayer, 255, 255, 255); // 白色文字
        $text = '一颗大萝北';
        $textSize = 20; // 文字大小
        $textX = ($backgroundWidth / 2) - (mb_strlen($text) * $textSize);// 位于白色配图层的文字Y坐标
        $textY = $backgroundHeight - 40;// 位于图层底部位置
        imagettftext($background, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        $textColor = imagecolorallocate($whiteLayer, 255, 255, 255); // 白色文字
        $text = 'secondar';
        $textSize = 1;
        $textX = 1;
        $textY = 1;
        imagettftext($background, $textSize, 0, $textX, $textY, $textColor, $fontFile, $text);
        // 保存到text_image.png文件
        imagepng($background, 'text_image.png');
        // 清理资源
        imagedestroy($background);
        imagedestroy($whiteLayer);
        imagedestroy($resizedLogo);
说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...