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与javascript对多项选择的处理
Oct 09 PHP
在线增减.htpasswd内的用户
Oct 09 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
php 日期时间处理函数小结
Dec 18 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php数组的一些常见操作汇总
Jul 17 PHP
Zend Framework中的简单工厂模式 图文
Jul 10 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
PHP图片加水印实现方法
May 06 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 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
php getsiteurl()函数
2009/09/05 PHP
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
PHP生成短网址的3种方法代码实例
2014/07/08 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
JavaScript如何从listbox里同时删除多个项目
2013/10/12 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
jQuery代码优化方法总结
2018/01/29 jQuery
详解React中setState回调函数
2018/06/14 Javascript
Vue中props的使用详解
2018/06/15 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
利用python脚本如何简化jar操作命令
2019/02/24 Python
Django框架 querySet功能解析
2019/09/04 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
Python中bisect的用法及示例详解
2020/07/20 Python
Linux上比较文件的命令都有哪些
2012/02/24 面试题
十八大报告观后感
2014/01/28 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
德生BCL3000抢先使用感受和评价
2022/04/07 无线电