У меня есть 2 следующих маршрута: -
Route::get('resize/avatar', function() {
$image = 'avatar.jpg';
$target_filename_here = 'thumbnail_'.$image;
$ffs = imagecreatefromjpeg($image);
$size = getimagesize($image);
$dst = imagecreatetruecolor(100,100);
$dds = imagecopyresampled($dst,$ffs,0,0,0,0,100,100,$size[0],$size[1]);
$dn = imagepng($dst,$target_filename_here); // adjust format as needed
imagedestroy($ffs);
imagedestroy($dst);
if($dds) {
return Redirect::to('color/');
} else {
return 'Failed to load the Profile Picture';
}
});
Route::get('color/', function() {
if(file_exists('thumbnail_avatar.jpg')) {
$dest = imagecreatefrompng('transcript.png');
$fn = imagecreatefromjpeg('thumbnail_avatar.jpg');
imagecopy($dest, $fn, 550, 830, 0, 0, imagesx($fn), imagesy($fn));
imagejpeg($dest,"test4.jpg",90);
imagedestroy($dest);
imagedestroy($fn);
return HTML::image('test4.jpg');
} else {
return Redirect::to('resize/avatar');
}
});
И я получаю ошибку в качестве заголовка, я пытаюсь понять, где я создаю проблему, но не могу ее найти.
Мой фреймворк, который я использую, это "Laravel 4.2", но я почти уверен, что он не имеет ничего общего с фреймворком, так как функции - это чистый php.
для TL;DR
Я пытаюсь создать миниатюру изображения профиля, а затем объединить ее с другим изображением. При этом я получаю :- imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error:
Я уже искал stackoverflow и google для ошибки, подобной моей, но я не могу найти и отладить.
Обновление:
Спасибо
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ :-
Лимит памяти? ==> У меня достаточно памяти.
Использование «@» в функции, чтобы скрыть ошибку? ==> Это не имеет значения. Я все еще сталкиваюсь с этой проблемой.
Вы пробовали другие образы? ==> Да, я пробовал другие изображения, и мне это удалось, это только создает проблему с «сгенерированным эскизом».
Мой вопрос Пожалуйста, попробуйте сами, используя приведенный ниже скрипт для не-laravel: -
function resizeImage() {
$image = 'avatar.jpg';
$target_filename_here = 'thumbnail_'.$image;
$ffs = imagecreatefromjpeg($image);
$size = getimagesize($image);
$dst = imagecreatetruecolor(100,100);
$dds = imagecopyresampled($dst,$ffs,0,0,0,0,100,100,$size[0],$size[1]);
$dn = imagepng($dst,$target_filename_here); // adjust format as needed
imagedestroy($ffs);
imagedestroy($dst);
if($dds) {
color();
} else {
return 'Failed to load the Profile Picture';
}
}
function colorCheck() {
if(file_exists('thumbnail_avatar.jpg')) {
$dest = imagecreatefrompng('transcript.png');
$fn = imagecreatefromjpeg('thumbnail_avatar.jpg');
imagecopy($dest, $fn, 550, 830, 0, 0, imagesx($fn), imagesy($fn));
imagejpeg($dest,"test4.jpg",90);
imagedestroy($dest);
imagedestroy($fn);
return HTML::image('test4.jpg');
} else {
resizeImage();
}
}
И вы можете увидеть ошибку.
Спасибо