php png失真的原因及解决办法


Posted in PHP onNovember 17, 2021

1、创建一个PHP示例文件。

2、创建一个和背景图片一样大小的真彩色画布。

3、复制背景图片。

4、通过“imagecreatefrompng”合成png图片即可。

实例

<?php
    ob_clean();
    $bg = "image1.png";
    $image_1 = imagecreatefrompng($bg);
    $bgx = imagesx($image_1);
    $bgy = imagesy($image_1);
    //创建一个和背景图片一样大小的真彩色画布(ps:只有这样才能保证后面copy图片的时候不会失真)
    $bgimage = imageCreatetruecolor($bgx,$bgy);
    imagesavealpha($bgimage, true);//保持透明
    imagealphablending($bgimage, true);//混色模式
    $alpha = imagecolorallocatealpha($bgimage, 0, 0, 0, 127);//透明
    imagefill($bgimage, 0, 0, $alpha);
    //copy背景图片
    imagecopyresampled($bgimage,$image_1,0,0,0,0,$bgx,$bgy,$bgx,$bgy);
    $fontColor = imagecolorallocate($bgimage,0x33,0x33,0x33);
    $image_2 = imagecreatefrompng( "image2.png");
    //合成图片2
    imagecopyresampled($bgimage, $image_2, 100, 100, 0, 0, 40, 40, imagesx($image_2) , imagesy($image_2));
    //文字
    $textLen = mb_strlen($text1);
    $fontSize  = 20;
    $fontWidth = imagefontwidth($fontSize)*3;//不知为什么,实测如此
    $textWidth = $fontWidth * mb_strlen($text1);
    $textx = ceil ( ($bgx - $textWidth) / 2 );
    imageTTFText($bgimage, $fontSize, 0, $textx, 450, $fontColor, $font , $text1);
    $result = imagepng($bgimage,"newimage.png");
    imagedestroy($bgimage);
    imagedestroy($qrcode);

更多相关解决方法

PHP解决合并图片失真问题

$ni = imagecreatetruecolor($toW,$toH); //创建真彩色图片
$bg_x = (($toW-$ftoW)/2);
$bg_y = (($toH-$ftoH)/2);
$color=imagecolorallocate($ni,255,255,255); //创建颜色
imagefill($ni, 0, 0, $color); //设置白底
imagecopy($ni,$tm,$bg_x,$bg_y,0,0,$ftoW,$ftoH); //合并图片
imagedestroy($tm);

到此这篇关于php png失真的原因及解决办法的文章就介绍到这了,更多相关php png失真的解决方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
php whois查询API制作方法
Jun 23 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
ThinkPHP表单令牌错误的相关解决方法分析
May 20 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 PHP
php去除deprecated的实例方法
Nov 17 PHP
php实例化对象的实例方法
Nov 17 #PHP
php访问对象中的成员的实例方法
Nov 17 #PHP
php实现自动生成验证码的实例讲解
Nov 17 #PHP
php将xml转化对象的实例详解
Nov 17 #PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 #PHP
php png失真的原因及解决办法
Oct 24 #PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 #PHP
You might like
星际争霸任务指南——人族
2020/03/04 星际争霸
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
php设计模式之委托模式
2016/02/13 PHP
PHP反射基础知识回顾
2020/09/10 PHP
JavaScript延迟加载
2021/03/09 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
javascript的内存管理详解
2013/08/07 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
Python开发编码规范
2006/09/08 Python
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
pandas分区间,算频率的实例
2019/07/04 Python
pandas-resample按时间聚合实例
2019/12/27 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
Prototype如何更新局部页面
2013/03/03 面试题
办公室综合文员岗位职责范本
2014/02/13 职场文书
新闻编辑求职信
2014/07/13 职场文书
学校师德师风整改方案
2014/10/28 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python