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 相关文章推荐
开发大型 PHP 项目的方法
Jan 02 PHP
PHP HTML代码串 截取实现代码
Jun 29 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php中数组首字符过滤功能代码
Jul 31 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
php生成随机数的三种方法
Sep 10 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 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原创论坛
2006/10/09 PHP
解析php入库和出库
2013/06/25 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
python的正则表达式re模块的常用方法
2013/03/09 Python
vc6编写python扩展的方法分享
2014/01/17 Python
python套接字流重定向实例汇总
2016/03/03 Python
python实现连续图文识别
2018/12/18 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
Python while true实现爬虫定时任务
2020/06/08 Python
Python eval函数原理及用法解析
2020/11/14 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
大学生蛋糕店创业计划书
2014/01/13 职场文书
工作个人的自我评价
2014/01/14 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
会计专业自荐信
2014/06/03 职场文书
交通事故委托书范本
2014/09/28 职场文书
工作后的感想
2015/08/07 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书