作者:way旧光影 | 来源:互联网 | 2023-09-05 10:08
php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释生成图片图片合成php教程-php手册之前有一个我写的帖
php教程|php手册
thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释生成图片 图片合成
php教程-php手册
之前有一个我写的帖子是可以拿到远程地址的图片保存本地的
前段时间搞的很火的朋友圈标签,可以使用下面仅仅三个自定义函数即可合成,具体参数石头已经给大家写出,有需要改进的地方请直接留言!
求一个源码破解论坛,查看ubuntu网速,添加开机启动tomcat,网盘爬虫.,php munal,辽宁快速seo关键词优化方案lzw
/*** a.合成图片信息 复制一张图片的矩形区域到另外一张图片的矩形区域* @param [type] $bg_image [目标图]* @param [type] $sub_image [被添加图]* @param [type] $add_x [目标图x坐标位置]* @param [type] $add_y [目标图y坐标位置]* @param [type] $add_w [目标图宽度区域]* @param [type] $add_h [目标图高度区域]* @param [type] $out_image [输出图路径]* @return [type] [description]*/function image_copy_image($bg_image,$sub_image,$add_x,$add_y,$add_w,$add_h,$out_image){if($sub_image){$bg_image_c = imagecreatefromstring(file_get_contents($bg_image));$sub_image_c = imagecreatefromstring(file_get_contents($sub_image));imagecopyresampled($bg_image_c, $sub_image_c, $add_x, $add_y, 0, 0, $add_w, $add_h, imagesx($sub_image_c), imagesy($sub_image_c));//保存到out_imageimagejpeg($bg_image_c, $out_image, 80);imagedestroy($sub_image_c);imagedestroy($bg_image_c);}}/*** b.生成文字图片并插入广告图中* @param [type] $filename [背景路径]* @param [type] $text [文字内容]* @param [type] $font [文字大小]* @param [type] $size [文字画布的宽]* @param [type] $width_f [文字颜色]* @param [type] $red [红]* @param [type] $grn [绿]* @param [type] $blu [蓝]*/function create_text($filename,$text,$font,$size,$width_f,$red,$grn,$blu){$rot = 0; // 旋转角度$width = 0; //宽度$height = 0; //高度$offset_x = 0; //x偏移$offset_y = 0; //y偏移$bounds = array();$text = autowrap($size, 0, $font, $text,$width_f); // 自动换行处理/** [字体大小] [角度] [字体名称] [字符串] [预设宽度] */// 确定边框高度.$bounds = ImageTTFBBox($size, $rot, $font, "W");if ($rot 0) {$font_height = abs($bounds[1]-$bounds[7]);} else {$font_height = abs($bounds[7]-$bounds[1]);}// 确定边框高度.$bounds = ImageTTFBBox($size, $rot, $font, $text);if ($rot 0) {$width = abs($bounds[2]-$bounds[6]);$height = abs($bounds[1]-$bounds[5]);$offset_y = abs($bounds[7]-$bounds[5])+$font_height;$offset_x = abs($bounds[0]-$bounds[6]);} else {$width = abs($bounds[4]-$bounds[6]);$height = abs($bounds[7]-$bounds[1]);$offset_y = $font_height;$offset_x = 0;}$bg = imagecreatetruecolor($width + 20,$height + 20); // 创建画布$color=imagecolorallocatealpha($bg , 0 , 0 , 0 ,127);//拾取一个完全透明的颜色imagealphablending($bg ,false);//关闭混合模式,以便透明颜色能覆盖原画布imagefill($bg , 0 , 0, $color);//填充imagesavealpha($bg ,true);//设置保存PNG时保留透明通道信息$textImg = imagecolorallocate($bg, $red, $grn, $blu); // 创建白色ImageTTFText($bg, $size, 0, 10, $size + 10, $textImg, $font, $text);imagepng($bg,$filename);}/*** 文字自动换行* @param [type] $fontsize [字体大小]* @param [type] $angle [角度]* @param [type] $fontface [字体名称]* @param [type] $string [字符串]* @param [type] $width [预设宽度]*/function autowrap($fontsize, $angle, $fontface, $string, $width) {$cOntent= "";// 将字符串拆分成一个个单字 保存到数组 letter 中preg_match_all("/./u", $string, $arr);$letter = $arr[0];foreach ($letter as $l) {$teststr = $content." ".$l;$testbox = imagettfbbox($fontsize, $angle, $fontface, $teststr);// 判断拼接后的字符串是否超过预设的宽度if (($testbox[2] > $width) && ($content !== "")) {$content .= PHP_EOL;}$content .= $l;}return $content;}
美食推荐源码php,vscode主题包下载,amd显卡 ubuntu,tomcat启动 45,sqlite基本原理,wordpress停用插件,一个前端框架要学多久,2022爬虫需求量大吗,php 会员管理 源码,seo 推广服务发帖,youtube镜像网站2016,网页图片横向滑动,discuz 化龙巷模板lzw