php png失真的原因及解决办法


Posted in PHP onOctober 24, 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&amp;&amp;mysql)三
Oct 09 PHP
用PHP+java实现自动新闻滚动窗口
Oct 09 PHP
mysql 搜索之简单应用
Apr 27 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
PHP URL路由类实例
Nov 12 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
详解php的socket通信
Aug 11 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 #PHP
PHP中多字节字符串操作实例详解
Aug 23 #PHP
PHP使用QR Code生成二维码实例
Jul 07 #PHP
PHP设计模式(观察者模式)
Jul 07 #PHP
eval(cmd)与eval($cmd)的区别与联系
用php如何解决大文件分片上传问题
Jul 07 #PHP
php 文件上传至OSS及删除远程阿里云OSS文件
Jul 04 #PHP
You might like
删除数组元素实用的PHP数组函数
2008/08/18 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
Jquery性能优化详解
2014/05/15 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[00:14]护身甲盾
2019/03/06 DOTA
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
汇科协同Java笔试题
2012/03/31 面试题
预备党员表决心书
2014/03/11 职场文书
体育活动总结范文
2014/05/04 职场文书
辞职信的写法
2015/02/27 职场文书
婚姻出轨保证书
2015/05/08 职场文书
经费申请报告
2015/05/15 职场文书
思想工作总结范文
2015/08/12 职场文书