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 相关文章推荐
简单的移动设备检测PHP脚本代码
Feb 19 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
php探针不显示内存解决方法
Sep 17 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP速成大法
2015/01/30 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
python查看模块,对象的函数方法
2018/10/16 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
携程英文网站:Trip.com
2017/02/07 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
运动会广播稿20字
2014/02/18 职场文书
工作会议主持词
2014/03/17 职场文书
海飞丝的广告词
2014/03/20 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
婚礼新人答谢词
2015/01/04 职场文书
2015年考研复习计划
2015/01/19 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
用python画城市轮播地图
2021/05/28 Python