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 相关文章推荐
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
php根据生日计算年龄的方法
Jul 13 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
解决laravel session失效的问题
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构造函数实例讲解
2013/11/13 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
JavaScript 数组详解
2013/10/10 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
vue实现城市列表选择功能
2018/07/16 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
python自动安装pip
2014/04/24 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
django框架自定义用户表操作示例
2018/08/07 Python
python绘制漏斗图步骤详解
2019/03/04 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
使用Python发现隐藏的wifi
2020/03/04 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
财务人员个人自荐信范文
2013/09/26 职场文书
农民入党思想汇报
2014/01/03 职场文书
企业新年寄语
2014/04/04 职场文书
爱护公物演讲稿
2014/09/09 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
如何写辞职书
2015/02/26 职场文书
2015年少先队活动总结
2015/03/25 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python