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语法(3)
Oct 09 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
php define的第二个参数使用方法
Nov 04 PHP
PHP 导出Excel示例分享
Aug 18 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
PHP类的封装与继承详解
Sep 29 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
php分页查询的简单实现代码
Mar 14 PHP
Laravel实现短信注册的示例代码
May 29 PHP
PHP设计模式之简单工厂和工厂模式实例分析
Mar 25 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
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
YII框架常用技巧总结
2019/04/27 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
浅析node.js中close事件
2014/11/26 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
python实现发送邮件功能代码
2017/12/14 Python
python实现证件照换底功能
2019/08/20 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
python 项目目录结构设置
2020/02/14 Python
Python如何将模块打包并发布
2020/08/30 Python
python -v 报错问题的解决方法
2020/09/15 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
大学生入党思想汇报
2014/01/01 职场文书
岗位说明书怎么写
2014/07/30 职场文书
新党章心得体会
2014/09/04 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP