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 相关文章推荐
怎样在UNIX系统下安装php3
Oct 09 PHP
通过具体程序来理解PHP里面的抽象类
Jan 28 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
codeigniter框架批量插入数据
Jan 09 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
php实现URL加密解密的方法
Nov 17 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
php实现文章评论系统
Feb 18 PHP
php使用pecl方式安装扩展操作示例
Aug 12 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
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
传智播客学习之java 反射
2009/11/22 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
深入解析Python中函数的参数与作用域
2016/03/20 Python
JSON Web Tokens的实现原理
2017/04/02 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
通过python爬虫赚钱的方法
2019/01/29 Python
详解python中@的用法
2019/03/27 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
python 一维二维插值实例
2020/04/22 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
python 如何在测试中使用 Mock
2021/03/01 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
岗位职责定义及内容
2013/11/08 职场文书
志愿者活动总结范文
2014/04/26 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
一年级小学生评语大全
2014/12/25 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android