2

我使用外部功能创建图像。

返回图像原始数据的函数:

function create_image()
{
    ...
    ImageJPEG($myimg,NULL,85);
    $imgdata = ob_get_contents(); 
    ob_end_clean();          
    return $imgdata;
}

我的脚本应该显示图像的样子:

$rawdata = create_image();
<img src="data:image/jpeg;base64,".base64_encode($rawdata)."" />

<img>现在标签中的图像不完整。如果我将质量设为 50(带有ImageJPEG($myimg,NULL,50);),图像将完全显示。如果我捕获原始数据并将其写入磁盘,则图像将在各种质量上都是完整的。

$rawdata = create_image();
$im = imagecreatefromstring($rawdata);
ImageJPEG($im,"./test.jpg",90);

只有在<img>标签中它不起作用。

有人知道为什么它不起作用吗?

4

1 回答 1

0

我个人从未使用过这种技术,我通常使用一个简单的图像标签和我的 image.jpg.php(例如)作为图像。为此,我将 aheader("Content-type: image/jpeg")放入图像文件中并简单地回显数据。

我真的从未尝试过使用原始数据,但我相信这将是可取的,尤其是在维护(和兼容性)方面。

于 2012-07-04T08:01:14.530 回答