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 相关文章推荐
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHP内存使用情况如何获取
Oct 10 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 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的session cookie错误
2009/08/09 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
php pdo操作数据库示例
2017/03/10 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
js DOM模型操作
2009/12/28 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
跟我学习javascript的闭包
2015/11/16 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
python对DICOM图像的读取方法详解
2017/07/17 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
遗传算法之Python实现代码
2017/10/10 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
医学专业毕业生个人求职信
2013/12/25 职场文书
九年级化学教学反思
2014/01/28 职场文书
安踏广告词改编版
2014/03/21 职场文书
求职信结尾怎么写
2014/05/26 职场文书
毕业生找工作求职信
2014/08/05 职场文书
党员志愿者活动方案
2014/08/28 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
九不准学习心得体会
2016/01/23 职场文书
python编写函数注意事项总结
2021/03/29 Python
理解深度学习之深度学习简介
2021/04/14 Python
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers