使用PHP更改图像的颜色

时间:2014-07-25 19:56:06

标签: php

我有这样一张照片:https://cdn3.iconfinder.com/data/icons/internet-and-web-4/78/internt_web_technology-08-512.png,我想改变图像,用我提供的颜色切换那种黑色。我能这样做吗?

1 个答案:

答案 0 :(得分:0)

这是PHP中一个简单的GD示例,可以帮助您入门。在浏览器中查看它会向您显示该图像的红色版本。您需要将原始PNG文件放在同一目录中。

请记住,GD和其他图像处理(尤其是透明图像)是非常复杂的主题;有很多东西要学习并经历一些基本的教程,即使它们似乎与你想要达到的目标没有直接关系,也可能真的有助于你理解。

<?php

// Load the image into $img
$img = imagecreatefrompng('internt_web_technology-08-512.png');

// Because your chosen image has transparency, we need to make sure
// we save the alpha channel information.
imageSaveAlpha($img, true);

// Filter the image to mid-red (RGB values 127, 0, 0) using the
// "colourize" filter. This works nicely with your chosen image
// because it's a shape with a uniform dark colour.
imagefilter($img, IMG_FILTER_COLORIZE, 127, 0, 0);  

// Make sure our content type is PNG, otherwise it'll just
// display the image data as text.
header('Content-Type: image/png');

// Output to browser.
imagepng($img);

示例输入:

Small version of example image for posterity

示例输出:

Output of my example script