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 相关文章推荐
玩转图像函数库―常见图形操作
Sep 03 PHP
php 无限分类的树类代码
Dec 03 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
Feb 27 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
Jul 08 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
php json相关函数用法示例
Mar 28 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
PHP实现验证码校验功能
Nov 16 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 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
8个必备的PHP功能实例代码
2013/10/27 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
Joomla开启SEF的方法
2016/05/04 PHP
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
python 排列组合之itertools
2013/03/20 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python中super()函数简介及用法分享
2016/07/11 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
Python实现的简单计算器功能详解
2018/08/25 Python
python 异或加密字符串的实例
2018/10/14 Python
python numpy元素的区间查找方法
2018/11/14 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
财务与信息服务专业推荐信
2013/11/28 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
电力工程合作意向书
2015/05/11 职场文书
学校团代会开幕词
2016/03/04 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫