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 相关文章推荐
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
CI框架入门示例之数据库取数据完整实现方法
Nov 05 PHP
Yii清理缓存的方法
Jan 06 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
php cookie 详解使用实例
Nov 03 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
PHP利用百度ai实现文本和图片审核
May 08 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
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
onpropertypchange
2006/07/01 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
如何写好自荐信
2014/04/07 职场文书
新品发布会策划方案
2014/06/08 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
2014年个人总结范文
2015/03/09 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python