0

我有一个加载链接的简单页面,链接会改变图像的外观。我想要一个ajax调用来处理图像(像素化它或其他东西),然后更新一个div中的结果,但它没有正确显示,只是一个例如的集合���X!t��⤹9�Ej_5��-

我曾尝试header('Content-Type: image/jpg');在包含要填充的 div 的页面顶部使用,但这会导致“此图像无法显示,因为它有错误”

这是php:

$im = '/path/to/image.jpg';
if($_GET[filter]=="pixelate"){
imagefilter($im, IMG_FILTER_PIXELATE, 3, true);
imagejpeg($im);
}

AJAX

function addFilter(filter,color)
{
$.ajax({

 type: "GET",
 url: 'filters.php',
 data: {filter: filter, color: color},
 success: function(data) {
       // data is ur summary
      $('#result').html(data);
 }

});

}

和 HTML

<div style="width:600px; height:400px;" id="result"></div>
<a href="#" onclick="addFilter('pixelate','')">pixelate</a>

问题如何让图像显示?我是否必须将图像复制到临时目录才能将其显示为实际图像?

4

1 回答 1

0

改变:

$im = '/path/to/image.jpg';
if($_GET[filter]=="pixelate"){
    imagefilter($im, IMG_FILTER_PIXELATE, 3, true);
    imagejpeg($im);
}

至:

if($_GET[filter]=="pixelate"){
    $im = @imagecreatefromjpeg('/path/to/image.jpg');
    if ($im) {
        imagefilter($im, IMG_FILTER_PIXELATE, 3, true);
        header('Content-Type: image/jpg');
        imagejpeg($im);
        imagedestroy($im);
        exit;
    } else {
       echo 'Unable to create image from jpeg.';
       exit;
    }
}
于 2013-05-23T10:44:42.513 回答