| SunChase |
|
|---|---|
|
Предлагаю исправить нынешний механизм созданию Миниатюр на следующий :
В коде это будет выглядеть так :
function sed_createthumb($img_big, $img_small, $small_x, $small_y, $keepratio, $extension, $filen, $fsize, $textcolor, $textsize, $bgcolor, $bordersize, $jpegquality, $dim_priority)
{
if (!function_exists('gd_info'))
{ return; }
global $cfg;
$gd_supported = array('jpg', 'jpeg', 'png', 'gif');
switch($extension)
{
case 'gif':
$source = imagecreatefromgif($img_big);
break;
case 'png':
$source = imagecreatefrompng($img_big);
break;
default:
$source = imagecreatefromjpeg($img_big);
break;
}
$big_x = imagesx($source);
$big_y = imagesy($source);
if (!$keepratio)
{
$thumb_x = $small_x;
$thumb_y = $small_y;
}
elseif ($dim_priority=="Width" && $big_y<$big_x )
{
$thumb_x = $small_x;
$thumb_y = floor($big_y * ($small_x / $big_x));
}
elseif ($dim_priority=="Width" && $big_y>$big_x && $big_x<$small_x)
{
$thumb_x = floor($big_x * ($small_y / $big_y));
$thumb_y = $small_y;
}
elseif ($dim_priority=="Width")
{
$thumb_x = $small_x;
$thumb_y = floor($big_y * ($small_x / $big_x));
}
elseif ($small_y>$big_y && $small_x>$big_x)
{
$thumb_x = $big_x;
$thumb_y = $big_y;
}
else
{
$thumb_x = floor($big_x * ($small_y / $big_y));
$thumb_y = $small_y;
}
..................
}
В результате : Пишу такое предложение из личного наболевшего,где при маленьких изображениях создавалась "расплывчистая" миниатюра и т.д. На вопрос "А чё трудно вместо миниатюры использовать оригинал" отвечу сразу - оригинал оригиналом,а хочется чтобы и миниатюры всех изображений создавались с умом а не "как нибудь" [url=http://ka13.orgfree.com]KA13[/url] - The essence of creativity
|