热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php原生图片合成和文字生成图片

php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释生成图片图片合成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

推荐阅读
  • 用PHP连接MySQL代码的参数说明【PHP】
    后端开发|php教程PHP,连接,MySQL,参数后端开发-php教程代码是这样的:大图标网站源码,怎么在vscode中调试css,ubuntu退出命令行,系统默认开tomcat, ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • Php怎么编写乘法表
    后端开发|PHP问题php,乘法表后端开发-PHP问题传世登陆器源码,vscode设置字号,ubuntu系统创建不了文件,tomcat配置修改,sqlite怎么调中文,海洋采集插件 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • ORACLE空间管理实验5:块管理之ASSM下高水位的影响
    数据库|mysql教程ORACLE,空间,管理,实验,ASSM,下高,水位,影响,数据库-mysql教程易语言黑客软件源码,vscode左侧搜索,ubuntu怎么看上一页,ecs搭 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 旁路|发生_Day749.旁路缓存:Redis是如何工作的Redis 核心技术与实战
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Day749.旁路缓存:Redis是如何工作的-Redis核心技术与实战相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 电脑f5键是什么作用
    常见问题f5常见问题韩亚整形医院源码,vscode写前端代码,ubuntu低配,tomcat下载路径乱码,爬虫_gscu,php精粹pdf,广州快速seo优化排名,aspwap网站 ... [详细]
author-avatar
way旧光影
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有