ich setze das Album von Smartor ein und möchte zur besseren Thumbnail-Erstellung gerne ImageMagick anstatt GD einsetzen.
Dazu habe ich in der album_thumbail.php die Codezeilen:
Code: Alles auswählen
if (!$src)
{
$gd_errored = TRUE;
$pic_thumbnail = '';
}
else if( ($pic_width > $album_config['thumbnail_size']) or ($pic_height > $album_config['thumbnail_size']) )
{
// ----------------------------
// Resize it
// ----------------------------
if ($pic_width > $pic_height)
{
$thumbnail_width = $album_config['thumbnail_size'];
$thumbnail_height = $album_config['thumbnail_size'] * ($pic_height/$pic_width);
}
else
{
$thumbnail_height = $album_config['thumbnail_size'];
$thumbnail_width = $album_config['thumbnail_size'] * ($pic_width/$pic_height);
}
$thumbnail = ($album_config['gd_version'] == 1) ? @imagecreate($thumbnail_width, $thumbnail_height) : @imagecreatetruecolor($thumbnail_width, $thumbnail_height);
$resize_function = ($album_config['gd_version'] == 1) ? 'imagecopyresized' : 'imagecopyresampled';
@$resize_function($thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height);
}
else
{
$thumbnail = $src;
}
if (!$gd_errored)
{
if ($album_config['thumbnail_cache'] == 1)
{
// ------------------------
// Re-generate successfully. Write it to disk!
// ------------------------
$pic_thumbnail = $pic_filename;
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, ALBUM_CACHE_PATH . $pic_thumbnail, $album_config['thumbnail_quality']);
break;
case '.png':
@imagepng($thumbnail, ALBUM_CACHE_PATH . $pic_thumbnail);
break;
}
@chmod(ALBUM_CACHE_PATH . $pic_thumbnail, 0777);
}
// ----------------------------
// After write to disk, donot forget to send to browser also
// ----------------------------
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, '', $album_config['thumbnail_quality']);
break;
case '.png':
@imagepng($thumbnail);
break;
}
exit;
}
else
{
// ----------------------------
// It seems you have not GD installed :(
// ----------------------------
header('Content-type: image/jpeg');
readfile('images/nothumbnail.jpg');
exit;
}
}
Code: Alles auswählen
if (!$src)
{
$gd_errored = TRUE;
$pic_thumbnail = '';
}
else if( ($pic_width > $album_config['thumbnail_size']) or ($pic_height > $album_config['thumbnail_size']) )
{
// ----------------------------
// Resize it
// ----------------------------
if ($pic_width > $pic_height)
{
$thumbnail_width = $album_config['thumbnail_size'];
$thumbnail_height = $album_config['thumbnail_size'] * ($pic_height/$pic_width);
}
else
{
$thumbnail_height = $album_config['thumbnail_size'];
$thumbnail_width = $album_config['thumbnail_size'] * ($pic_width/$pic_height);
}
copy ( $src, $thumbnail );
@chmod ($outthumb, 0666);
$syscmd = "'/usr/bin/mogrify' -resize $thumbnail_width x $thumbnail_height -sharpen 0.5 -quality 90 $thumbnail ";
}
else
{
$thumbnail = $src;
}
if (!$gd_errored)
{
if ($album_config['thumbnail_cache'] == 1)
{
// ------------------------
// Re-generate successfully. Write it to disk!
// ------------------------
$pic_thumbnail = $pic_filename;
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, ALBUM_CACHE_PATH . $pic_thumbnail, $album_config['thumbnail_quality']);
break;
case '.png':
@imagepng($thumbnail, ALBUM_CACHE_PATH . $pic_thumbnail);
break;
}
@chmod(ALBUM_CACHE_PATH . $pic_thumbnail, 0777);
}
// ----------------------------
// After write to disk, donot forget to send to browser also
// ----------------------------
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, '', $album_config['thumbnail_quality']);
break;
case '.png':
@imagepng($thumbnail);
break;
}
exit;
}
else
{
// ----------------------------
// It seems you have not GD installed :(
// ----------------------------
header('Content-type: image/jpeg');
readfile('images/nothumbnail.jpg');
exit;
}
}
Der Pfad ist laut Auskunft meines Providers aber korrekt.
Was habe ich falsch gemacht?
Gruß
Sonnenblume