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 相关文章推荐
介绍几个array库的新函数 php
Dec 29 PHP
php str_pad 函数用法简介
Jul 11 PHP
PHP中将数组转成XML格式的实现代码
Aug 08 PHP
php 中英文语言转换类
Sep 07 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
Nov 07 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
PHP合并静态文件详解
Nov 14 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
Python实现八大排序算法
2016/08/13 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python笔记之facade模式
2019/11/20 Python
某公司.Net方向面试题
2014/04/24 面试题
高一学生评语大全
2014/04/25 职场文书
羽毛球比赛策划方案
2014/06/13 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
南京南京观后感
2015/06/02 职场文书
消夏晚会主持词
2015/06/30 职场文书
主婚人致辞精选
2015/07/28 职场文书
2016大一新生军训感言
2015/12/08 职场文书
节水宣传标语口号
2015/12/26 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书