-
2021-04-13 13:46:06
PHP图象处理之透明背景的gif和png图片的一些问题
1,直接读取有透明背景的PNG格式文件,然后直接输出,背景变成了黑色,gif则没有这种情况。
解决方法:使用
imagesavealpha ($image,
true),此函数是针对png格式的.
$im=imagecreatefrompng("demo_1.png");
imagesavealpha($im,
true);//设置标记以在保存 PNG 图像时保存完整的 alpha
通道信息。
header(‘Content-type:
image/png‘);
imagepng($im);
imagedestroy($im);
?>
注意一点:不是所有的浏览器都支持
alpha 通道,如果在你的浏览器上碰到问题,试着用兼容 alpha 通道的浏览器(例如最新版的
Mozilla)重新加载脚本。
经测试,在IE中显示效果不理想(但图片仍然是透明的,保存下来看下就知道),背景变成了灰色.
2,在处理(比如缩小,剪切)有透明背景的gif和png图片然后输出时,图片透明部分变成了黑色。
示例代码如下:
$size
= 300;
$image=imagecreatetruecolor($size,
$size);//创建图片
$back =imagecolorallocatealpha($image, 255, 255,
255,127);//加透明颜色,其实好象没什么效果。-_-!
//读取图片
$im=imagecreatefrompng("demo_1.png");
imagecopyresampled($image,$im,10,20,0,0,128,128,128,128);//合拼图片
header(‘Content-type:
image/png‘);
imagepng($image);
imagedestroy($image);
?>
效果是图片背景变成了黑色。
解决办法:使用imagecreate()而不是用imagecreatetruecolor()创建图片。
因为imagecreatetruecolor()返回一个图像标识符,代表了一幅大小为
x_size 和 y_size 的黑色图像,
看下帮助手册就知道了。
但这种方法仍然有bug,用于png时,png有部分颜色失去,变成了透明。
解决办法:未知,有知道的告诉我一声,在下先谢谢了。
3.php生产透明背景图片
$wite =
ImageColorAllocate($ni,255,255,255);//填充的背景色你可以重新指定,我用的是白色
imagefilledrectangle($ni,
0, 0, $dstW, $dstH, $wite);
ImageColorTransparent($ni, $wite);
不过现在的方法还不是太理想。继续整理中~~~~
更多相关内容 -
php 截取图片 透明背景且超出后无黑边
2021-11-16 19:44:54php 截取图片并设置背景为透明背景图 public function cutImg($target_width,$target_height,$source_x,$source_y,$source_path) { $source_info = getimagesize($source_path); //获取图像信息 $source_mime =...php 截取图片并设置背景为透明背景图
public function cutImg($target_width,$target_height,$source_x,$source_y,$source_path) { $source_info = getimagesize($source_path); //获取图像信息 $source_mime = $source_info['mime']; // 文件类型 $cropped_width = $target_width; //截取的宽 $cropped_height = $target_height; //截取的高 switch ($source_mime) { case 'image/gif': $source_image = imagecreatefromgif($source_path); break; case 'image/jpeg': $source_image = imagecreatefromjpeg($source_path); break; case 'image/png': $source_image = imagecreatefrompng($source_path); break; default: return false; break; } imagesavealpha($source_image, true); // 保留源图片透明度 $cropped_image = imagecreatetruecolor($cropped_width, $cropped_height); $color=imagecolorallocatealpha($cropped_image,0,0,0,127); //创建颜色 imagefill($cropped_image, 0, 0, $color); //设置白底 // 裁剪 imagecopy($cropped_image, $source_image, 0, 0, $source_x, $source_y, $cropped_width,$cropped_height); $alpha = imagecolorallocatealpha($cropped_image, 0, 0, 0, 127);//透明 imagecolortransparent($cropped_image,$alpha); //3.设置透明色 imagefill($cropped_image, 0, 0, $alpha); //保存图片到本地 $res = imagepng($cropped_image,'a.png'); }
-
php 图片上添加透明度渐变的效果
2020-12-18 05:29:32php ////$strimgsrc = file_get_contents(“http://127.0.0.1/5307754.jpg”); ////$imgsrc = imagecreatefromstring($strimgsrc); $imgsrc = imagecreatefromjpeg(“5307754.jpg”); $imgsrcw = imagesx($... -
css怎样设置背景透明
2021-04-24 17:47:58css设置背景透明的方法:首先新建文件,在div写上对应的样式;然后为div添加opacity样式,透明效果实现了,父div的背景图可以投射出来。本教程操作环境:windows7系统、css3版,DELL G3电脑。css设置透明背景的方法...css设置背景透明的方法:首先新建文件,在div写上对应的样式;然后为div添加opacity样式,透明效果实现了,父div的背景图可以投射出来。
本教程操作环境:windows7系统、css3版,DELL G3电脑。
css设置透明背景的方法:
1、先写些测试代码,测试HTML很简单,就是二个div,一个嵌套在另一个里面,代码如图。
2、然后为二个div写上对应的样式,如图,都是一些比较基础的css代码,为了显示透明效果,我们在样式为p1的div里,添加了一张背景图。
3、先看下还没添加透明效果的页面。
4、要添加透明效果,我们可以为div添加opacity样式,这是css2的做法,代码如图,添加了一个样式规则.opacity,并在p2 div里加上这个样式名
5、看下设置了透明效果的页面。
透明效果是实现了,父div的背景图可以投射出来。但有一个缺陷,就是div上的文字变模糊了,因为也有了透明效果。
相关学习推荐:css教程
-
css怎么设置背景图片的透明度
2021-04-19 01:30:49css设置背景图片的透明度的方法:可以利用opacity属性来进行设置,如【opacity: value|inherit;】。value规定不透明度,inherit规定从父元素继承opacity属性的值。属性介绍:opacity 属性设置元素的不透明级别。...css设置背景图片的透明度的方法:可以利用opacity属性来进行设置,如【opacity: value|inherit;】。value规定不透明度,inherit规定从父元素继承opacity属性的值。
属性介绍:
opacity 属性设置元素的不透明级别。
(学习视频分享:css视频教程)
语法:opacity: value|inherit;
属性值:
value 规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。
inherit 应该从父元素继承 opacity 属性的值。
示例:
提示:CSS 中无法直接给背景图片加 opacity 属性,可以使用下面的方法绕过这个限制。div {
width: 200px;
height: 200px;
display: block;
position: relative;
}
div::after {
content: "";
background: url(image.jpg);
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
}
相关推荐:CSS教程
-
css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍
2021-04-13 13:53:41在网页布局中有时为了网页的整体美观,可能需要将网页中的某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?本篇文章就来给大家介绍一下css设置背景颜色透明的方法。在css中设置背景颜色透明的方法有两种:... -
PHP裁剪图片且保留背景透明
2021-03-18 11:35:28PHP裁剪图片用到的函数是: imagecopyresampled( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h ) dst_... -
css实现背景图片半透明内容不透明代码分享
2021-04-19 01:30:48最近做一个登陆界面的,突然想使用这种背景图片透明,而内容不透明的效果,这里我就说一说我的两个思路吧。效果展示半透明不透明常见的失败做法最常见的做法事设置元素的opacity,这种设置出来的效果就是内容与背景都... -
PHP按原比率缩小图片并保留透明背景
2021-04-30 06:12:54按原等比率缩小,如果原图是透明的,处理后依旧保留透明/***重置图片文件大小*@paramstring$filePath文件路径*@paramint$xmax最大宽度*@paramint$ymax最大高度*@returnbooleantrue/false*/... -
如何使用CSS实现背景图像透明
2021-06-13 15:13:19CSS实现背景图像透明需要用到的属性是opacity属性,但是在有文字的情况下,为了防止文字透明我们需要将元素分开。CSS中实现背景图像透明的属性是opacity属性,但是,如果你使用它来创建带有文本的内容的话,你就会... -
PHP怎么把一张图片透明化
2021-03-24 08:51:11PHP怎么把一张图片透明化?具体问题:把一张图片(根据指定的RGB颜色范围)透明化。但是实际处理当中,下面的代码值移除了白色,请教是怎么回事?$o_pic = '1.jpg';//要处理的色阶起始值$begin_r = 215;$begin_g = 215... -
纯css实现背景图片半透明,内容不透明
2018-03-12 15:41:38最近做一个登陆界面的,突然想使用这种背景图片透明,而内容不透明的效果,这里我就说一说我的两个思路吧。 效果展示 半透明 不透明 常见的失败做法 最常见的做法事设置元素的opacity,这种设置出来的效果... -
css如何设置透明背景
2021-04-30 00:37:55最后把值设置到css上,并且设置透明度即可,代码为【background-color:rgba(220,38,38,0.2);}】。本教程操作环境:windows7系统、css3版,DELL G3电脑。css设置透明背景的方法:1、获取你想要颜色值。2、把RBG值转换... -
PHP添加PNG图片背景透明水印操作类定义与用法示例
2021-03-25 11:05:07本文实例讲述了PHP添加PNG图片背景透明水印操作类定义与用法。分享给大家供大家参考,具体如下:图片相关操作类class ImageTool{private $imagePath;//图片路径private $outputDir;//输出文件夹public $memoryImg;//... -
利用css实现背景透明和文字不透明效果汇总
2021-07-01 00:37:15有时候经常会用到背景图上放一些文字介绍,需要有背景图片透明而文字不透明的效果。下面章节的内容我们就来说一说利用css来实现背景图片透明而文字不透明效果。背景透明和文字不透明效果1. 用CSS实现背景图片透明而... -
css如何使用opacity属性给背景图片加透明度(代码)
2021-04-19 01:30:51本篇文章给大家带来的内容是关于css如何使用opacity属性给背景图片加透明度(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。CSS 中无法直接给背景图片加 opacity 属性,可以使用下面的方法... -
ImageRotate()中的背景透明度
2021-04-22 07:57:21从上两天开始,我尝试在使用imageRotate()php-gd函数旋转图像后向背景添加transperancy。但是,令我非常失望的是,它根本不起作用。它只是在它的后面发出一个黑色的背景。这是我的密码-$patchImageS = 'image.png'; // ... -
如何在PHP中使用Imagick检查图像是否具有透明度
2021-03-24 08:42:56你可能会想验证图像是否具有透明度的第一件事就是验证文件的格式。支持透明的栅格文件格式为GIF, PNG, BMP, TIFF和JPEG 2000, 可通过透明颜色或alpha通道进行。但是, 就像它们可以具有透明度一样, 它们可能也没有。... -
css透明度怎么设置?三种css图片透明度的设置方法
2021-04-19 01:19:18css透明度的设置在网页的设计中是...今天这篇文章就来给大家分享css中图片透明度的设置方法。css中与设置透明效果相关的属性有两个:opacity和rgba。(推荐视频课程:css教程)下面我们就用这两个属性来分别设置图片透... -
html图片怎么设置透明度
2021-06-17 03:55:34”等属性设置图片透明度即可。本文操作环境:windows7系统、HTML5&&CSS3版、Dell G3电脑。关于设置背景图片的透明度(html+css)设置背景图片的透明度,而不是颜色这种,是图片显示这个就跟某些博客能够换背景... -
php处理png透明背景的图片问题
2019-12-27 15:47:56php处理png透明背景的图片问题直接读取有透明背景的PNG格式文件图片透明部分变成了黑色php生成透明背景图片处理透明的3个必须了解的函数imagealphablendingimagecolorallocatealphaimagesavealpha 直接读取有透明... -
2020-05-19 php实现透明png多图合成
2021-03-24 12:02:10图片合成的流程一般是,获取图像资源...所以需要用imagesavealpha()进行图像处理,得到包含有透明背景的图像。//原始图像$dst = "img/1.png";//得到原始图片信息$dst_im = imagecreatefrompng($dst);imagesavealph... -
php – imagecreatefrompng()使一个黑色的背景,而不是透明?
2021-04-29 09:33:33我使用PHP和GD库缩略图,但我的代码将png透明度变成一个纯黑色,是否有解决方案来改善我的代码?这是我的php缩略图制造商代码:function cropImage($nw, $nh, $source, $stype, $dest) {$size = getimagesize($... -
php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明
2021-04-24 17:30:10php有一款插件叫做imagemagick,功能很强大,提供了图片的很多操作,图片剪切、压缩、合并、插入文本、背景色透明等。并且有api方法调用和命令行操作两种方式,如果只是简单处理的话建议api方法调用,如果是很复杂的... -
话说半透明文本框!(不透明度可以任意调节,可以实现全透明)
2021-04-14 01:44:53该楼层疑似违规已被系统折叠隐藏此楼查看此楼我以前曾经问过大家半透明对话框怎么做,后来一直没有找到答案。直到有一天,云霞散人告诉了我一个api函数。。。好吧,我承认,我说的这个不是半透明“文本框”,而是半... -
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2021-04-30 03:52:08. 代码如下://原始图像$dst = "/upload/... //注意图片路径要正确//得到原始图片信息$dst_info = getimagesize($dst);switch ($dst_info[2]){case 1:$dst_im =imagecreatefromgif($dst);break;case 2:$dst_im =im... -
在PHP中使用透明度合并两个图像
2021-04-12 14:17:32我试图通过php用背景透明度制作几个.png的合成图像,并将得到的图像存储在我的数据库中.我的问题是,当合并图像时,我的图像的透明部分被丢弃.这是我创建合成图像的代码:$base = imagecreatefrompng('application/... -
html登录界面开源(视频背景、图片背景)
2020-04-26 14:46:53后端还是用的PHP Session进行身份认证 jQuery进行ajax交互 其中用了一些CSS的动画 主要的JavaScript还是用的原生写 (jQuery用的不太熟其次是 好给没学框架的小白们借鉴写法)