解决PHP剪切缩略图生成png,gif透明图时,黑色背景问题

更新日期: 2018-12-13阅读量: 1851标签: php

本文讲的是php缩放gif和png图透明背景变成黑色的解决方法, 工作中需要缩放一些gif图然后在去Imagecopymerge,可是发现使用了imagecreatetruecolor和imagecopyresampled后发现背景图不对,本来透明的背景图变成了黑色。解决方案有2种:

 

1.背景图填充白色的背景。

$white = imagecolorallocate($dstim,255,255,255);  
imagefilledrectangle($dstim,0,0,$width,$height,$white);  
imagecolortransparent($dstim,$white);


2.设置图片走透明通道。

$img = imagecreatefrompng($src);  
imagesavealpha($img,true);//这里很重要;  
$thumb = imagecreatetruecolor(300,300);  
imagealphablending($thumb,false);//这里很重要,意思是不合并颜色,直接用$img图像颜色替换,包括透明色;  
imagesavealpha($thumb,true);//这里很重要,意思是不要丢了$thumb图像的透明色;  
imagecopyresampled($thumb,$img,0,0,0,0,300,300,300,300);  
imagepng($thumb,"temp.png");


 


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/1580

PHP 页面静态化技术,OB系列函数的使用

PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。

PHP的错误机制总结

我们经常弄混的就是日志问题,以及某些级别的日志为何没有记录到日志中。最主要的是要看error_log,display_errors, log_errors这三个配置,只是在看配置的时候,我们还要注意区分php.ini里面的配置是什么,php-fpm.ini里面的配置是什么

PHP 是 Web 开发最好的语言!

PHP 一直受到全球 Web开发人员的青睐,它为人们提供了创建高度交互性和直观的网站和Web应用程序的良好方式,包括语言的广度、深度,且执行简单。以下五个原因,我们来说明PHP是世界 Web开发的最佳语言

php中isset() 和 empty() 的区别

很多人只想着高深的技术,却连基础知识储备都不过关!一个简单的问题都能被问的发怵,简直可笑!对!说的就是我自己!接下来会一直坚持做一些简单的知识总结。

php类的数据结构;对象的生成;获取和设置成员变量

不管是普通类还是抽象类或是接口,都存放到统一的结构体中,并且在生成中间代码时,会将此类添加到全局类列表中。当然,也是在此时,会通过类名判断该类是否已经存在,如果存在,则添加失败

php面向对象中static静态属性和静态方法的调用

关于它们的调用,需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。

php 守护进程

首先需要解释的是什么是守护进程。守护进程就是在后台一直运行的进程。比如我们启动的httpd,mysqld等进程都是常驻内存内运行的程序。

php获取客户端ip地址或者服务器ip地址

在PHP获取客户端IP时,常使用REMOTE_ADDR,但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用HTTP_X_FORWARDED_FOR

浅谈PHP中pack、unpack的详细用法

PHP中有两个函数pack和unpack,很多PHPer在实际项目中从来没有使用过,甚至也不知道这两个方法是用来干嘛的。这篇文章来为大家介绍一下它俩到底是用来干啥的。

php中require与include的区别

require, include三者都是引入文件,其中require_once,include_once只引入一次,即之前引入过的就不再引入。include与require都是一种语言结构,并非真正的函数。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!