首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP和gdlib将颜色转换为透明

使用PHP和gdlib将颜色转换为透明
EN

Stack Overflow用户
提问于 2012-09-02 20:51:29
回答 1查看 543关注 0票数 1

我尝试使用php gdlib将现有图像中的灰色(rgb: 235,235,240)转换为透明。

这是我使用的代码:

代码语言:javascript
复制
<?php
header("Content-type:image/png");
$picture = imagecreatefrompng("test.png");
$grey = imagecolorallocate($picture, 235, 235, 240);
imagecolortransparent($picture, $grey);
imagepng($picture);
imagedestroy($picture, "newpicture.png");
?>

当test.png上有很多不同的颜色时,这段代码将无法工作。否则,当test.png上只有少量颜色时,此代码可以完美地工作。为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-03 00:12:15

它不起作用,因为您没有将修改后的图片保存到磁盘。

您当前的代码:

代码语言:javascript
复制
imagepng($picture);

会将修改后的图片发送到浏览器,但您也会输出HTML代码:

代码语言:javascript
复制
<img src="mytest.png" />

这样修改你的代码:

代码语言:javascript
复制
imagepng($picture, 'mytest.png'); // save the picture to disk

然后,您的HTML代码将显示修改后的图片。

查看文档:imagepng

您必须使用此行将灰色存储到$grey

代码语言:javascript
复制
$grey = imagecolorallocate($picture, 235, 235, 240);

imagecolorresolve做的是完全不同的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12236105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档