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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
第十四节--命名空间
Nov 16 PHP
PHP __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
ThinkPHP采用原生query实现关联查询left join实例
Dec 02 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
PHP 无限级分类
May 04 PHP
PHP中的函数声明与使用详解
May 27 PHP
PDO::inTransaction讲解
Jan 28 PHP
Laravel手动返回错误码示例
Oct 22 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有道翻译api调用方法实例
2014/12/22 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
jquery select操作的日期联动实现代码
2009/12/06 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
python list使用示例 list中找连续的数字
2014/01/27 Python
Python操作Excel之xlsx文件
2017/03/24 Python
Python科学画图代码分享
2017/11/29 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
python爬取招聘要求等信息实例
2020/11/20 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
巧克力蛋糕店创业计划书
2014/01/14 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis