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的计数器程序
Oct 09 PHP
php smarty函数扩展
Mar 15 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
php中chdir()函数用法实例
Nov 13 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
php curl 上传文件代码实例
Apr 27 PHP
php使用file函数、fseek函数读取大文件效率对比分析
Nov 04 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 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 日常开发小技巧
2009/09/23 PHP
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
php模板原理讲解
2013/11/13 PHP
学习php开源项目的源码指南
2014/12/21 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
深入浅出分析Python装饰器用法
2017/07/28 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
利用python实现逐步回归
2020/02/24 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python 如何创建一个线程池
2020/07/28 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
参观考察邀请函范文
2014/01/29 职场文书
节能减排倡议书
2014/04/15 职场文书
企业标语口号
2014/06/10 职场文书
音乐教师求职信范文
2015/03/20 职场文书