返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php png失真的原因及解决办法
  • 786
分享到

php png失真的原因及解决办法

2024-04-02 19:04:59 786人浏览 薄情痞子
摘要

1、创建一个PHP示例文件。 2、创建一个和背景图片一样大小的真彩色画布。 3、复制背景图片。 4、通过“imagecreatefrompng”合成png图片即可。 实例 <

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失真的解决方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: php png失真的原因及解决办法

本文链接: https://lsjlt.com/news/155281.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php png失真的原因及解决办法
    1、创建一个PHP示例文件。 2、创建一个和背景图片一样大小的真彩色画布。 3、复制背景图片。 4、通过“imagecreatefrompng”合成png图片即可。 实例 <...
    99+
    2024-04-02
  • Session 失效的原因汇总及解决丢失办法
    Session 失效是指在一定时间内没有用户的操作或者用户关闭了浏览器,导致服务器端的 Session 超时或者被销毁。以下是一些常...
    99+
    2023-08-16
    Session
  • php直接执行文件失败的原因及解决办法
    近年来,PHP一直是开发者们的首选,它不仅易于学习,而且处理效率高、可靠性好,是编写Web应用程序的最佳选择之一。但是,有时候我们可能会遇到一些问题,比如说直接执行PHP文件失败。接下来,本文将会介绍一些常见的原因及解决方法。第一种原因是没...
    99+
    2023-05-14
  • 粘性定位失效原因及解决办法
    为何粘性定位会出现失效情况?解析与解决方案 一、引言 粘性定位(sticky positioning)是一种常见的前端页面布局技术,它让元素可以在滚动时“粘”在页面上的特定位置。这种定位方式在实际开发中经常用于实现导航栏、工具栏...
    99+
    2024-01-29
    left
  • 分析Git认证失败的原因及解决办法
    前言Git是目前最主流的代码管理和版本控制工具之一,在企业和开源社区广泛使用。在使用 Git 进行代码管理时,可能会遇到 Git 认证失败的问题。本文将分析Git认证失败的原因及可能的解决方法。一、Git认证失败的原因1.凭证缓存失效在使用...
    99+
    2023-10-22
  • MongoDB连接本地失败的原因及解决办法
    目录MongoDB连接本地失败解决办法错误原因解决办法在mongodb目录中新建一个data文件夹(如果有就不用建)进入data文件夹,建立db和log两个文件夹(如果有就不用新建)打开CMD,进入到mongodb 的 ...
    99+
    2023-05-15
    MongoDB连接本地失败 MongoDB连接失败
  • Discuz登录失败可能的原因及解决办法
    Discuz登录失败可能的原因及解决办法 在Discuz论坛系统中,登录失败是一个常见的问题,可能由多种原因引起。本文将探讨一些常见的登录失败原因,以及针对这些原因的解决办法,并提供具...
    99+
    2024-03-09
    解决方法 原因分析
  • PHP函数__autoload失效原因及解决方法
    1、利用sprintf()函数来格式化,语法“sprintf("%.小数位数f",$num)”。 <?php header("Content-type:text/h...
    99+
    2024-04-02
  • Windows缓存写入失败的原因以及解决办法
    无法为该文件保存数据,这可能是因为你的网络连接错误或计算机硬件造成,请另保存数据。 关闭以后还会弹出类似对话框,都是system32下的文件,好象很多是*.log文件,系统无法启动,但重新插拔内存后故障消失。 故障分析W...
    99+
    2023-05-25
    缓存写入失败 原因 解决办法 Windows
  • java.lang.NoSuchMethodError异常原因及解决办法
    java.lang.NoSuchMethodError异常原因及解决办法 第一种简单的情况就是本类中需要调用的方法名称错误,这种情况就需要去检查方法名称是否正确,避免调用的方法和本类中的有相同的名称...
    99+
    2023-09-01
    java 开发语言
  • WebsocketClient断线原因及解决办法
    WebSocketClient在连接时可能会因为多种原因导致断线,以下是一些常见的原因: 网络连接问题:WebSocketClient依赖于网络连接,如果网络连接不稳定或出现故障,可能会导致WebSocketClient断线。 服务器问...
    99+
    2023-08-20
    java 开发语言 websocket
  • Win预览版10049安装失败原因及解决办法
    Win预览版10049安装失败解决办法。微软公司向选择了“快速更新”(Fast Ring)通道的Windows Insider参与者们推出了自带Spartan浏览器的Windows 10 Buil...
    99+
    2023-06-13
    Win 预览版 10049 安装失败 原因 解决办法 预览
  • ORA-28000错误的原因及解决办法
    当用Oracle数据库的时候,Oracle数据库时提示“ORA-28000:帐号被锁定”。 导致出现改错误的原因是:在oracle database 11g中,默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS...
    99+
    2023-08-17
    oracle 数据库 java liunx linux
  • PHP mb_substr 函数失效的原因及解决方案
    PHP mb_substr 函数失效的原因及解决方案 在使用PHP开发或编写程序的过程中,经常会遇到需要截取字符串的情况。PHP中提供了许多字符串处理函数,其中mb_substr函数是...
    99+
    2024-04-02
  • java安装失败的原因及解决方法
    解决方法:下载的JDK环境,必须与自己的操作系统相对应。32位操作系统下载32位的Windows JDK环境,64位操作系统下载64位的Windows JDK环境。安装JDK环境时,会有两次路径选择,可以默认不改,如果自定义路径的话,前一个...
    99+
    2018-07-02
    java入门 java 安装 失败 原因 解决方法
  • 阿里云服务器FTP上传失败的原因及解决办法
    在进行阿里云服务器FTP上传文件时,可能会遇到上传失败的问题。本篇文章将分析阿里云服务器FTP上传失败的原因,并给出相应的解决办法。 阿里云服务器FTP上传失败可能由多种原因造成,下面将分别分析。FTP服务器地址错误如果FTP服务器地址输入...
    99+
    2023-11-06
    阿里 解决办法 原因
  • Oracle用户被锁的原因及解决办法
    在登陆时被告知test用户被锁 1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间 SQL> alter session set nls_date_format='yyyy...
    99+
    2024-04-02
  • 端口被占用的原因及解决办法
    运行软件或者项目的时候,出现以下问题: panic: blademaster: listen tcp: 0.0.0.0:8080: listen tcp 0.0.0.0:8080: bind: An attempt was made t...
    99+
    2023-09-11
    网络 服务器 tcp/ip windows
  • MySQL 丢失数据的原因及解决
    前言 最近偶尔会收到用户反馈数据不见了,数据丢失了的问题。从现象上来看,这类问题在数据库层面就是紧急程度最高的那一类了,抛开客观条件来说,针对这一类问题的恢复手段几乎只有备份恢复+回放 Binlog,耗时一般比较久...
    99+
    2022-05-12
    MySQL 丢失数据 MySQL 丢失数据解决
  • 阿里云服务器MySQL登录失败原因及解决办法
    在使用阿里云服务器运行MySQL数据库时,可能会遇到MySQL登录失败的问题。本文将详细介绍导致MySQL登录失败的原因,并提供相应的解决办法。 确认MySQL服务是否开启在阿里云服务器上,MySQL服务通常是自动开启的,但有时可能会因为网...
    99+
    2023-12-17
    阿里 解决办法 原因
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作