2013-05-23 2 views
0

У меня есть простая страница, которая загружает ссылки, ссылки меняют внешний вид изображения. Я хочу, чтобы вызов ajax обрабатывал изображение (pixelate его или что-то другое), а затем обновлял результаты в div, но его не выполнял должным образом, просто набор, например. ���X!t��⤹9�Ej_5��-Изображение не отображается правильно в div после imagejpeg

Я попытался с помощью 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> 

ВОПРОС Как мне получить изображение для отображения? Должен ли я копировать изображение в временный каталог, чтобы показать его как фактическое изображение?

+0

Почему бы не просто изменить 'IMG src' со ссылкой вы зависший над использованием JQuery? – Steven

+0

@Steven Не уверен, что вы имеете в виду? –

+0

У вас есть DIV, содержащее изображение - право? 'И вы хотите изменить это изображение, когда вы нажимаете ссылку? – Steven

ответ

0

Изменение:

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

To:

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; 
    } 
} 
Смежные вопросы