我正在尝试从 URL 获取图像,然后将其保存到服务器。这是一个简单的任务,是的,但是这张图片具有透明度......问题是,当我将该文件保存到我的 PC 或当我尝试通过 PHP 获取并将其保存到我的服务器时,我会得到相同的结果:图像变得一团糟,透明度设置为黑色。图片的网址是:
http://cellufun.com/p/avatarimage/agb.aspx?i=Body|M04001|衬衫|M10020|
另一个奇怪的事情是我的浏览器说图像是 MIME 类型 image/png 但我不能使用 imagecreatefrompng(); 因为我收到“图像不是有效的 PNG”错误...
这是我的代码(我确实尝试了其他解决方案,这是我上次尝试的):
<?php
$result=file_get_contents("http://cellufun.com/p/avatarimage/agb.aspx?i=Body|F04001|Shirt|F10020|Pants|MO55|");
$img = imageCreateFromstring($result);
imageAlphaBlending($img, true);
imageSaveAlpha($img, true);
imagecolortransparent($img);
header("Content-type: image/png");
imagepng($img);
?>
哦,我只是在 copy() 函数上尝试了这张图片,但仍然得到相同的结果......看起来图像的大小比原始图像小......刚刚试过这个:
file_put_contents("files/test.png",file_get_contents($result));
并且仍然无法正常工作......所以它与图像本身有关,因为无论我尝试获取数据,它都不起作用。