我有以下两个路由:
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');
}
});
我遇到了一个标题为“imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error:”的错误,我正在努力找出问题所在,但是无法找到。
我使用的框架是“Laravel 4.2”,但我非常确定它与框架无关,因为函数是纯php。
简短概述
我正在尝试创建个人资料图片的缩略图,并将其合并到另一张图片中。在这样做时,我遇到了以下错误:imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error:
我已经在stackoverflow和google上搜索了类似于我的错误,但我无法找到并进行调试。
更新:
谢谢
FAQ :-
内存限制? ==> 我有足够的内存。
在函数中使用“@”隐藏错误? ==> 这并不重要。我仍然面临这个问题。
您是否尝试过其他图像? ==> 是的,我尝试过其他图像,并且成功了,只有“生成的缩略图”会出现问题。
我的问题 请尝试使用以下非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();
}
}
你可以看到错误信息。
谢谢。