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 动态执行带有参数的类方法
Apr 10 PHP
PHP 命令行参数详解及应用
May 18 PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
php使用pear_smtp发送邮件
Apr 15 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
May 12 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 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
关于svn冲突的解决方法
2013/06/21 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
德国高尔夫商店:Par71.de
2020/11/29 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
电子商务个人职业生涯规划范文
2014/02/12 职场文书
护士岗位职责
2014/02/16 职场文书
大学毕业寄语大全
2014/04/10 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
团代会闭幕词
2015/01/28 职场文书
五一晚会主持词
2015/07/01 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
《花钟》教学反思
2016/02/17 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers