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 相关文章推荐
风格模板初级不完全修改教程
Oct 09 PHP
封装一个PDO数据库操作类代码
Sep 09 PHP
php下将XML转换为数组
Jan 01 PHP
php empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
PHP排序之二维数组的按照字母排序实现代码
Aug 13 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
php伪静态之APACHE篇
Jun 02 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
Jul 25 PHP
php微信公众平台开发之微信群发信息
Sep 13 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 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
YII实现分页的方法
2014/07/09 PHP
php实现的CSS更新类实例
2014/09/22 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
greybox——不开新窗口看新的网页
2007/02/20 Javascript
javascript this用法小结
2008/12/19 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Django框架安装方法图文详解
2019/11/04 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
公积金单位接收函
2014/01/11 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
贷款担保书
2015/01/20 职场文书
财政局长个人总结
2015/03/04 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL