我使用Soundcloud作为我的曲目。
我正在使用他们的jquery播放器在我的新网站上放置一个小部件,如右上图所示:
问题是,Souncloud提供的波形只是一种颜色:
我的目标:将此波形PNG从当前颜色更改为黑色,但是客户端。
我知道我可以使用PHP GD库改变一些东西,并且我已经使用以下代码在我的服务器上成功完成了测试图像: http://php.net/manual/en/function.imagefilter.php (搜索“IMG_FILTER_BRIGHTNESS”)
<?php
$im = imagecreatefrompng('hello.png');
if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, -255))
{
echo 'Image brightness changed.';
imagepng($im, 'hello.png');
imagedestroy($im);
}
else
{
echo 'Image brightness change failed.';
}
?>
完美无缺!但 它改变了我服务器上的实际图像!非常酷,但不可能......
显然我无法改变Soundcloud服务器上的图像(所有数据,图像,音乐来自API)
所以我正在寻找的是一种可以随时改变PNG客户端颜色的方法。我有很多曲目,所以基本上每次用户点击下一个或上一个曲线时,波形会在它之前和之前加载,它需要改变该图像的颜色: - ?
这可能吗?
在我的测试网站上查看播放器 (顺便说一句,那个样式很旧,但它的功能是正确的) http://marckremers.com/2011/ 注意,整个网站的效果超出了您的目的。还是WIP。
非常感谢
答案 0 :(得分:2)
这必须在客户端使用Javascript完成,无论是完全JS解决方案还是使用AJAX将其发送到PHP,然后接收最终图像。
你可以试试Pixastic JS库: http://www.pixastic.com/lib/docs/#intro
如果这不起作用,我会使用jQuery读取图像,使用JSRS / AJAX将其发送到PHP脚本,然后在页面上替换它。