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 相关文章推荐
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
Oct 09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
php实现的CSS更新类实例
Sep 22 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
php简单中奖算法(实例)
Aug 15 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生成EXCEL的东东
2006/10/09 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
php实现websocket实时消息推送
2018/03/30 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
python连接mongodb密码认证实例
2018/10/16 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
python代码区分大小写吗
2020/06/17 Python
python中return如何写
2020/06/18 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
本科毕业生求职信
2014/06/15 职场文书
校庆口号
2014/06/20 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python
详解Python中的进程和线程
2021/06/23 Python
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL